Amazon Transfer Family 基于标签的策略示例 - Amazon Transfer Family
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Transfer Family 基于标签的策略示例

以下是如何根据标签控制 Amazon Transfer Family 资源访问权限的示例。

使用标签控制对 Amazon Transfer Family 资源的访问

策略中的条件是所需语法的一部分,您可以使用它们指定对 资源的权限。您可以根据这些 Amazon Transfer Family 资源的标签来控制对这些资源(例如用户、服务器、角色和其他实体)的访问权限。标签是键值对。有关为资源添加标签的更多信息,请参阅中的为Amazon 资源添加标签Amazon Web Services 一般参考

在中 Amazon Transfer Family,资源可以有标签,有些操作可以包含标签。在创建 IAM 策略时,您可以使用标签条件键来控制以下:

  • 根据 Amazon Transfer Family 资源所具有的标签,哪些用户可以对资源执行操作。

  • 哪些标签可以在操作的请求中传递。

  • 是否特定标签键可在请求中使用。

通过使用基于标签的访问控制,您可以应用比 API 级别更精细的控制。与使用基于资源的访问控制相比,您还可以应用更多动态控制。您可以创建 IAM 策略,以允许或拒绝按请求中提供的标签(请求标签)执行操作。您还可以根据正在操作资源的标签(资源标签)创建 IAM 策略。通常,资源标签用于资源上已有的标签,请求标签用于向资源添加标签或从资源中删除标签。

有关标签条件键的完整请求和语义,请参阅《IAM 用户指南》中的使用标签控制访问。有关使用 API Gateway 指定 IAM 策略的详细信息,请参阅API Gateway 开发人员指南中的控制访问具有 IAM 权限的 API

示例 3:基于资源标签拒绝操作

您可根据标签拒绝资源上执行的操作。如果用户或服务器资源通过秘钥 stage 和值 prod标记,则以下示例策略拒绝TagResourceUntagResourceStartServerStopServerDescribeServer 以及 DescribeUser操作。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "transfer:TagResource", "transfer:UntagResource", "transfer:StartServer", "transfer:StopServer", "transfer:DescribeServer", "transfer:DescribeUser ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/stage": "prod" } } } ] }

示例 4:基于资源标签允许操作

您可根据标签拒绝资源上执行的操作。如果用户或服务器资源通过秘钥 stage 和值 prod标记,则以下示例策略拒绝TagResourceUntagResourceStartServerStopServerDescribeServer 以及 DescribeUser操作。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "transfer:TagResource", "transfer:UntagResource", "transfer:StartServer", "transfer:StopServer", "transfer:DescribeServer", "transfer:DescribeUser ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/stage": "prod" } } } ] }

示例 3:拒绝根据请求标签创建用户或服务器

以下示例策略包含两个语句。如果标签的成本中心密钥无值,则第一条语句拒绝对所有资源执行 CreateServer 操作。

如果标签的成本中心密钥包含除 1、2 或 3 之外的任何其他值,则第二条语句将拒绝 CreateServer 操作。

注意

此策略确实允许创建或删除包含costcenter秘钥和123 值的资源。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "transfer:CreateServer" ], "Resource": [ "*" ], "Condition": { "Null": { "aws:RequestTag/costcenter": "true" } } }, { "Effect": "Deny", "Action": "transfer:CreateServer", "Resource": [ "*" ], "Condition": { "ForAnyValue:StringNotEquals": { "aws:RequestTag/costcenter": [ "1", "2", "3" ] } } } ] }