Usar o IAM com o CloudWatch Contributor Insights para DynamoDB
Na primeira vez que você habilitar o Amazon CloudWatch Contributor Insights para DynamoDB, o Amazon DynamoDB criará automaticamente uma função vinculada ao serviço do AWS Identity and Access Management (IAM) para você. Essa função AWSServiceRoleForDynamoDBCloudWatchContributorInsights
permite que o DynamoDB gerencie as regras do CloudWatch Contributor Insights em seu nome. Não exclua essa função vinculada ao serviço. Se você excluí-la, todas as regras gerenciadas não serão mais removidas quando excluir a tabela ou o índice secundário global.
Para obter mais informações sobre funções vinculadas a serviços, consulte Usando funções vinculadas a serviços no Guia do Usuário do IAM.
As seguintes permissões são necessárias:
-
Para habilitar ou desabilitar o CloudWatch Contributor Insights para DynamoDB, é necessário ter a permissão
dynamodb:UpdateContributorInsights
na tabela ou no índice. -
Para visualizar os gráficos do CloudWatch Contributor Insights para DynamoDB, é necessário ter a permissão
cloudwatch:GetInsightRuleReport
. -
Para descrever o CloudWatch Contributor Insights para DynamoDB para determinada tabela ou índice do DynamoDB, é necessário ter a permissão
dynamodb:DescribeContributorInsights
. -
Para listar os status do CloudWatch Contributor Insights para DynamoDB para cada tabela e cada índice secundário global, é necessário ter a permissão
dynamodb:ListContributorInsights
.
Exemplo: ativar ou desativar o CloudWatch Contributor Insights para DynamoDB
A política do IAM a seguir concede permissões para ativar ou desativar o CloudWatch Contributor Insights para DynamoDB.
{ "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/*" } ] }
Para tabelas criptografadas pela chave do KMS, o usuário precisa ter permissões kms:Decrypt para atualizar o 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" ], } ] }
Exemplo: recuperar o relatório de regras do CloudWatch Contributor Insights
A política do IAM a seguir concede permissões para recuperar o relatório de regras do CloudWatch Contributor Insights.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:GetInsightRuleReport" ], "Resource": "arn:aws:cloudwatch:*:*:insight-rule/DynamoDBContributorInsights*" } ] }
Exemplo: aplicar seletivamente o CloudWatch Contributor Insights para permissões do DynamoDB com base em recurso
A política do IAM a seguir permite as ações ListContributorInsights
e DescribeContributorInsights
e nega a ação UpdateContributorInsights
para um índice secundário global específico.
{ "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" } ] }
Usar funções vinculadas ao serviço para o CloudWatch Contributor Insights para DynamoDB
O CloudWatch Contributor Insights para DynamoDB usa funções vinculadas ao serviço do AWS Identity and Access Management (IAM). Uma função vinculada ao serviço é um tipo exclusivo de perfil do IAM que é vinculado diretamente ao CloudWatch Contributor Insights para DynamoDB. As funções vinculadas ao serviço são predefinidas pelo CloudWatch Contributor Insights para DynamoDB e incluem todas as permissões que o serviço requer para chamar outros serviços da AWS em seu nome.
Uma função vinculada ao serviço facilita a configuração do CloudWatch Contributor Insights para DynamoDB porque você não precisa adicionar as permissões necessárias manualmente. O CloudWatch Contributor Insights para DynamoDB define as permissões de suas funções vinculadas ao serviço e, exceto se definido de outra forma, somente o CloudWatch Contributor Insights para DynamoDB poderá assumir suas funções. As permissões definidas incluem a política de confiança e a política de permissões, que não pode ser anexada a nenhuma outra entidade do IAM.
Para obter informações sobre outros serviços compatíveis com funções vinculadas a serviços, consulte Serviços da AWS compatíveis com o IAM e procure os serviços que contenham Sim na coluna Função vinculada ao serviço. Escolha um Sim com um link para visualizar a documentação da função vinculada a esse serviço.
Permissões de funções vinculadas ao serviço para o CloudWatch Contributor Insights para DynamoDB
O CloudWatch Contributor Insights para DynamoDB usa a função vinculada ao serviço chamada AWSServiceRoleForDynamoDBCloudWatchContribuorInsights. O objetivo da função vinculada ao serviço é permitir que o Amazon DynamoDB gerencie as regras do Amazon CloudWatch Contributor Insights criadas para tabelas do e índices secundários globais do DynamoDB em seu nome.
A função vinculada ao serviço AWSServiceRoleForDynamoDBCloudWatchContributorInsights
confia nos seguintes serviços para aceitar a função:
-
contributorinsights.dynamodb.amazonaws.com
A política de permissões da função permite que o CloudWatch Contributor Insights para DynamoDB conclua as seguintes ações nos recursos especificados:
-
Ação:
Create and manage Insight Rules
emDynamoDBContributorInsights
Você deve configurar permissões para que uma entidade do IAM (por exemplo, um usuário, grupo ou função) crie, edite ou exclua uma função vinculada a serviço. Para mais informações, consulte Permissões de perfil vinculado ao serviço no Guia do usuário do IAM.
Criar uma função vinculada ao serviço para o CloudWatch Contributor Insights para DynamoDB
Não é necessário criar manualmente uma função vinculada ao serviço. Quando você habilita o Colaborador Insights via AWS Management Console, AWS CLI ou AWS API, o CloudWatch Contributor Insights para DynamoDB cria uma função vinculada ao serviço para você.
Se excluir essa função vinculada ao serviço e precisar criá-la novamente, você poderá usar esse mesmo processo para recriar a função em sua conta. Quando você habilita o Contributor Insights, o CloudWatch Contributor Insights para DynamoDB cria uma função vinculada ao serviço para você mais uma vez.
Editar uma função vinculada ao serviço para o CloudWatch Contributor Insights para DynamoDB
O CloudWatch Contributor Insights para DynamoDB não permite editar a função vinculada ao serviço AWSServiceRoleForDynamoDBCloudWatchContributorInsights
. Depois que criar um perfil vinculado ao serviço, você não poderá alterar o nome do perfil, pois várias entidades podem fazer referência a ele. No entanto, será possível editar a descrição do perfil usando o IAM. Para ter mais informações, consulte Editar um perfil vinculado ao serviço no Guia do usuário do IAM.
Excluir uma função vinculada ao serviço para o CloudWatch Contributor Insights para DynamoDB
Você não precisa excluir manualmente a função AWSServiceRoleForDynamoDBCloudWatchContributorInsights
. Quando você desabilita o Contributor Insights via AWS Management Console, AWS CLI ou AWS API, o CloudWatch Contributor Insights para DynamoDB limpa os recursos.
Também é possível usar o console do IAM, a AWS CLI ou a API da AWS para excluir manualmente a função vinculada ao serviço. Para isso, primeiro você deve limpar manualmente os recursos de sua função vinculada ao serviço e depois excluí-la manualmente.
nota
Se o serviço CloudWatch Contributor Insights para DynamoDB estiver usando a função quando você tentar excluir os recursos, poderá haver falha na exclusão. Se isso acontecer, espere alguns minutos e tente a operação novamente.
Como excluir manualmente a função vinculada a serviço usando o IAM
Use o console do IAM, a AWS CLI ou a API da AWS para excluir a função vinculada ao serviço AWSServiceRoleForDynamoDBCloudWatchContributorInsights
. Para obter mais informações, consulte Excluir um perfil vinculado ao serviço no Guia do usuário do IAM.