本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 Amazon Cloud Map 使用基于身份的策略(IAM 策略)
本主题提供了基于身份的策略的示例,这些示例演示了账户管理员如何将权限策略附加到 IAM 身份 (用户、组和角色),从而授予对上执行操作的权限。Amazon Cloud Map资源的费用。
我们建议您首先阅读一下介绍性主题,这些主题说明了管理对 Amazon Cloud Map 资源的访问的基本概念和选项。有关更多信息,请参阅管理 Amazon Cloud Map 资源的访问权限概述。
以下示例显示了一个权限策略,该策略向用户授予注册和取消注册服务实例的权限。Sid
或语句 ID 是可选的:
{ "Version": "2012-10-17", "Statement": [ { "Sid" : "AllowInstancePermissions", "Effect": "Allow", "Action": [ "servicediscovery:RegisterInstance", "servicediscovery:DeregisterInstance", "servicediscovery:DiscoverInstances", "servicediscovery:Get*", "servicediscovery:List*", "route53:GetHostedZone", "route53:ListHostedZonesByName", "route53:ChangeResourceRecordSets", "route53:CreateHealthCheck", "route53:GetHealthCheck", "route53:DeleteHealthCheck", "route53:UpdateHealthCheck", "ec2:DescribeInstances" ], "Resource": "*" } ] }
该策略授予注册和管理服务实例所需的操作的权限。如果您使用公有或私有 DNS 命名空间,则 Route 53 权限是必需的,因为Amazon Cloud Map在您注册和取消注册实例时创建、更新和删除 Route 53 记录和运行状况检查。中的通配符 (*)Resource
向所有授予访问权限Amazon Cloud Map实例和 Route 53 记录和运行状况检查,而当前版本所有Amazonaccount.
有关您为授予或拒绝使用每项操作的权限而指定的操作和 ARN 的列表,请参阅Amazon Cloud MapAPI 权限:操作、资源和条件参考。
使用 Amazon Cloud Map 控制台所需要的权限
要授予对 Amazon Cloud Map 控制台的完全访问权,您可以在以下权限策略中授予权限:
{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "servicediscovery:*", "route53:GetHostedZone", "route53:ListHostedZonesByName", "route53:CreateHostedZone", "route53:DeleteHostedZone", "route53:ChangeResourceRecordSets", "route53:CreateHealthCheck", "route53:GetHealthCheck", "route53:DeleteHealthCheck", "route53:UpdateHealthCheck", "ec2:DescribeInstances", "ec2:DescribeVpcs", "ec2:DescribeRegions" ], "Resource":"*" } ] }
下面是需要权限的原因:
servicediscovery:*
-
可让您执行所有 Amazon Cloud Map 操作。
route53:CreateHostedZone
,route53:GetHostedZone
,route53:ListHostedZonesByName
,route53:DeleteHostedZone
-
让 Amazon Cloud Map 在您创建和删除公有和私有 DNS 命名空间时管理托管区域。
route53:CreateHealthCheck
,route53:GetHealthCheck
,route53:DeleteHealthCheck
,route53:UpdateHealthCheck
-
让Amazon Cloud Map在您创建服务时包含 Amazon Route 53 运行状况检查的情况下管理运行状况检查。
ec2:DescribeVpcs
和ec2:DescribeRegions
-
让 Amazon Cloud Map 管理私有托管区域。
适用于 Amazon Cloud Map 的 Amazon 托管(预定义)策略
Amazon 通过提供由 Amazon 创建和管理的独立 IAM 策略来满足许多常用案例的要求。这些 Amazon 托管策略可针对常用案例授予必要的权限,使您免去调查所需权限的工作。有关更多信息,请参阅 IAM 用户指南中的 Amazon 托管策略。适用于Amazon Cloud Map,IAM 提供以下托管策略:
-
Amazon Web Services 云Map 发现实例访问— 授予对的访问权限Amazon Cloud Map DiscoverInstancesAPI 操作
-
Amazon Web Services 云Map 只读访问— 授予对所有的只读访问权限Amazon Cloud Map行动
-
Amazon Web Services 云Map 注册实例访问— 授予对命名空间和服务的只读访问权限,并授予注册和取消注册服务实例的权限
-
Amazon Web Services 云Map 完全访问— 提供对所有的完整访问权限Amazon Cloud Map行动
您可以通过登录到 IAM 控制台并在该控制台中搜索特定策略来查看这些权限策略。您还可以创建自定义 IAM 策略,以授予执行 Amazon Cloud Map API 操作的相关权限。您可以将这些自定义策略附加到需要这些权限的 IAM 用户或组。
客户托管策略示例
您可以创建自己的自定义 IAM 策略,以授予对的权限Amazon Cloud Map操作。您可以将这些自定义策略附加到需要指定权限的 IAM 用户或组。当您使用时,可使用这些策略Amazon Cloud MapAPI,AmazonSDK,或者AmazonCLI。以下示例显示了几个常见使用情形的权限。有关为用户授予 Amazon Cloud Map 的完全访问权限的策略,请参阅使用 Amazon Cloud Map 控制台所需要的权限。
示例 1:允许对全部进行读取访问Amazon Cloud Map资源
以下权限策略向用户授予对所有 Amazon Cloud Map 资源的只读访问权限:
{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "servicediscovery:Get*", "servicediscovery:List*", "servicediscovery:DiscoverInstances" ], "Resource":"*" } ] }
示例 2:允许创建所有类型的命名空间
以下权限策略允许用户创建所有类型的命名空间:
{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "servicediscovery:CreateHttpNamespace", "servicediscovery:CreatePrivateDnsNamespace", "servicediscovery:CreatePublicDnsNamespace", "route53:CreateHostedZone", "route53:GetHostedZone", "route53:ListHostedZonesByName", "ec2:DescribeVpcs", "ec2:DescribeRegions" ], "Resource":"*" } ] }