使用 IAM搭配 DynamoDB 的 CloudWatch 貢獻者洞察 - Amazon DynamoDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 IAM搭配 DynamoDB 的 CloudWatch 貢獻者洞察

第一次啟用 Amazon CloudWatch DynamoDB 的 Amazon Contributor Insights 時,DynamoDB 會自動為您建立 AWS Identity and Access Management (IAM) 服務連結角色。此角色 AWSServiceRoleForDynamoDBCloudWatchContributorInsights可讓 DynamoDB 代表您管理 CloudWatch Contributor Insights 規則。請勿刪除此服務連結角色。如果刪除,您所有管理的角色都不會再於您刪除資料表或全域次要索引時清理。

如需服務連結角色的詳細資訊,請參閱 IAM 使用者指南 中的使用服務連結角色

需要以下許可:

  • 若要啟用或停用 DynamoDB 的 CloudWatch Contributor Insights,您必須擁有資料表或索引的dynamodb:UpdateContributorInsights許可。

  • 若要檢視 DynamoDB 圖形的 CloudWatch Contributor Insights,您必須具有 cloudwatch:GetInsightRuleReport 許可。

  • 若要為指定的 DynamoDB 資料表或索引描述 DynamoDB 的 CloudWatch Contributor Insights,您必須具有 dynamodb:DescribeContributorInsights 許可。

  • 若要列出每個資料表和全域次要索引的 DynamoDB 狀態 CloudWatch 的 Contributor Insights,您必須具有 dynamodb:ListContributorInsights 許可。

範例:啟用或停用 DynamoDB 的 CloudWatch 貢獻者洞察

下列IAM政策授予許可,以啟用或停用 DynamoDB 的 CloudWatch 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/*" } ] }

對於以KMS金鑰加密的資料表,使用者需要具有 kms:解密許可,才能更新貢獻者洞察。

{ "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 Contributor Insights 規則報告。

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

範例:根據資源選擇性地套用 DynamoDB 許可的 CloudWatch 貢獻者洞察

下列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 Contributor Insights 使用服務連結角色

CloudWatch DynamoDB 的 Contributor Insights 使用 AWS Identity and Access Management (IAM) 服務連結角色 。服務連結角色是直接連結至 DynamoDB 專用 CloudWatch Contributor Insights 的唯一IAM角色類型。服務連結角色由 CloudWatch Contributor Insights for DynamoDB 預先定義,並包含服務 AWS 代表您呼叫其他服務所需的所有許可。

服務連結角色可讓您更輕鬆地為 DynamoDB 設定 CloudWatch Contributor Insights,因為您不需要手動新增必要的許可。DynamoDB 的 CloudWatch Contributor Insights 會定義其服務連結角色的許可,除非另有定義,否則只有 DynamoDB 的 CloudWatch Contributor Insights 可以擔任其角色。定義的許可包括信任政策和許可政策,該許可政策無法連接到任何其他IAM實體。

如需有關支援服務連結角色的其他 服務的資訊,請參閱服務連結角色欄中AWS 使用的服務IAM,並尋找具有 的服務。選擇具有連結的,以檢視該服務的服務連結角色文件。

DynamoDB 專用 CloudWatch Contributor Insights 的服務連結角色許可

CloudWatch 適用於 DynamoDB 的 Contributor Insights 使用名為 的服務連結角色AWSServiceRoleForDynamoDBCloudWatchContributorInsights。服務連結角色的目的是允許 Amazon DynamoDB 代表您管理為 DynamoDB 資料表和全域次要索引建立的 Amazon CloudWatch Contributor Insights 規則。

AWSServiceRoleForDynamoDBCloudWatchContributorInsights 服務連結角色信任下列服務以擔任角色:

  • contributorinsights.dynamodb.amazonaws.com

角色許可政策允許 DynamoDB 的 CloudWatch Contributor Insights 在指定的資源上完成下列動作:

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

您必須設定許可,以允許IAM實體 (例如使用者、群組或角色) 建立、編輯或刪除服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南 中的服務連結角色許可

為 DynamoDB 的 CloudWatch Contributor Insights 建立服務連結角色

您不需要手動建立一個服務連結角色。當您在 AWS Management Console、 AWS CLI或 中啟用 Contributor Insights for DynamoDB 時 AWS API, CloudWatch Contributor Insights 會為您建立服務連結角色。

若您刪除此服務連結角色,之後需要再次建立,您可以在帳戶中使用相同程序重新建立角色。當您啟用 Contributor Insights 時, CloudWatch Contributor Insights for DynamoDB 會再次為您建立服務連結角色。

編輯 DynamoDB 專用 CloudWatch Contributor Insights 的服務連結角色

CloudWatch DynamoDB 的 Contributor Insights 不允許您編輯AWSServiceRoleForDynamoDBCloudWatchContributorInsights服務連結角色。因為有各種實體可能會參考服務連結角色,所以您無法在建立角色之後變更角色名稱。不過,您可以使用 編輯角色的描述IAM。如需詳細資訊,請參閱 IAM 使用者指南 中的編輯服務連結角色

刪除 DynamoDB 專用 CloudWatch Contributor Insights 的服務連結角色

您不需要手動刪除 AWSServiceRoleForDynamoDBCloudWatchContributorInsights 角色。當您在 AWS Management Console、 AWS CLI或 中停用 Contributor Insights AWS API CloudWatch for DynamoDB 會清除資源。

您也可以使用IAM主控台、 AWS CLI 或 AWS API手動刪除服務連結角色。若要執行此操作,您必須先手動清除服務連結角色的資源,然後才能手動刪除它。

注意

如果您嘗試刪除資源時 CloudWatch ,Contributor Insights for DynamoDB 服務正在使用 角色,則刪除可能會失敗。若此情況發生,請等待數分鐘後並再次嘗試操作。

使用 手動刪除服務連結角色 IAM

使用IAM主控台 AWS CLI、 或 AWS API刪除AWSServiceRoleForDynamoDBCloudWatchContributorInsights服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南 中的刪除服務連結角色