将标签与 Amazon EFS 一起使用
可以使用标签来控制对 Amazon EFS 资源的访问,并实现基于属性的访问权限控制(ABAC)。有关更多信息,请参阅:
《IAM 用户指南》中的什么是适用于 Amazon 的 ABAC?
注意
Amazon EFS 复制不支持将标签用于基于属性的访问权限控制(ABAC)。
要在创建期间对 Amazon EFS 资源应用标签,用户必须具有某些 Amazon Identity and Access Management(IAM)权限。
在创建过程中授予标记资源的权限
以下标签创建 Amazon EFS API 操作允许您在创建资源时指定标签。
-
CreateAccessPoint
-
CreateFileSystem
为使用户能够在创建时为资源添加标签,他们必须具有使用创建该资源的操作(如 elasticfilesystem:CreateAccessPoint
或 elasticfilesystem:CreateFileSystem
)的权限。如果在资源创建操作中指定了标签,则 Amazon Web Services 会对 elasticfilesystem:TagResource
操作执行额外的授权,以验证用户是否具备创建标签的权限。因此,用户还必须具有使用 elasticfilesystem:TagResource
操作的显式权限。
在 elasticfilesystem:TagResource
操作的 IAM policy 定义中,使用带有 Condition
条件键的 elasticfilesystem:CreateAction
元素,为创建资源的操作授予添加标签的权限。
例 策略:仅允许在创建时向文件系统添加标签
下面的示例策略允许用户创建文件系统,并在创建期间向文件系统应用标签。用户无权标记任何现有资源 (他们无法直接调用 elasticfilesystem:TagResource
操作)。
{ "Statement": [ { "Effect": "Allow", "Action": [ "elasticfilesystem:CreateFileSystem" ], "Resource": "arn:aws:elasticfilesystem:
region
:account-id
:file-system/*" }, { "Effect": "Allow", "Action": [ "elasticfilesystem:TagResource" ], "Resource": "arn:aws:elasticfilesystem:region
:account-id
:file-system/*", "Condition": { "StringEquals": { "elasticfilesystem:CreateAction": "CreateFileSystem" } } } ] }
使用标签控制对 Amazon EFS 资源的访问权限
要控制对 Amazon EFS 资源和操作的访问权限,您可以根据标签使用 IAM 策略。您可以使用两种方法提供此类控制:
-
您可以根据这些资源上的标签控制对 Amazon EFS 资源的访问权限。
-
您可以控制在 IAM 请求条件中传递哪些标签。
有关如何使用标签控制对 Amazon 资源的访问权限的信息,请参阅《IAM 用户指南》中的使用标签控制访问权限。
根据资源上的标签控制访问
要控制用户或角色可以对 Amazon EFS 资源执行的操作,您可以使用资源上的标签。例如,您可能希望根据文件系统资源上的标签的键/值对允许或拒绝对该资源执行特定的 API 操作。
例 策略:仅在使用特定标签时创建文件系统
只有当用户使用特定标签键值对标记文件系统时,以下示例策略才允许用户创建文件系统,在本示例中为 key=Department
,value=Finance
。
{ "Effect": "Allow", "Action": [ "elasticfilesystem:CreateFileSystem", "elasticfilesystem:TagResource" ], "Resource": "arn:aws:elasticfilesystem:
region
:account-id
:file-system/*", "Condition": { "StringEquals": { "aws:RequestTag/Department": "Finance" } } }
例 策略:删除带有特定标签的文件系统
以下示例策略只允许用户删除带有 Department=Finance
标签的文件系统。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticfilesystem:DeleteFileSystem" ], "Resource": "arn:aws:elasticfilesystem:
region
:account-id
:file-system/*", "Condition": { "StringEquals": { "aws:ResourceTag/Department": "Finance" } } } ] }