Uso de IAM con CloudWatch Contributor Insights for DynamoDB - Amazon DynamoDB

Uso de IAM con CloudWatch Contributor Insights for DynamoDB

La primera vez que habilita Amazon CloudWatch Contributor Insights for Amazon DynamoDB, DynamoDB le crea automáticamente un rol vinculado a servicio de AWS Identity and Access Management (IAM). Este rol, AWSServiceRoleForDynamoDBCloudWatchContributorInsights, permite que DynamoDB administre las reglas de CloudWatch Contributor Insights por usted. No elimine este rol vinculado a un servicio. Si lo elimina, todas las reglas administradas dejarán de limpiarse cuando se elimine la tabla o el índice secundario global.

Para obtener más información acerca los roles vinculados a servicios, consulte Uso de roles vinculados a servicios en la Guía del usuario de IAM.

Los siguientes permisos son necesarios:

  • Para habilitar o desactivar CloudWatch Contributor Insights for DynamoDB, debe tener el permiso dynamodb:UpdateContributorInsights para la tabla o el índice.

  • Para ver los gráficos de CloudWatch Contributor Insights for DynamoDB, debe tener el permiso cloudwatch:GetInsightRuleReport.

  • Si desea describir CloudWatch Contributor Insights for DynamoDB en una determinada tabla o índice de DynamoDB, debe tener el permiso dynamodb:DescribeContributorInsights.

  • Para enumerar los estados de CloudWatch Contributor Insights for DynamoDB para cada tabla e índice secundario global, debe tener el permiso dynamodb:ListContributorInsights.

Ejemplo: habilitar o deshabilitar CloudWatch Contributor Insights for DynamoDB

La siguiente política de IAM concede permisos para habilitar o deshabilitar CloudWatch Contributor Insights for 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 las tablas encriptadas por la clave KMS, el usuario necesita tener permisos kms:Decrypt para poder actualizar 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" ], } ] }

Ejemplo: recuperar un informe de reglas de CloudWatch Contributor Insights

La siguiente política de IAM concede permisos para recuperar un informe de reglas de CloudWatch Contributor Insights.

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

Ejemplo: aplicar selectivamente permisos de CloudWatch Contributor Insights for DynamoDB basados en recursos

La siguiente política de IAM concede permisos para permitir las acciones ListContributorInsights y DescribeContributorInsights y deniega la acción UpdateContributorInsights para un índice secundario global concreto.

{ "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" } ] }

Uso de roles vinculados a servicios para CloudWatch Contributor Insights for DynamoDB

CloudWatch Contributor Insights for DynamoDB utiliza roles vinculados a servicios de AWS Identity and Access Management (IAM). Un rol vinculado a un servicio es un tipo único de rol de IAM que está vinculado directamente a CloudWatch Contributor Insights for DynamoDB. Los roles vinculados a servicios están predefinidos por CloudWatch Contributor Insights for DynamoDB e incluyen todos los permisos que el servicio requiere para llamar a otros servicios de AWS en su nombre.

Un rol vinculado a un servicio simplifica la configuración de CloudWatch Contributor Insights for DynamoDB porque ya no tendrá que agregar manualmente los permisos necesarios. CloudWatch Contributor Insights for DynamoDB define los permisos de sus roles vinculados a servicios y, a menos que esté definido de otra manera, solo CloudWatch Contributor Insights for DynamoDB puede asumir sus roles. Los permisos definidos incluyen las políticas de confianza y de permisos, y que la política de permisos no se pueda adjuntar a ninguna otra entidad de IAM.

Para obtener información acerca de otros servicios que admiten roles vinculados a servicios, consulte Servicios de AWS que funcionan con IAM y busque los servicios que muestran Yes (Sí) en la columna Service Linked Role (Rol vinculado a servicios). Elija una opción con un enlace para ver la documentación acerca del rol vinculado a servicios en cuestión.

Permisos del rol vinculado a servicios para CloudWatch Contributor Insights for DynamoDB

CloudWatch Contributor Insights for DynamoDB usa el rol vinculado al servicio denominado AWSServiceRoleForDynamoDBCloudWatchContributorInsights. El propósito del rol vinculado a servicios es permitir que Amazon DynamoDB administre las reglas de Amazon CloudWatch Contributor Insights creadas para tablas e índices secundarios globales de DynamoDB en su nombre.

El rol vinculado al servicio AWSServiceRoleForDynamoDBCloudWatchContributorInsights depende de los siguientes servicios para asumir el rol:

  • contributorinsights.dynamodb.amazonaws.com

La política de permisos del rol permite que CloudWatch Contributor Insights for DynamoDB realice las siguientes acciones en los recursos especificados:

  • Acción: Create and manage Insight Rules en DynamoDBContributorInsights

Debe configurar permisos para permitir a una entidad de IAM (como un usuario, grupo o rol) crear, editar o eliminar un rol vinculado a servicios. Para obtener más información, consulte Permisos de roles vinculados a servicios en la Guía del usuario de IAM.

Creación de un rol vinculado a servicios para CloudWatch Contributor Insights for DynamoDB

No necesita crear manualmente un rol vinculado a servicios. Cuando habilita Contributor Insights en la AWS Management Console, la AWS CLI o la API de AWS, CloudWatch Contributor Insights for DynamoDB le crea automáticamente un rol vinculado a un servicio.

Si elimina este rol vinculado a servicios y necesita crearlo de nuevo, puede utilizar el mismo proceso para volver a crear el rol en su cuenta. Cuando habilita Contributor Insights, CloudWatch Contributor Insights for DynamoDB le crea automáticamente un rol vinculado a un servicio de nuevo.

Edición de un rol vinculado a servicios para CloudWatch Contributor Insights for DynamoDB

CloudWatch Contributor Insights for DynamoDB no le permite editar el rol vinculado al servicio AWSServiceRoleForDynamoDBCloudWatchContributorInsights. Después de crear un rol vinculado al servicio, no podrá cambiar el nombre del rol, ya que varias entidades podrían hacer referencia al rol. Sin embargo, sí puede editar la descripción del rol con IAM. Para obtener más información, consulte Editar un rol vinculado a servicios en la Guía del usuario de IAM.

Eliminación de un rol vinculado a servicios para CloudWatch Contributor Insights for DynamoDB

No es necesario eliminar manualmente el rol de AWSServiceRoleForDynamoDBCloudWatchContributorInsights. Cuando desactiva Contributor Insights en la AWS Management Console, la AWS CLI o la API de AWS, CloudWatch Contributor Insights for DynamoDB limpia los recursos.

También puede utilizar la consola de IAM, la AWS CLI, la API de AWS para eliminar manualmente el rol vinculado al servicio. Para ello, primero debe limpiar manualmente los recursos del rol vinculado al servicio para poder eliminarlo después manualmente.

nota

Si el servicio de CloudWatch Contributor Insights for DynamoDB está utilizando el rol cuando intenta eliminar los recursos, la eliminación podría producir un error. En tal caso, espere unos minutos e intente de nuevo la operación.

Eliminación manual del rol vinculado a servicios mediante IAM

Puede usar la consola de IAM, la AWS CLI o la API de AWS para eliminar el rol vinculado a un servicio de AWSServiceRoleForDynamoDBCloudWatchContributorInsights. Para obtener más información, consulte Eliminación de un rol vinculado a un servicio en la Guía del usuario de IAM.