

# Uso de IAM con CloudWatch Contributor Insights for DynamoDB
<a name="Contributor_Insights_IAM"></a>

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 de los roles vinculados a servicios, consulte [Uso de roles vinculados a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html) 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
<a name="access-policy-Contributor_Insights-example1"></a>

La siguiente política de IAM concede permisos para habilitar o deshabilitar CloudWatch Contributor Insights for DynamoDB. 

------
#### [ JSON ]

****  

```
{
    "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. 

------
#### [ JSON ]

****  

```
{
    "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
<a name="access-policy-Contributor_Insights-example2"></a>

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

------
#### [ JSON ]

****  

```
{
    "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
<a name="access-policy-Contributor_Insights-example3"></a>

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.

------
#### [ JSON ]

****  

```
{
    "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
<a name="contributorinsights-service-linked-roles"></a>

CloudWatch Contributor Insights for DynamoDB utiliza [ roles vinculados a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) 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 asociar 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) y busque los servicios que muestran **Sí** en la columna **Rol vinculado a un servicio**. Elija una opción **Sí** con un enlace para ver la documentación acerca del rol vinculado al servicio en cuestión.

### Permisos del rol vinculado a servicios para CloudWatch Contributor Insights for DynamoDB
<a name="slr-permissions"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/contributorinsights-service-linked-roles.html#service-linked-role-permissions) en la *Guía del usuario de IAM*.

### Creación de un rol vinculado a servicios para CloudWatch Contributor Insights for DynamoDB
<a name="create-slr"></a>

No necesita crear manualmente un rol vinculado a servicios. Cuando habilita Contributor Insights en la Consola de administración de AWS, 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
<a name="edit-slr"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) en la *Guía del usuario de IAM*.

### Eliminación de un rol vinculado a servicios para CloudWatch Contributor Insights for DynamoDB
<a name="delete-slr"></a>

No es necesario eliminar manualmente el rol de `AWSServiceRoleForDynamoDBCloudWatchContributorInsights`. Cuando desactiva Contributor Insights en la Consola de administración de AWS, 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.

**Para eliminar manualmente el 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) en la *Guía del usuario de IAM*.