在 Amazon FSx 上使用标签 - FSx for Lustre

在 Amazon FSx 上使用标签

您可以使用标签来控制对 Amazon FSx 资源的访问权限并实现基于属性的访问权限控制(ABAC)。要在创建期间对 Amazon FSx 资源应用标签,用户必须具有某些 AWS Identity and Access Management(IAM)权限。

在创建过程中授予标记资源的权限

您通过一些资源创建 Amazon FSx for Lustre API 操作在创建资源时指定标签。您可以使用这些资源标签来实现基于属性的访问权限控制(ABAC)。有关更多信息,请参阅《IAM 用户指南》中的什么是适用于 AWS 的 ABAC?

为使用户在创建时为资源添加标签,他们必须具有使用创建该资源的操作(如 fsx:CreateFileSystem)的权限。如果在资源创建操作中指定了标签,则 IAM 会对 fsx:TagResource 操作执行额外的授权,以验证用户是否具备创建标签的权限。因此,用户还必须具有使用 fsx:TagResource 操作的显式权限。

下面的示例策略允许用户创建文件系统并在特定 AWS 账户 中向其应用标签。

{ "Statement": [ { "Effect": "Allow", "Action": [ "fsx:CreateFileSystem", "fsx:TagResource" ], "Resource": [ "arn:aws:fsx:region:account-id:file-system/*" ] } ] }

同样,下面的策略允许用户在特定文件系统上创建备份,并在创建备份的过程中向备份应用任何标签。

{ "Statement": [ { "Effect": "Allow", "Action": [ "fsx:CreateBackup" ], "Resource": "arn:aws:fsx:region:account-id:file-system/file-system-id*" }, { "Effect": "Allow", "Action": [ "fsx:TagResource" ], "Resource": "arn:aws:fsx:region:account-id:backup/*" } ] }

仅当用户在资源创建时应用了标签的情况下,系统才会评估 fsx:TagResource 操作。因此,如果未在此请求中指定任何标签,则拥有创建资源权限(假定没有标记条件)的用户无需具备使用 fsx:TagResource 操作的权限。但是,如果用户不具备使用 fsx:TagResource 操作的权限而又试图创建带标签的资源,则请求将失败。

有关标记 Amazon FSx 资源的更多信息,请参阅标记 Amazon FSx for Lustre 资源。有关如何使用标签控制对 Amazon FSx for Lustre 资源的访问权限的更多信息,请参阅 使用标签控制对 Amazon FSx 资源的访问权限

使用标签控制对 Amazon FSx 资源的访问权限

要控制对 Amazon FSx 资源和操作的访问权限,您可以根据标签使用 IAM policy。您可以使用两种方法提供此类控制:

  • 您可以根据这些资源上的标签控制对 Amazon FSx 资源的访问权限。

  • 您可以控制在 IAM 请求条件中传递哪些标签。

有关如何使用标签控制对 AWS 资源的访问权限的信息,请参阅《IAM 用户指南》中的使用标签控制访问权限。有关在创建时标记 Amazon FSx 资源的更多信息,请参阅在创建过程中授予标记资源的权限。有关标记资源的更多信息,请参阅标记 Amazon FSx for Lustre 资源

根据资源上的标签控制访问权限

要控制用户或角色可以对 Amazon FSx 资源执行的操作,您可以使用资源上的标签。例如,您可能希望根据文件系统资源上的标签的键/值对允许或拒绝对该资源执行特定的 API 操作。

例 策略示例 – 提供特定标签时在上创建文件系统

只有当用户使用特定标签键值对标记文件系统时,此策略才允许用户创建文件系统,在本示例中为 key=Department, value=Finance

{ "Effect": "Allow", "Action": [ "fsx:CreateFileSystem", "fsx:TagResource" ], "Resource": "arn:aws:fsx:region:account-id:file-system/*", "Condition": { "StringEquals": { "aws:RequestTag/Department": "Finance" } } }
例 策略示例 – 仅在带有特定标签的文件系统上创建备份

此策略允许用户仅在标有键值对 key=Department, value=Finance 的文件系统上创建备份,并且将使用该 Deparment=Finance 标签创建备份。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "fsx:CreateBackup" ], "Resource": "arn:aws:fsx:region:account-id:file-system/*", "Condition": { "StringEquals": { "aws:ResourceTag/Department": "Finance" } } }, { "Effect": "Allow", "Action": [ "fsx:TagResource", "fsx:CreateBackup" ], "Resource": "arn:aws:fsx:region:account-id:backup/*", "Condition": { "StringEquals": { "aws:RequestTag/Department": "Finance" } } } ] }
例 策略示例 – 通过带有特定标签的备份创建带有特定标签的文件系统

此策略允许用户仅通过带有 Department=Finance 标签的备份创建带有 Department=Finance 标签的文件系统。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "fsx:CreateFileSystemFromBackup", "fsx:TagResource" ], "Resource": "arn:aws:fsx:region:account-id:file-system/*", "Condition": { "StringEquals": { "aws:RequestTag/Department": "Finance" } } }, { "Effect": "Allow", "Action": [ "fsx:CreateFileSystemFromBackup" ], "Resource": "arn:aws:fsx:region:account-id:backup/*", "Condition": { "StringEquals": { "aws:ResourceTag/Department": "Finance" } } } ] }
例 策略示例 – 删除带有特定标签的文件系统

此策略允许用户删除带有 Department=Finance 标签的文件系统。如果他们创建了最终备份,则必须使用 Department=Finance 标记。对于 FSx for Lustre 文件系统,用户需要拥有创建最终备份的 fsx:CreateBackup 权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "fsx:DeleteFileSystem" ], "Resource": "arn:aws:fsx:region:account-id:file-system/*", "Condition": { "StringEquals": { "aws:ResourceTag/Department": "Finance" } } }, { "Effect": "Allow", "Action": [ "fsx:CreateBackup", "fsx:TagResource" ], "Resource": "arn:aws:fsx:region:account-id:backup/*", "Condition": { "StringEquals": { "aws:RequestTag/Department": "Finance" } } } ] }
例 策略示例 – 在带有特定标签的文件系统上创建数据存储库任务

此策略允许用户创建带有 Department=Finance 标签的数据存储库任务,并且只能在带有 Department=Finance 标签的文件系统上创建该任务。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "fsx:CreateDataRepositoryTask" ], "Resource": "arn:aws:fsx:region:account-id:file-system/*", "Condition": { "StringEquals": { "aws:ResourceTag/Department": "Finance" } } }, { "Effect": "Allow", "Action": [ "fsx:CreateDataRepositoryTask", "fsx:TagResource" ], "Resource": "arn:aws:fsx:region:account-id:task/*", "Condition": { "StringEquals": { "aws:RequestTag/Department": "Finance" } } } ] }