Usar o IAM com o CloudWatch Contributor Insights para DynamoDB - Amazon DynamoDB

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 em DynamoDBContributorInsights

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.