

# Habilitación de ABAC para DynamoDB Streams
<a name="abac-enable-streams"></a>

ABAC de DynamoDB Streams está activado de forma predeterminada para la mayoría de las Cuentas de AWS. Para los clientes actuales, ABAC de Streams está desactivado de forma predeterminada y se habilita después de auditar las políticas. Mediante la consola de DynamoDB, puede confirmar si ABAC de Streams se ha habilitado para la cuenta. Abra la consola de DynamoDB con un rol que tenga el permiso `dynamodb:GetAbacStatus`. A continuación, abra la página **Configuración** de la consola de DynamoDB.

La tarjeta **Control de acceso basado en atributos para Streams** aparece en la página de **configuración** solo si tiene una tabla de DynamoDB en la región de AWS actual. Si tiene una tabla, el estado **Activado** (o sin tarjeta) significa que ABAC de Streams está activado y **Desactivado** (que se muestra en la siguiente imagen) significa que no lo está. Si no hay ninguna tabla en la región, la ausencia de la tarjeta no indica el estado.

## Control de acceso basado en atributos para Streams: no habilitado
<a name="abac-streams-enable-image"></a>

![La página Configuración de la consola de DynamoDB muestra la tarjeta Control de acceso basado en atributos para Streams con el estado Desactivado, lo que indica que ABAC de Streams no está activado para la cuenta.](https://docs.aws.amazon.com/es_es/amazondynamodb/latest/developerguide/images/abac-stream-enable-console.png)


Para habilitar ABAC de Streams para la cuenta, recomendamos que primero se auditen las políticas tal y como se describe en la sección [Auditoría de las políticas antes de habilitar ABAC de Streams](#policy-audit-for-stream-abac). A continuación, incluya los [permisos necesarios para ABAC de Streams](#required-permissions-stream-abac) en la política de IAM. Por último, realice los pasos descritos en [Habilitación de ABAC de Streams en la consola](#stream-abac-enable-console) para habilitar ABAC de Streams en la cuenta en la región de AWS actual. Después de habilitar ABAC de Streams, podrá desactivarlo en los siete días laborables posteriores a la activación.

**Topics**
+ [Auditoría de las políticas antes de habilitar ABAC de Streams](#policy-audit-for-stream-abac)
+ [Permisos de IAM necesarios para habilitar ABAC de Streams](#required-permissions-stream-abac)
+ [Habilitación de ABAC de Streams en la consola](#stream-abac-enable-console)

## Auditoría de las políticas antes de habilitar ABAC de Streams
<a name="policy-audit-for-stream-abac"></a>

Antes de habilitar ABAC de Streams, audite las políticas. Confirme que todas las condiciones basadas en etiquetas incluidas en las políticas de la cuenta estén configuradas según lo previsto para los recursos de transmisión. La auditoría de las políticas ayuda a evitar cambios de autorización inesperados en los flujos de trabajo de DynamoDB Streams después de activar ABAC de Streams.

Al auditar, busque políticas que:
+ Utilicen condiciones `aws:ResourceTag` en los ARN de transmisión (formato: `arn:aws:dynamodb:*:*:table/*/stream/*`)
+ Utilicen condiciones `aws:RequestTag` o `aws:TagKeys` con acciones `dynamodb:TagResource` o `dynamodb:UntagResource` en recursos de transmisión
+ Utilicen ARN de recursos comodín (`arn:aws:dynamodb:*:*:*`) con condiciones basadas en etiquetas que podrían aplicarse involuntariamente a las transmisiones

Para ver ejemplos de utilización de condiciones basadas en atributos con etiquetas y el comportamiento antes y después de la implementación de ABAC, consulte [Ejemplos para usar ABAC con DynamoDB Streams](abac-examples-streams.md).

## Permisos de IAM necesarios para habilitar ABAC de Streams
<a name="required-permissions-stream-abac"></a>

Necesita el permiso `dynamodb:UpdateAbacStatus` para habilitar ABAC de Streams en la cuenta en la región actual. Para confirmar si ABAC de Streams se ha habilitado en la cuenta, también debe tener el permiso `dynamodb:GetAbacStatus`. Con este permiso, puede ver el estado de ABAC de Streams de una cuenta en cualquier región. Necesitará estos permisos además del permiso necesario para acceder a la consola de DynamoDB.

La siguiente política de IAM concede el permiso para habilitar ABAC de Streams y ver el estado para una cuenta en la región actual.

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:UpdateAbacStatus",
        "dynamodb:GetAbacStatus"
      ],
      "Resource": "*"
    }
  ]
}
```

## Habilitación de ABAC de Streams en la consola
<a name="stream-abac-enable-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 navegación superior, elija la región para la que desea habilitar ABAC de Streams.

1. En el panel de navegación izquierdo, elija **Configuración**.

1. En la página **Configuración**, haga lo siguiente:

   1. En la tarjeta **Control de acceso basado en atributos para Streams**, elija **Habilitar**.

   1. En el cuadro **Confirmar la configuración del control de acceso basado en atributos para Streams**, elija **Habilitar** para confirmar la elección.

      Esto habilita ABAC de Streams para la región actual y la tarjeta **Control de acceso basado en atributos para Streams** muestra el estado **Activado**.

      Si desea desactivar ABAC de Streams después de habilitarlo en la consola, puede hacerlo en los siete días laborables posteriores a la activación. Para desactivarlo, elija **Desactivar** en la tarjeta **Control de acceso basado en atributos para Streams** de la página **Configuración**.
**nota**  
La actualización del estado de ABAC de Streams es una operación asíncrona. Si DynamoDB no evalúa las etiquetas de las políticas de forma inmediata, espere unos minutos e inténtelo de nuevo. Los cambios en la evaluación de etiquetas son de coherencia final.