

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Permisos de secuencia en QLDB
<a name="streams.perms"></a>

**importante**  
Aviso de fin del soporte: los clientes actuales podrán utilizar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte [Migración de un registro de Amazon QLDB a Amazon Aurora](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) PostgreSQL.

Antes de crear una secuencia de Amazon QLDB, debe proporcionar a QLDB permisos de escritura para el recurso de Amazon Kinesis Data Streams especificado. Si utiliza una AWS KMS key administrada por el cliente para el cifrado del servidor de su secuencia de Kinesis, también debe proporcionar a QLDB permisos para utilizar la clave de cifrado simétrica especificada. Kinesis Data Streams no admite [claves de KMS asimétricas](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html).

Para proporcionar a su secuencia de QLDB los permisos necesarios, puede hacer que QLDB asuma un rol de servicio de IAM con las políticas de permisos adecuadas. Un rol de servicio es un [rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que asume un servicio para realizar acciones en su nombre. Un administrador de IAM puede crear, modificar y eliminar un rol de servicio desde IAM. Para obtener más información, consulte [Creación de un rol para delegar permisos a un Servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) en la *Guía del usuario de IAM*. 

**nota**  
Para transferir un rol a QLDB al solicitar una secuencia, debe tener permisos para realizar la acción `iam:PassRole` en el recurso de rol de IAM. Esto se suma al permiso `qldb:StreamJournalToKinesis` del subrecurso de secuencia de QLDB.  
Para obtener información sobre cómo controlar el acceso a QLDB mediante IAM, consulte [Cómo funciona Amazon QLDB con IAM](security_iam_service-with-iam.md). Para ver una política de ejemplo de QLDB, consulte [Ejemplos de políticas basadas en identidades para Amazon QLDB](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-stream-to-kinesis).

En este ejemplo, crea un rol que permite a QLDB escribir registros de datos en un flujo de datos de Kinesis en su nombre. Para obtener más información, consulta [Creación de un rol para delegar permisos a un Servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) en la *Guía del usuario de IAM*.

Si está transmitiendo un diario de QLDB en Cuenta de AWS su sitio por primera vez, primero debe crear un rol de IAM con las políticas adecuadas de la siguiente manera. O bien, puede [usar la consola de QLDB](streams.create.md#streams.create.con) para que cree automáticamente el rol por usted. También puede elegir un rol que haya creado anteriormente.

**Topics**
+ [Creación de una política de permisos](#streams.perms.create-policy)
+ [Creación de un rol de IAM](#streams.perms.create-role)

## Creación de una política de permisos
<a name="streams.perms.create-policy"></a>

Complete los siguientes pasos para crear políticas de permisos para la secuencia de QLDB. Este ejemplo muestra una política de Kinesis Data Streams que concede permisos de QLDB para escribir registros de datos en el flujo de datos de Kinesis especificado. Si corresponde, el ejemplo también muestra una política de claves que permite a QLDB utilizar su clave KMS de cifrado simétrica.

Para obtener más información sobre Kinesis Data Streams, consulte [Control del acceso a los recursos de Amazon Kinesis Data Streams por medio de IAM](https://docs.aws.amazon.com/streams/latest/dev/controlling-access.html) y [Permisos de para utilizar claves de KMS generadas por el usuario](https://docs.aws.amazon.com/streams/latest/dev/permissions-user-key-KMS.html) en la *Guía para desarrolladores de Amazon Kinesis Data Streams*. *Para obtener más información sobre las políticas AWS KMS clave, consulte [Uso de políticas clave AWS KMS en](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) la AWS Key Management Service Guía para desarrolladores.*

**nota**  
El flujo de datos de Kinesis y la clave de KMS deben estar en la misma cuenta Región de AWS y en la misma cuenta que su libro mayor de QLDB.

**Utilización del editor de política de JSON para la creación de una política**

1. Inicie sesión en la consola de IAM Consola de administración de AWS y ábrala en. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. En la columna de navegación de la izquierda, elija **Políticas**.

   Si es la primera vez que elige **Políticas**, aparecerá la página **Bienvenido a políticas administradas**. Elija **Comenzar**.

1. En la parte superior de la página, seleccione **Crear política**.

1. Seleccione la pestaña **JSON**.

1. Especifique un documento de política JSON.
   + Si utiliza una clave KMS administrada por el cliente para el cifrado del servidor de su secuencia de Kinesis, utilice el siguiente documento de política de ejemplo. Para usar esta política, sustituya*us-east-1*,*123456789012*, y*kinesis-stream-name*, *1234abcd-12ab-34cd-56ef-1234567890ab* en el ejemplo, por su propia información.

     ```
     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Sid": "QLDBStreamKinesisPermissions",
                 "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ],
                 "Effect": "Allow",
                 "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name"
             },
             {
                 "Sid": "QLDBStreamKMSPermission",
                 "Action": [ "kms:GenerateDataKey" ],
                 "Effect": "Allow",
                 "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
             }
         ]
     }
     ```
   + También puede utilizar el siguiente documento normativo de ejemplo. Para usar esta política, sustituya y *us-east-1**123456789012*, *kinesis-stream-name* en el ejemplo, por su propia información.

     ```
     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Sid": "QLDBStreamKinesisPermissions",
                 "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ],
                 "Effect": "Allow",
                 "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name"
             }
         ]
     }
     ```

1. Elija **Revisar política**.
**nota**  
Puede alternar entre las pestañas **Visual editor (Editor visual)** y **JSON** en cualquier momento. Sin embargo, si realiza cambios o elige **Review policy** en la pestaña **Visual editor**, IAM podría reestructurar la política para optimizarla para el editor visual. Para obtener más información, consulte [Reestructuración de política](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure) en la *Guía del usuario de IAM*.

1. En la página **Review Policy (Revisar política)**, ingrese un **Nombre** y una **descripción** (opcional) para la política que está creando. Revise el **Summary** (Resumen) de la política para ver los permisos concedidos por su política. A continuación, elija **Create policy** (Crear política) para guardar su trabajo.

## Creación de un rol de IAM
<a name="streams.perms.create-role"></a>

Tras crear una política de permisos para su secuencia de QLDB, puede crear un rol de IAM y asociarle su política.

**Creación de un rol de servicio de QLDB (consola de IAM)**

1. Inicie sesión en la consola de IAM Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación de la consola de IAM, seleccione **Roles** y, a continuación, elija **Crear rol**.

1. En **Tipo de entidad de confianza**, elija **Servicio de AWS**.

1. En **Servicio o caso de uso**, seleccione **QLDB** y, a continuación, el caso de uso **QLDB**.

1. Elija **Siguiente**.

1. Seleccione la casilla junto a la política que ha creado en los pasos anteriores.

1. (Opcional) Configure un [límite de permisos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html). Se trata de una característica avanzada que está disponible para los roles de servicio, pero no para los roles vinculados a servicios.

   1. Abra la sección **Configurar límite de permisos** y, a continuación, elija **Utilizar un límite de permisos para controlar los permisos que puedes tener el rol como máximo**.

      IAM incluye una lista de las políticas AWS gestionadas y gestionadas por los clientes de tu cuenta.

   1. Seleccione la política que desea utilizar para el límite de permisos.

1. Elija **Siguiente**.

1. Escriba un nombre o sufijo de nombre para el rol, que pueda ayudarle a identificar su finalidad.
**importante**  
Cuando asigne un nombre a un rol, tenga en cuenta lo siguiente:  
Los nombres de los roles deben ser únicos dentro de tu perfil Cuenta de AWS y no se pueden hacer únicos por mayúsculas y minúsculas.  
Por ejemplo, no puedes crear roles denominados tanto **PRODROLE** como **prodrole**. Cuando se utiliza un nombre de rol en una política o como parte de un ARN, el nombre de rol distingue entre mayúsculas y minúsculas, sin embargo, cuando un nombre de rol les aparece a los clientes en la consola, como por ejemplo durante el proceso de inicio de sesión, el nombre de rol no distingue entre mayúsculas y minúsculas.
Dado que otras entidades podrían hacer referencia al rol, no es posible editar el nombre del rol una vez creado.

1. (Opcional) **En Descripción**, ingrese una descripción para el rol.

1. (Opcional) Para editar los casos de uso y los permisos de la función, en las secciones **Paso 1: Seleccionar entidades confiables** o en **Paso 2: Agregar permisos**, elija **Editar**.

1. (Opcional) Para ayudar a identificar, organizar o buscar el rol, agregue etiquetas como pares clave-valor. Para obtener más información sobre el uso de etiquetas en IAM, consulte [Etiquetas para obtener AWS Identity and Access Management recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) en la Guía del *usuario de IAM*.

1. Revise el rol y, a continuación, elija **Crear rol**.

El siguiente documento JSON es un ejemplo de una política de confianza que permite a QLDB asumir un rol de IAM con permisos específicos asociados.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "qldb.amazonaws.com"
            },
            "Action": [ "sts:AssumeRole" ],
            "Condition": {
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

**nota**  
El siguiente ejemplo de política de confianza muestra cómo se pueden utilizar las claves contextuales de condición global `aws:SourceArn` y `aws:SourceAccount` para evitar el problema del *suplente confuso*. Con esta política de confianza, QLDB puede asumir el rol de cualquier secuencia de QLDB en la cuenta `123456789012` del libro mayor `myExampleLedger` únicamente.  
Para obtener más información, consulte [Prevención de la sustitución confusa entre servicios](cross-service-confused-deputy-prevention.md).

Tras crear su rol de IAM, vuelva a la consola de QLDB y actualice la página **Crear secuencia de QLDB** para que pueda encontrar su nuevo rol.