为 Amazon Cloud Map 使用基于身份的策略(IAM 策略) - Amazon Cloud Map
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

为 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:DescribeVpcsec2: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":"*" } ] }