Permisos de secuencia en QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

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

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.

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 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 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. Para ver una política de ejemplo de QLDB, consulte Ejemplos de políticas basadas en identidades para Amazon QLDB.

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, consulte Creación de un rol para delegar permisos a un Servicio de AWS 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 para que cree automáticamente el rol por usted. También puede elegir un rol que haya creado anteriormente.

Creación de una política de permisos

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 y Permisos de para utilizar claves de KMS generadas por el usuario 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 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 AWS Management Console y ábrala en https://console.aws.amazon.com/iam/.

  2. 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.

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

  4. Seleccione la pestaña JSON.

  5. 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 1234abcd-12ab-34cd-56ef-1234567890ab en el kinesis-stream-nameejemplo 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 us-east-1, 123456789012 kinesis-stream-namey, 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" } ] }
  6. 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 en la Guía del usuario de IAM.

  7. 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

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 AWS Management Console y ábrala en https://console.aws.amazon.com/iam/.

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

  3. En Tipo de entidad de confianza, elija Servicio de AWS.

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

  5. Elija Siguiente.

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

  7. (Opcional) Configure un límite de permisos. 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 puede tener el rol como máximo.

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

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

  8. Elija Siguiente.

  9. 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 puede 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.

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

  11. (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.

  12. (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 Etiquetado de recursos de IAM en la Guía de usuario de IAM.

  13. 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.

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.