为 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通过提供由创建和管理的独立 IAM 策略来满足许多常用案例的要求。Amazon这些 Amazon 托管策略可针对常用案例授予必要的权限,使您免去调查所需权限的工作。有关更多信息,请参阅 IAM 用户指南中的 Amazon 托管策略。适用于Amazon Cloud Map,IAM 将提供以下托管策略:

  • Amazon 云映射发现实例访问— 授予对Amazon Cloud Map DiscoverInstancesAPI 操作

  • Amazon 云映射只读访问— 授予对所有的只读访问权限Amazon Cloud Map操作

  • Amazon 云映射注册实例访问— 授予对命名空间和服务的只读访问权限,并授予注册和取消注册服务实例的权限

  • Amazon 云映射完全访问— 提供对所有的完整访问权限Amazon Cloud Map操作

注意

您可以通过登录到 IAM 控制台并在该控制台中搜索特定策略来查看这些权限策略。您还可以创建自定义 IAM 策略,以授予执行 Amazon Cloud Map API 操作的相关权限。您可以将这些自定义策略附加到需要这些权限的 IAM 用户或组。

客户托管策略示例

您可以创建自己的自定义 IAM 策略,以授予Amazon Cloud Map操作。您可以将这些自定义策略附加到需要指定权限的 IAM 用户或组。当您使用时,可以使用这些策略。Amazon Cloud MapAPI,Amazon软件开发工具包或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":"*" } ] }