本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
的 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 策略,将主体限制为只将特定资源类型与资源共享关联。
操作AssociateResourceShare
和CreateResourceShare
可以接受主体和resourceArns
作为独立的输入参数。因此,独立 AWS RAM 授权每个委托人和资源,因此可能会有多个请求上下文。这意味着,当委托人与 AWS RAM 资源共享关联时,ram:RequestedResourceType
条件键不存在于请求上下文中。同样,当资源与 AWS RAM 资源共享关联时,ram:Principal
条件键不存在于请求上下文中。因此,要允许AssociateResourceShare
和CreateResourceShare
在将委托人与 AWS RAM 资源共享关联时,可以使用Null
条件运算符。
例如,以下政策限制委托人只能共享 Amazon Route 53 解析器规则,并允许他们将任何委托人与该共享关联起来。
- 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"
}
}
}]
}