

# Asociación de una política basada en recursos a un flujo de DynamoDB
<a name="rbac-attach-resource-policy-streams"></a>

Puede asociar una política basada en recursos a una secuencia de tablas existente o modificar una política existente desde la consola de DynamoDB, la API [PutResourcePolicy](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutResourcePolicy.html), la AWS CLI, el SDK de AWS o la plantilla de [CloudFormation](rbac-create-table.md#rbac-create-table-cfn).

**nota**  
No puede asociar una política a una secuencia mientras se crea con las API [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) o [UpdateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html). Sin embargo, puede modificar o eliminar una política después de eliminar una tabla. También puede modificar o eliminar la política de una secuencia desactivada.



## AWS CLI
<a name="rbac-attach-policy-stream-CLI"></a>

En el siguiente ejemplo de política de IAM se utiliza el comando `put-resource-policy` de la AWS CLI para asociar una política basada en recursos a una secuencia de una tabla denominada *MusicCollection*. En este ejemplo, el usuario *John* puede realizar las acciones de las API [GetRecords](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_GetRecords.html), [GetShardIterator](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_GetShardIterator.html) y [DescribeStream](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_DescribeStream.html) en la secuencia.

Recuerde reemplazar el texto en *cursiva* por la información específica del recurso.

```
aws dynamodb put-resource-policy \
    --resource-arn arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/stream/2024-02-12T18:57:26.492 \
    --policy \
        "{
            \"Version\": \"2012-10-17\",		 	 	 
            \"Statement\": [
              {
                    \"Effect\": \"Allow\",
                    \"Principal\": {
                        \"AWS\": \"arn:aws:iam::111122223333:user/John\"
                    },
                    \"Action\": [
                        \"dynamodb:GetRecords\",
                        \"dynamodb:GetShardIterator\",
                        \"dynamodb:DescribeStream\"
                    ],
                    \"Resource\": \"arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/stream/2024-02-12T18:57:26.492\"
                }
            ]
        }"
```

## Consola de administración de AWS
<a name="rbac-attach-policy-stream-console"></a>

1. Inicie sesión en la Consola de administración de AWS y abra la consola de DynamoDB en [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/).

1. En el panel de la consola de DynamoDB, elija **Tablas** y seleccione una tabla existente.

   Asegúrese de que la tabla que seleccione tenga las secuencias activadas. Para obtener información sobre la activación de las secuencias en una tabla, consulte [Habilitación de una secuencia](Streams.md#Streams.Enabling).

1. Elija la pestaña **Permisos**.

1. En **Política basada en recursos para la secuencia activa**, elija **Crear política de transmisión**.

1. En el editor **Política basada en recursos**, añada una política para definir los permisos de acceso a la secuencia. En esta política, se especifica quién tiene acceso a la secuencia y las acciones que se les permite realizar en cada secuencia. Para añadir una política, realice alguna de las siguientes operaciones:
   + Escriba o pegue un documento de política de JSON. Para obtener más información sobre el lenguaje de las políticas de IAM, consulte [Creación de políticas mediante el editor JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-json-editor) en la *Guía del usuario de IAM*.
**sugerencia**  
Para ver ejemplos de políticas basadas en recursos en la Guía para desarrolladores de Amazon DynamoDB, elija **Ejemplos de políticas**.
   + Elija **Agregar nueva instrucción**. A continuación, añada una nueva instrucción y especifique la información en los campos proporcionados. Repita este paso para tantas instrucciones como desee agregar.
**importante**  
Asegúrese de resolver advertencias de seguridad, los errores y las sugerencias antes de guardar la política.

1. (Opcional) Elija **Preview external access** (Vista previa del acceso externo) en la esquina inferior derecha para obtener una vista previa de cómo la política nueva afecta al acceso público y entre cuentas al recurso. Antes de guardar la política, puede comprobar si introduce nuevos hallazgos de IAM Access Analyzer o resuelve las conclusiones existentes. Si no ve un analizador activo, elija **Ir a Access Analyzer** para [crear un analizador de la cuenta](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#access-analyzer-enabling) en Access Analyzer de IAM. Para obtener más información, consulte [Acceso de vista previa](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-access-preview.html).

1. Elija **Crear política**.

En el siguiente ejemplo de política de IAM se asocia una política basada en recursos a una secuencia de una tabla denominada *MusicCollection*. En este ejemplo, el usuario *John* puede realizar las acciones de las API [GetRecords](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_GetRecords.html), [GetShardIterator](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_GetShardIterator.html) y [DescribeStream](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_DescribeStream.html) en la secuencia.

Recuerde reemplazar el texto en *cursiva* por la información específica del recurso.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:user/username"
      },
      "Action": [
        "dynamodb:GetRecords",
        "dynamodb:GetShardIterator",
        "dynamodb:DescribeStream"
      ],
      "Resource": [
        "arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection/stream/2024-02-12T18:57:26.492"
      ]
    }
  ]
}
```

------