All Products
Search
Document Center

File Storage NAS:RAM authorization

Last Updated:Dec 19, 2024
Resource Access Management (RAM) is a service provided by Alibaba Cloud to manage user identities and resource access permissions. You can use RAM to prevent RAM users from sharing the AccessKey pairs of your Alibaba Cloud account. You can also use RAM to grant minimum permissions to RAM users. RAM uses policies to define permissions.
This topic describes the elements, such as Action, Resource, and Condition, which are defined by NAS. You can use the elements to create policies in RAM. The code (RamCode) in RAM that is used to indicate NAS is [{"popCode":"NAS","ramCodes":["nas"]}]. You can grant permissions on NAS at the RESOURCE.

General structure of a policy

Policies can be stored as JSON files. The following code provides an example on the general structure of a policy:
{
  "Version": "1",
  "Statement": [
    {
      "Effect": "<Effect>",
      "Action": "<Action>",
      "Resource": "<Resource>",
      "Condition": {
        "<Condition_operator>": {
          "<Condition_key>": [
            "<Condition_value>"
          ]
        }
      }
    }
  ]
}
The following list describes the fields in the policy:
  • Effect: specifies the authorization effect. Valid values: Allow, Deny.
  • Action: specifies one or more API operations that are allowed or denied. For more information, see the Action section of this topic.
  • Resource: specifies one or more resources to which the policy applies. You can use an Alibaba Cloud Resource Name (ARN) to specify a resource. For more information, see the Resource section of this topic.
  • Condition: specifies one or more conditions that are required for the policy to take effect. This is an optional field. For more information, see the Condition section of this topic.
    • Condition_operator: specifies the conditional operators. Different types of conditions support different conditional operators. For more information, see Policy elements.
    • Condition_key: specifies the condition keys.
    • Condition_value: specifies the condition values.

Action

NAS defines the values that you can use in the Action element of a policy statement. The following table describes the values.
  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • API operation: the API operation that you can call to perform the operation.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition key: the condition keys that are defined by the Alibaba Cloud service. The Condition key column does not list the common condition keys that are defined by Alibaba Cloud. For more information about the common condition keys, see Generic Condition Keyword.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
ActionsAPI operationAccess levelResource typeCondition keyAssociated operation
nas:ListRecentlyRecycledDirectoriesListRecentlyRecycledDirectoriesget
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:ListDirectoriesAndFilesListDirectoriesAndFilesget
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:DisableNfsAclDisableNfsAclupdate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:DescribeAccessPointsDescribeAccessPointslist
All Resources
*
NoneNone
nas:CreateRecycleBinDeleteJobCreateRecycleBinDeleteJobdelete
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}
NoneNone
nas:ModifyAutoSnapshotPolicyModifyAutoSnapshotPolicyupdate
All Resources
*
NoneNone
nas:CreateAccessPointCreateAccessPointcreate
All Resources
*
NoneNone
nas:DescribeMountTargetsDescribeMountTargetsget
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:ModifySmbAclModifySmbAclupdate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:EnableSmbAclEnableSmbAclupdate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:DescribeSmbAclDescribeSmbAclget
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:GetRecycleBinAttributeGetRecycleBinAttributeget
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:ModifyLifecyclePolicyModifyLifecyclePolicyupdate
All Resources
*
NoneNone
nas:DeleteSnapshotDeleteSnapshotdelete
All Resources
*
NoneNone
nas:ModifyAccessRuleModifyAccessRuleupdate
AccessGroup
acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}
NoneNone
nas:UntagResourcesUntagResourcesdelete
All Resources
*
NoneNone
nas:DescribeMountedClientsDescribeMountedClientslist
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}
NoneNone
nas:DescribeLogAnalysisDescribeLogAnalysisget
All Resources
*
NoneNone
nas:DeleteLifecyclePolicyDeleteLifecyclePolicydelete
All Resources
*
NoneNone
nas:DeleteMountTargetDeleteMountTargetdelete
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:ApplyAutoSnapshotPolicyApplyAutoSnapshotPolicyupdate
All Resources
*
NoneNone
nas:CreateDirCreateDircreate
All Resources
*
NoneNone
nas:DescribeAccessGroupsDescribeAccessGroupslist
AccessGroup
acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}
NoneNone
nas:DeleteAccessGroupDeleteAccessGroupdelete
AccessGroup
acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}
NoneNone
nas:CreateFileSystemCreateFileSystemcreate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/*
nas:EncryptedType
nas:FileSystemType
None
nas:CancelDirQuotaCancelDirQuotadelete
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:DeleteAccessPointDeleteAccessPointdelete
All Resources
*
NoneNone
nas:UpgradeFileSystemUpgradeFileSystemupdate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:UpdateRecycleBinAttributeUpdateRecycleBinAttributeupdate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}
NoneNone
nas:CreateRecycleBinRestoreJobCreateRecycleBinRestoreJobcreate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}
NoneNone
nas:DisableAndCleanRecycleBinDisableAndCleanRecycleBinupdate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}
NoneNone
nas:SetFilesetQuotaSetFilesetQuotaupdate
All Resources
*
NoneNone
nas:ListRecycleBinJobsListRecycleBinJobsget
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}
NoneNone
nas:CancelLifecycleRetrieveJobCancelLifecycleRetrieveJobdelete
All Resources
*
NoneNone
nas:CreateLifecyclePolicyCreateLifecyclePolicycreate
All Resources
*
NoneNone
nas:DeleteFileSystemDeleteFileSystemdelete
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:ChangeResourceGroupChangeResourceGroupupdate
All Resources
*
NoneNone
nas:CreateLogAnalysisCreateLogAnalysiscreate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}
NoneNone
nas:ListRecycledDirectoriesAndFilesListRecycledDirectoriesAndFilesget
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:ListLifecycleRetrieveJobsListLifecycleRetrieveJobsget
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}
NoneNone
nas:DescribeDirQuotasDescribeDirQuotaslist
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:RetryLifecycleRetrieveJobRetryLifecycleRetrieveJobupdate
All Resources
*
NoneNone
nas:CreateMountTargetCreateMountTargetcreate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
VSwitch
acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}
vpc:Vpc
None
nas:CreateSnapshotCreateSnapshotcreate
Snapshot
acs:nas:{#regionId}:{#accountId}:snapshot/*
NoneNone
nas:DescribeAccessRulesDescribeAccessRuleslist
AccessGroup
acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}
NoneNone
nas:DescribeAutoSnapshotPoliciesDescribeAutoSnapshotPolicieslist
All Resources
*
NoneNone
nas:DeleteAccessRuleDeleteAccessRuledelete
AccessGroup
acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}
NoneNone
nas:EnableNfsAclEnableNfsAclupdate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:ModifyFileSystemModifyFileSystemupdate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:DescribeRegionsDescribeRegionsget
All Resources
*
NoneNone
nas:ListTagResourcesListTagResourcesget
All Resources
*
NoneNone
nas:DeleteLogAnalysisDeleteLogAnalysisdelete
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}
NoneNone
nas:EnableRecycleBinEnableRecycleBinupdate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:CreateLifecycleRetrieveJobCreateLifecycleRetrieveJobcreate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}
NoneNone
nas:TagResourcesTagResourcescreate
All Resources
*
NoneNone
nas:DescribeFileSystemsDescribeFileSystemsget
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}
NoneNone
nas:CancelRecycleBinJobCancelRecycleBinJobupdate
All Resources
*
NoneNone
nas:DescribeAccessPointDescribeAccessPointget
All Resources
*
NoneNone
nas:DescribeSnapshotsDescribeSnapshotsget
Snapshot
acs:nas:{#regionId}:{#accountId}:snapshot/*
NoneNone
nas:DisableSmbAclDisableSmbAclupdate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:CancelAutoSnapshotPolicyCancelAutoSnapshotPolicyupdate
All Resources
*
NoneNone
nas:GetDirectoryOrFilePropertiesGetDirectoryOrFilePropertiesget
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}
NoneNone
nas:DescribeNfsAclDescribeNfsAclget
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:ResetFileSystemResetFileSystemupdate
All Resources
*
NoneNone
nas:ModifyAccessGroupModifyAccessGroupupdate
AccessGroup
acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}
NoneNone
nas:SetDirQuotaSetDirQuotacreate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:CreateAutoSnapshotPolicyCreateAutoSnapshotPolicycreate
All Resources
*
NoneNone
nas:DescribeLifecyclePoliciesDescribeLifecyclePoliciesget
All Resources
*
NoneNone
nas:ModifyMountTargetModifyMountTargetupdate
FileSystem
acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
NoneNone
nas:CreateAccessGroupCreateAccessGroupcreate
AccessGroup
acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}
NoneNone
nas:DescribeAutoSnapshotTasksDescribeAutoSnapshotTaskslist
All Resources
*
NoneNone
nas:ModifyAccessPointModifyAccessPointupdate
All Resources
*
NoneNone
nas:CreateAccessRuleCreateAccessRulecreate
AccessGroup
acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}
NoneNone
nas:DescribeZonesDescribeZonesget
All Resources
*
NoneNone
nas:CreateFileCreateFilecreate
All Resources
*
NoneNone
nas:DeleteAutoSnapshotPolicyDeleteAutoSnapshotPolicydelete
All Resources
*
NoneNone

Resource

NAS defines the values that you can use in the Resource. You can attach the policy to a RAM user or a RAM role so that the RAM user or the RAM role can perform a specific operation on a specific resource. The ARN is the unique identifier of the resource on Alibaba Cloud. Take note of the following items:
  • {#}indicates a variable. {#} must be replaced with an actual value. For example, {#ramcode} must be replaced with the actual code of an Alibaba Cloud service in RAM.
  • An asterisk (*) is used as a wildcard. Examples:
    • {#resourceType} is set to *, all resources are specified.
    • {#regionId} is set to *, all regions are specified.
    • {#accountId} is set to *, all Alibaba Cloud accounts are specified.
Resource typeARN
FileSystemacs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
Snapshotacs:nas:{#regionId}:{#accountId}:snapshot/{#SnapshotId}
Filesetacs:nas:{#regionId}:{#accountId}:FileSystemId/{#FileSystemId}
LifecyclePolicyacs:nas:{#regionId}:{#accountId}:lifecyclepolicy/{#LifecycleRuleName}
AccessGroupacs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}
DataFlowacs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
Diskacs:ecs:{#regionId}:{#accountId}:disk/{#DiskId}
FileSystemacs:nas:{#regionId}:{#accountId}:filesystem/*
DataFlowacs:nas:{#regionId}:{#accountId}:FileSystemId/{#FileSystemId}
DataFlowacs:nas:{#regionId}:{#accountId}:dataflow/{#FileSystemId}/{#DataFlowId}
FileSystemacs:nas:{#regionId}:{#accountId}:FileSystemId/{#FileSystemId}
VSwitchacs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}
Snapshotacs:nas:{#regionId}:{#accountId}:snapshot/*
DataFlowacs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}/dataflow/{#DataFlowId}
Filesetacs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}
LifecyclePolicyacs:nas:{#regionId}:{#accountId}:lifecyclepolicy/*

Condition

NAS defines the values that you can use in the Condition element of a policy statement. The following table describes the values. The following table describes the service-specific condition keys. The common condition keys that are defined by Alibaba Cloud also apply to NAS. For more information about the common condition keys, see Generic Condition Keyword.
The data type determines the conditional operators that you can use to compare the value in a request with the value in a policy statement. You must use conditional operators that are supported by the data type. Otherwise, you cannot compare the value in the request with the value in the policy statement. In this case, the authorization is invalid. For more information about the conditional operators that are supported by each data type, see Policy elements.
Condition keyDescriptionData type
vpc:VpcARN of VPC instance. Example: acs:vpc:cn-hangzhou:0123456789:vpc/vpc-123456789String
nas:FileSystemTypeFile System TypeString
nas:EncryptedTypeFile system encryption typeString

What to do next

You can create a custom policy and attach the policy to a RAM user, RAM user group, or RAM role. For more information, see the following topics: