IAM と CloudWatch Contributor Insights for DynamoDB の使用
Amazon DynamoDB の Amazon CloudWatch Contributor Insights を初めて有効にすると、DynamoDB は AWS Identity and Access Management (IAM) サービスリンクロールを自動的に作成します。このロール (AWSServiceRoleForDynamoDBCloudWatchContributorInsights
) により、DynamoDB がユーザーに代わって CloudWatch Contributor Insights ルールを管理できます。このサービスリンクロールは削除しないでください。ロールを削除してしまうと、テーブルまたはグローバルセカンダリインデックスを削除したときに、すべてのユーザー管理ルールがクリーンアップされなくなります。
サービスリンクロールの詳細については、「IAM ユーザーガイド」の「サービスリンクロールの使用」を参照してください。
以下のアクセス権限が必要です。
-
CloudWatch Contributor Insights for DynamoDB を有効または無効にするには、テーブルまたはインデックスに対する
dynamodb:UpdateContributorInsights
許可が必要です。 -
DynamoDB グラフの CloudWatch Contributor Insights を表示するには、
cloudwatch:GetInsightRuleReport
の権限が必要です。 -
特定の DynamoDB テーブルまたはインデックスに関して、DynamoDB の CloudWatch Contributor Insights を記述するには、
dynamodb:DescribeContributorInsights
許可が必要です。 -
各テーブルおよびグローバルセカンダリインデックスに関して、DynamoDB ステータスの CloudWatch Contributor Insights を一覧表示するには、
dynamodb:ListContributorInsights
の権限が必要です。
例: DynamoDB の CloudWatch Contributor Insights を有効または無効にする
以下の 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 キーで暗号化されたテーブルの場合、Contributor Insights を更新するには、ユーザーが kms:Decrypt アクセス許可を持っている必要があります。
{ "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 Contributor Insights のルールレポートを取得する
以下の IAM ポリシーは、CloudWatch Contributor Insights のルールレポートを取得するための許可を付与します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:GetInsightRuleReport" ], "Resource": "arn:aws:cloudwatch:*:*:insight-rule/DynamoDBContributorInsights*" } ] }
例: リソースに基づいて DynamoDB の CloudWatch Contributor Insights の許可を選択的に適用する
以下の IAM ポリシーは、ListContributorInsights
と DescribeContributorInsights
のアクションを許可するアクセス権限を付与し、特定のグローバルセカンダリインデックスに対する 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" } ] }
CloudWatch Contributor Insights for DynamoDB のサービスリンクロールの使用
CloudWatch Contributor Insights for DynamoDB は、AWS Identity and Access Management (IAM) サービスリンクロールを使用します。サービスリンクロールは、CloudWatch Contributor Insights for DynamoDB に直接リンクされた一意のタイプの IAM ロールです。サービスリンクロールは、CloudWatch Contributor Insights for DynamoDB で事前定義され、ユーザーの代わりに該当サービスから他の AWS のサービスを呼び出すために必要なすべての許可が含まれされます。
サービスリンクロールを使用することで、必要なアクセス権限を手動で追加する必要がなくなるため、CloudWatch Contributor Insights for DynamoDB の設定が簡単になります。CloudWatch Contributor Insights for DynamoDB は、サービスリンクロールの許可を定義します。特に定義されている場合を除き、DynamoDB の CloudWatch Contributor Insights のみがそのロールを引き受けることができます。定義される許可は、信頼ポリシーと許可ポリシーに含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。
サービスリンクロールをサポートする他のサービスについては、「IAM と連携する AWS のサービス」を参照して、[Service-Linked Role] (サービスリンクロール) 列が [Yes] (はい) になっているサービスを探してください。サービスリンクロールに関するドキュメントをサービスで表示するには、[Yes] (はい) リンクを選択します。
CloudWatch Contributor Insights for DynamoDB のサービスリンクロールの許可
CloudWatch Contributor Insights for DynamoDB は、サービスリンクロール AWSServiceRoleForDynamoDBCloudWatchContributorInsights を使用します。サービスリンクロールの目的は、Amazon DynamoDB が DynamoDB テーブルおよびグローバルセカンダリインデックス用に作成された Amazon CloudWatch Contributor Insights ルールをユーザーに代わって管理できるようにすることです。
AWSServiceRoleForDynamoDBCloudWatchContributorInsights
サービスリンクロールは、ロールの引き受けについて以下のサービスを信頼します。
-
contributorinsights.dynamodb.amazonaws.com
このロールの許可ポリシーは、CloudWatch Contributor Insights for DynamoDB が指定されたリソースで以下のアクションを実行できるようにします。
-
アクション:
DynamoDBContributorInsights
上でCreate and manage Insight Rules
サービスにリンクされたロールの作成、編集、削除を IAM エンティティ (ユーザー、グループ、ロールなど) に許可するには、権限を設定する必要があります。詳細については、「IAM ユーザーガイド」の「Service-Linked Role Permissions」(サービスリンクロールのアクセス権限) を参照してください。
CloudWatch Contributor Insights for DynamoDB のサービスリンクロールの作成
サービスリンクロールを手動で作成する必要はありません。AWS Management Console、AWS CLI、または AWS API でコントリビューターインサイトを有効にすると、CloudWatch Contributor Insights for DynamoDB によってサービスリンクロールが作成されます。
このサービスリンクロールを削除した後で再度作成する必要が生じた場合は、同じ方法でアカウントにロールを再作成できます。Contributor Insights を有効にすると、CloudWatch Contributor Insights for DynamoDB によって、サービスリンクロールが再度作成されます。
CloudWatch Contributor Insights for DynamoDB のサービスリンクロールの編集
CloudWatch Contributor Insights for DynamoDB では、AWSServiceRoleForDynamoDBCloudWatchContributorInsights
サービスリンクロールを編集することはできません。サービスリンクロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、IAM を使用したロールの説明の編集はできます。詳細については、「IAM ユーザーガイド」の「サービスリンクロールの編集」を参照してください。
CloudWatch Contributor Insights for DynamoDB のサービスリンクロールの削除
AWSServiceRoleForDynamoDBCloudWatchContributorInsights
ロールを手動で削除する必要はありません。AWS Management Console、AWS CLI、または AWS API で Contributor Insights を無効にすると、CloudWatch Contributor Insights for DynamoDB によってリソースがクリーンアップされます。
サービスリンクロールは、IAM コンソール、AWS CLI、または AWS API を使用して手動で削除することもできます。そのためにはまず、サービスリンクロールのリソースをクリーンアップする必要があります。その後で、手動で削除できます。
注記
リソースを削除する際に、CloudWatch Contributor Insights for DynamoDB サービスでロールが使用されている場合、削除が失敗することがあります。失敗した場合は、数分待ってから再度オペレーションを実行してください。
IAM を使用してサービスリンクロールを手動で削除するには
IAM コンソール、AWS CLI、または AWS API を使用して、AWSServiceRoleForDynamoDBCloudWatchContributorInsights
サービスリンクロールを削除します。詳細については、 IAM ユーザーガイド の「サービスにリンクされたロールの削除」を参照してください。