的 IAM 策略示例AWS RAM - AWS Resource Access Manager

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

的 IAM 策略示例AWS RAM

本主题包括用于AWS RAM演示共享特定资源和资源类型以及限制共享的 IAM 策略示例。

示例 1:允许共享特定资源

您可以使用 IAM 权限策略,将主体限制为只将特定资源与资源共享关联。

例如,以下策略将主体限制为只与指定的 Amazon 资源名称(ARN)共享解析程序规则。如果请求不包含 ResourceArn 参数,或者请求中包含该参数,且其值与指定的 ARN 完全匹配,则运算符 StringEqualsIfExists 允许该请求。

有关何时以及为何使用...IfExists运算符的更多信息,请参阅... IfExists IAM 用户指南中的条件运算符

JSON
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": ["ram:CreateResourceShare", "ram:AssociateResourceShare"], "Resource": "*", "Condition": { "StringEqualsIfExists": { "ram:ResourceArn": "arn:aws:route53resolver:us-west-2:123456789012:resolver-rule/rslvr-rr-5328a0899aexample" } } }] }

示例 2:允许共享特定资源类型

您可以使用 IAM 策略,将主体限制为只将特定资源类型与资源共享关联。

操作、AssociateResourceShareCreateResourceShare 可以接受主体和 resourceArns 作为独立输入参数。因此,独立AWS RAM授权每个委托人和资源,因此可能会有多个请求上下文。这意味着,当主体与AWS RAM资源共享关联时,请求上下文中不存在 ram:RequestedResourceType 条件键。同样,当资源与AWS RAM资源共享关联时,请求上下文中不存在 ram:Principal 条件键。因此,要允许AssociateResourceShareCreateResourceShare在将委托人与AWS RAM资源共享关联时,可以使用Null条件运算符。

例如,以下策略将主体限制为只共享 Amazon Route 53 Resolver 规则,并允许主体将任何主体与该共享关联。

JSON
{ "Version":"2012-10-17", "Statement": [{ "Sid": "AllowOnlySpecificResourceType", "Effect": "Allow", "Action": ["ram:CreateResourceShare", "ram:AssociateResourceShare"], "Resource": "*", "Condition": { "StringEquals": { "ram:RequestedResourceType": "route53resolver:ResolverRule" } } }, { "Sid": "AllowAssociatingPrincipals", "Effect": "Allow", "Action": ["ram:CreateResourceShare", "ram:AssociateResourceShare"], "Resource": "*", "Condition": { "Null": { "ram:Principal": "false" } } } ] }

示例 3:限制与外部共享AWS 账户

您可以使用 IAM 策略来防止委托人与AWS 账户其AWS组织之外的人员共享资源。

例如,以下 IAM 策略禁止委托人AWS 账户向资源共享添加外部资源。

JSON
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ram:CreateResourceShare", "Resource": "*", "Condition": { "Bool": { "ram:RequestedAllowsExternalPrincipals": "false" } } }] }