Local Users - Create Or Update
Create or update the properties of a local user associated with the storage account. Properties for NFSv3 enablement and extended groups cannot be set with other properties.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}?api-version=2024-01-01
URI Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
|
account
|
path | True |
string minLength: 3maxLength: 24 pattern: ^[a-z0-9]+$ |
The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. |
|
resource
|
path | True |
string minLength: 1maxLength: 90 pattern: ^[-\w\._\(\)]+$ |
The name of the resource group within the user's subscription. The name is case insensitive. |
|
subscription
|
path | True |
string minLength: 1 |
The ID of the target subscription. |
|
username
|
path | True |
string minLength: 3maxLength: 64 |
The name of local user. The username must contain lowercase letters and numbers only. It must be unique only within the storage account. |
|
api-version
|
query | True |
string minLength: 1 |
The API version to use for this operation. |
Request Body
| Name | Type | Description |
|---|---|---|
| properties.allowAclAuthorization |
boolean |
Indicates whether ACL authorization is allowed for this user. Set it to false to disallow using ACL authorization. |
| properties.extendedGroups |
integer[] (int32) |
Supplementary group membership. Only applicable for local users enabled for NFSv3 access. |
| properties.groupId |
integer (int32) |
An identifier for associating a group of users. |
| properties.hasSharedKey |
boolean |
Indicates whether shared key exists. Set it to false to remove existing shared key. |
| properties.hasSshKey |
boolean |
Indicates whether ssh key exists. Set it to false to remove existing SSH key. |
| properties.hasSshPassword |
boolean |
Indicates whether ssh password exists. Set it to false to remove existing SSH password. |
| properties.homeDirectory |
string |
Optional, local user home directory. |
| properties.isNFSv3Enabled |
boolean |
Indicates if the local user is enabled for access with NFSv3 protocol. |
| properties.permissionScopes |
The permission scopes of the local user. |
|
| properties.sshAuthorizedKeys |
Optional, local user ssh authorized keys for SFTP. |
Responses
| Name | Type | Description |
|---|---|---|
| 200 OK |
OK -- Put local user successfully. |
|
| Other Status Codes |
Error response describing why the operation failed. |
Security
azure_auth
Azure Active Directory OAuth2 Flow
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
| Name | Description |
|---|---|
| user_impersonation | impersonate your user account |
Examples
|
Create |
|
Create |
|
Update |
CreateLocalUser
Sample request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/localUsers/user1?api-version=2024-01-01
{
"properties": {
"permissionScopes": [
{
"permissions": "rwd",
"service": "file",
"resourceName": "share1"
},
{
"permissions": "rw",
"service": "file",
"resourceName": "share2"
}
],
"homeDirectory": "homedirectory",
"hasSshPassword": true,
"sshAuthorizedKeys": [
{
"description": "key name",
"key": "ssh-rsa keykeykeykeykey="
}
],
"groupId": 2000,
"allowAclAuthorization": true
}
}
Sample response
{
"id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/loalUsers/user1",
"name": "user1",
"type": "Microsoft.Storage/storageAccounts/localUsers",
"properties": {
"permissionScopes": [
{
"permissions": "rwd",
"service": "file",
"resourceName": "share1"
},
{
"permissions": "rw",
"service": "file",
"resourceName": "share2"
}
],
"homeDirectory": "homedirectory",
"sshAuthorizedKeys": [
{
"description": "key name",
"key": "ssh-rsa keykeykeykeykey="
}
],
"sid": "S-1-2-0-125132-153423-36235-1000",
"userId": 1000,
"groupId": 2000,
"allowAclAuthorization": true
}
}
CreateNFSv3EnabledLocalUser
Sample request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/localUsers/user1?api-version=2024-01-01
{
"properties": {
"extendedGroups": [
1001,
1005,
2005
],
"isNFSv3Enabled": true
}
}
Sample response
{
"id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/loalUsers/user1",
"name": "user1",
"type": "Microsoft.Storage/storageAccounts/localUsers",
"properties": {
"permissionScopes": [
{
"permissions": "rwd",
"service": "file",
"resourceName": "share1"
},
{
"permissions": "rw",
"service": "file",
"resourceName": "share2"
}
],
"homeDirectory": "homedirectory",
"sshAuthorizedKeys": [
{
"description": "key name",
"key": "ssh-rsa keykeykeykeykey="
}
],
"sid": "S-1-2-0-125132-153423-36235-1000",
"userId": 1000,
"groupId": 2000,
"allowAclAuthorization": true,
"extendedGroups": [
1001,
1005,
2005
],
"isNFSv3Enabled": true
}
}
UpdateLocalUser
Sample request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/localUsers/user1?api-version=2024-01-01
{
"properties": {
"homeDirectory": "homedirectory2",
"hasSharedKey": false,
"hasSshPassword": false,
"hasSshKey": false,
"groupId": 3000,
"allowAclAuthorization": false,
"extendedGroups": [
1001,
1005,
2005
],
"isNFSv3Enabled": true
}
}
Sample response
{
"id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/loalUsers/user1",
"name": "user1",
"type": "Microsoft.Storage/storageAccounts/localUsers",
"properties": {
"homeDirectory": "homedirectory2",
"sid": "S-1-2-0-3528686663-1788730862-2791910117-1000",
"hasSharedKey": false,
"hasSshPassword": false,
"hasSshKey": false,
"userId": 1000,
"groupId": 3000,
"allowAclAuthorization": false,
"extendedGroups": [
1001,
1005,
2005
],
"isNFSv3Enabled": true
}
}
Definitions
| Name | Description |
|---|---|
|
created |
The type of identity that created the resource. |
|
Error |
An error response from the storage resource provider. |
|
Error |
Error response body contract. |
|
Local |
The local user associated with the storage accounts. |
|
Permission |
|
|
Ssh |
|
|
system |
Metadata pertaining to creation and last modification of the resource. |
createdByType
The type of identity that created the resource.
| Value | Description |
|---|---|
| User | |
| Application | |
| ManagedIdentity | |
| Key |
ErrorResponse
An error response from the storage resource provider.
| Name | Type | Description |
|---|---|---|
| error |
Azure Storage Resource Provider error response body. |
ErrorResponseBody
Error response body contract.
| Name | Type | Description |
|---|---|---|
| code |
string |
An identifier for the error. Codes are invariant and are intended to be consumed programmatically. |
| message |
string |
A message describing the error, intended to be suitable for display in a user interface. |
LocalUser
The local user associated with the storage accounts.
| Name | Type | Description |
|---|---|---|
| id |
string |
Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
| name |
string |
The name of the resource |
| properties.allowAclAuthorization |
boolean |
Indicates whether ACL authorization is allowed for this user. Set it to false to disallow using ACL authorization. |
| properties.extendedGroups |
integer[] (int32) |
Supplementary group membership. Only applicable for local users enabled for NFSv3 access. |
| properties.groupId |
integer (int32) |
An identifier for associating a group of users. |
| properties.hasSharedKey |
boolean |
Indicates whether shared key exists. Set it to false to remove existing shared key. |
| properties.hasSshKey |
boolean |
Indicates whether ssh key exists. Set it to false to remove existing SSH key. |
| properties.hasSshPassword |
boolean |
Indicates whether ssh password exists. Set it to false to remove existing SSH password. |
| properties.homeDirectory |
string |
Optional, local user home directory. |
| properties.isNFSv3Enabled |
boolean |
Indicates if the local user is enabled for access with NFSv3 protocol. |
| properties.permissionScopes |
The permission scopes of the local user. |
|
| properties.sid |
string |
A unique Security Identifier that is generated by the server. |
| properties.sshAuthorizedKeys |
Optional, local user ssh authorized keys for SFTP. |
|
| properties.userId |
integer (int32) |
A unique Identifier that is generated by the server. |
| systemData |
Metadata pertaining to creation and last modification of the resource. |
|
| type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
PermissionScope
| Name | Type | Description |
|---|---|---|
| permissions |
string |
The permissions for the local user. Possible values include: Read (r), Write (w), Delete (d), List (l), Create (c), Modify Ownership (o), and Modify Permissions (p). |
| resourceName |
string |
The name of resource, normally the container name or the file share name, used by the local user. |
| service |
string |
The service used by the local user, e.g. blob, file. |
SshPublicKey
| Name | Type | Description |
|---|---|---|
| description |
string |
Optional. It is used to store the function/usage of the key |
| key |
string |
Ssh public key base64 encoded. The format should be: '<keyType> <keyData>', e.g. ssh-rsa AAAABBBB |
systemData
Metadata pertaining to creation and last modification of the resource.
| Name | Type | Description |
|---|---|---|
| createdAt |
string (date-time) |
The timestamp of resource creation (UTC). |
| createdBy |
string |
The identity that created the resource. |
| createdByType |
The type of identity that created the resource. |
|
| lastModifiedAt |
string (date-time) |
The timestamp of resource last modification (UTC) |
| lastModifiedBy |
string |
The identity that last modified the resource. |
| lastModifiedByType |
The type of identity that last modified the resource. |