将 IAM 与 DynamoDB 的 CloudWatch 贡献者见解结合使用 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

将 IAM 与 DynamoDB 的 CloudWatch 贡献者见解结合使用

首次为亚马逊 DynamoDB 启用 “亚马逊 CloudWatch 贡献者见解” 时,DynamoDB 会自动 Amazon Identity and Access Management 为您创建一个 (IAM) 服务相关角色。此角色允许 DynamoDB 代表您 CloudWatch 管理 “贡献者见解” 规则。AWSServiceRoleForDynamoDBCloudWatchContributorInsights不要删除该服务相关角色。如果删除,则删除表或全局二级索引时,将不再清理所有托管规则。

有关服务相关角色的更多信息,请参见 IAM 用户指南中的使用服务相关角色

需要以下权限:

  • 要启用或禁用 DynamoDB 的 “ CloudWatch 贡献者见解”,您必须dynamodb:UpdateContributorInsights拥有表或索引的权限。

  • 要查看 DynamoDB 图表的 CloudWatch 贡献者见解,您必须拥有权限。cloudwatch:GetInsightRuleReport

  • 要描述给定 DynamoDB 表或索引的 DynamoDB CloudWatch 贡献者见解,您必须拥有权限。dynamodb:DescribeContributorInsights

  • 要列出每个表和全局二级索引的 DynamoDB CloudWatch 贡献者见解状态,您必须拥有权限。dynamodb:ListContributorInsights

示例:启用或禁用 DynamoDB 的 CloudWatch 贡献者见解

以下 IAM 策略授予启用或禁用 DynamoDB 的 “ CloudWatch 贡献者见解” 的权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/contributorinsights.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBCloudWatchContributorInsights", "Condition": {"StringLike": {"iam:AWSServiceName": "contributorinsights.dynamodb.amazonaws.com"}} }, { "Effect": "Allow", "Action": [ "dynamodb:UpdateContributorInsights" ], "Resource": "arn:aws:dynamodb:*:*:table/*" } ] }

对于由 KMS 密钥加密的表,用户需要拥有 kms:Decrypt 权限才能更新 Contributor Insights。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/contributorinsights.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBCloudWatchContributorInsights", "Condition": {"StringLike": {"iam:AWSServiceName": "contributorinsights.dynamodb.amazonaws.com"}} }, { "Effect": "Allow", "Action": [ "dynamodb:UpdateContributorInsights" ], "Resource": "arn:aws:dynamodb:*:*:table/*" }, { "Effect": "Allow", "Resource": "arn:aws:kms:*:*:key/*", "Action": [ "kms:Decrypt" ], } ] }

示例:检索 CloudWatch贡献者见解规则报告

以下 IAM 政策授予检索 “ CloudWatch 贡献者见解” 规则报告的权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:GetInsightRuleReport" ], "Resource": "arn:aws:cloudwatch:*:*:insight-rule/DynamoDBContributorInsights*" } ] }

示例:根据资源有选择地应用 CloudWatch 贡献者洞察来获得 DynamoDB 权限

下面的 IAM 策略授予权限,允许 ListContributorInsightsDescribeContributorInsights 操作,拒绝针对特定全局二级索引的 UpdateContributorInsights 操作。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:ListContributorInsights", "dynamodb:DescribeContributorInsights" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "dynamodb:UpdateContributorInsights" ], "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/Books/index/Author-index" } ] }

在 DynamoDB 的 “ CloudWatch 贡献者见解” 中使用服务相关角色

CloudWatch 针对 DynamoDB Amazon Identity and Access Management 用户 (IAM) 服务相关角色的贡献者见解。服务相关角色是一种独特的 IAM 角色,直接链接到 DynamoDB 的 “ CloudWatch 贡献者见解”。服务相关角色由 CloudWatch DynamoDB 的 Contributor Insights 预定义,包括该服务代表您调用 Amazon 其他服务所需的所有权限。

服务相关角色可以更轻松地为 DynamoDB 设置 CloudWatch Contributor Insights,因为您无需手动添加必要的权限。 CloudWatch DynamoDB 的 “贡献者见解” 定义了其服务相关角色的权限,除非另有定义,否则只有 DynamoDB 的 “ CloudWatch 贡献者见解” 可以担任其角色。定义的权限包括信任策略和权限策略,而且权限策略不能附加到任何其它 IAM 实体。

有关支持服务相关角色的其他服务的信息,请参阅与 IAM 结合使用的 Amazon 服务,并查找服务相关角色列中显示为的服务。选择,可转到查看该服务的服务相关角色文档的链接。

DynamoDB CloudWatch 贡献者见解的服务相关角色权限

CloudWatch DynamoDB 的 “贡献者见解” 使用名为的服务相关角色。AWSServiceRoleForDynamoDBCloudWatchContributorInsights服务相关角色的目的是允许 Amazon DynamoDB 代表您 CloudWatch 管理为 DynamoDB 表和全球二级索引创建的 Amazon 贡献者见解规则。

AWSServiceRoleForDynamoDBCloudWatchContributorInsights 服务相关角色信任以下服务代入该角色:

  • contributorinsights.dynamodb.amazonaws.com

角色权限策略允许 CloudWatch DynamoDB 的 Contributor Insights 对指定资源完成以下操作:

  • 操作:DynamoDBContributorInsights 上的 Create and manage Insight Rules

必须配置权限,允许 IAM 实体(如用户、组或角色)创建、编辑或删除服务相关角色。有关更多信息,请参阅《IAM 用户指南》中的服务相关角色权限

为 DynamoDB 的 “ CloudWatch 贡献者见解” 创建服务相关角色

您无需手动创建服务相关角色。当你在 Amazon Web Services Management Console、或 Amazon API 中启用 “贡献者见解” 时 Amazon CLI,DynamoDB 的 “ CloudWatch 贡献者见解” 会为你创建服务相关角色。

如果您删除该服务相关角色,然后需要再次创建,您可以使用相同流程在账户中重新创建此角色。启用 “贡献者见解” 后,DynamoDB 的 “ CloudWatch 贡献者见解” 将再次为您创建服务相关角色。

为 DynamoDB 的 “ CloudWatch 贡献者见解” 编辑服务相关角色

CloudWatch DynamoDB 的 “贡献者见解” 不允许您编辑AWSServiceRoleForDynamoDBCloudWatchContributorInsights服务相关角色。创建服务相关角色后,您将无法更改角色的名称,因为可能有多种实体引用该角色。但是可以使用 IAM 编辑角色描述。有关更多信息,请参阅《IAM 用户指南》中的编辑服务相关角色

删除 DynamoDB CloudWatch 贡献者见解的服务相关角色

无需手动删除 AWSServiceRoleForDynamoDBCloudWatchContributorInsights 角色。当你在 Amazon Web Services Management Console、或 Amazon API 中禁用 “贡献者见解” 时 Amazon CLI,DynamoDB 的 “ CloudWatch 贡献者见解” 会清理资源。

您也可以使用 IAM 控制台、 Amazon CLI 或 Amazon API 手动删除服务相关角色。为此,必须先手动清除服务相关角色的资源,然后才能手动删除。

注意

如果您尝试删除资源时, CloudWatch DynamoDB 的 Contributor Insights 服务正在使用该角色,则删除可能会失败。如果发生这种情况,请等待几分钟后重试。

使用 IAM 手动删除服务相关角色

使用 IAM 控制台 Amazon CLI、或 Amazon API 删除AWSServiceRoleForDynamoDBCloudWatchContributorInsights服务相关角色。有关更多信息,请参见《IAM 用户指南》中的删除服务相关角色