Cómo funciona Amazon QLDB con IAM - 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.

Cómo funciona Amazon QLDB con IAM

Antes de utilizar IAM para administrar el acceso a QLDB, conozca qué características de IAM se pueden utilizar con QLDB.

Para obtener una perspectiva general de cómo QLDB y otrosAWSlos servicios funcionan con la mayoría de las funciones de IAM, consulteAWSServicios que funcionan con IAMen laIAM User Guide.

Políticas basadas en identidades para QLDB

Compatibilidad con las políticas basadas en identidad

Las políticas basadas en identidad son documentos de políticas de permisos JSON que puede adjuntar a una identidad, como un usuario de IAM, un grupo de usuarios o un rol. Estas políticas controlan qué acciones pueden realizar los usuarios y los roles, en qué recursos y bajo qué condiciones. Para obtener más información sobre cómo crear una política basada en identidad, consulte Creación de políticas de IAM en la Guía del usuario de IAM.

Con las políticas basadas en identidad de IAM, puede especificar las acciones y recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. No es posible especificar la entidad principal en una política basada en identidad porque se aplica al usuario o rol al que está asociado. Para obtener más información acerca de los elementos que puede utilizar en una política de JSON, consulte Referencia de los elementos de las políticas de JSON de IAM en la Guía del usuario de IAM.

Ejemplos de políticas basadas en identidades de QLDB

Para ver ejemplos de políticas QLDB basadas en identidades, consulte.Ejemplos de políticas basadas en identidades de Amazon QLDB.

Políticas basadas en recursos de QLDB

Compatibilidad con las políticas basadas en recursos

No

Las políticas basadas en recursos son documentos de política JSON que se adjuntan a un recurso. Ejemplos de políticas basadas en recursos son las políticas de confianza de roles de IAM y las políticas de bucket de Amazon S3. En los servicios que admiten políticas basadas en recursos, los administradores de servicios pueden utilizarlos para controlar el acceso a un recurso específico. Para el recurso al que se adjunta la política, la política define qué acciones puede realizar una entidad principal especificada en ese recurso y en qué condiciones. Debe especificar una entidad principal en una política basada en recursos. Las entidades principales pueden incluir cuentas, usuarios, roles, usuarios federados o Servicios de AWS.

Para habilitar el acceso entre cuentas, puede especificar toda una cuenta o entidades de IAM de otra cuenta como la entidad principal de una política basada en recursos. Añadir a una política basada en recursos una entidad principal entre cuentas es solo una parte del establecimiento de una relación de confianza. Cuando la entidad principal y el recurso se encuentran en Cuentas de AWS diferentes, un administrador de IAM de la cuenta de confianza también debe conceder a la entidad principal (usuario o rol) permiso para acceder al recurso. Para conceder el permiso, asocie la entidad a una política basada en identidad. Sin embargo, si la política basada en recursos concede el acceso a una entidad principal de la misma cuenta, no es necesaria una política basada en identidad adicional. Para obtener más información, consulte Cómo los roles de IAM difieren de las políticas basadas en recursos en la Guía del usuario de IAM.

Acciones de política de QLDB

Admite acciones de política

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede llevar a cabo acciones en qué recursos y bajo qué condiciones.

El elemento Action de una política JSON describe las acciones que puede utilizar para permitir o denegar el acceso en una política. Las acciones de la política generalmente tienen el mismo nombre que la operación de API de AWS asociada. Hay algunas excepciones, como acciones de solo permiso que no tienen una operación de API coincidente. También hay algunas operaciones que requieren varias acciones en una política. Estas acciones adicionales se denominan acciones dependientes.

Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.

Para ver una lista de las acciones de QLDB, consulteAcciones definidas por Amazon QLDBen laReferencia de autorizaciones de servicio.

Las acciones de políticas en QLDB utilizan el siguiente prefijo antes de la acción:

qldb

Para especificar varias acciones en una única instrucción, sepárelas con comas.

"Action": [ "qldb:action1", "qldb:action2" ]

Puede utilizar caracteres comodín para especificar varias acciones (*). Por ejemplo, para especificar todas las acciones que comiencen con la palabra Describe, incluya la siguiente acción:

"Action": "qldb:Describe*"

Para interactuar con la API de datos transaccionales de QLDB (Sesión de QLDB) mediante la ejecuciónPartiQLestados de cuenta en un libro mayor, debe conceder permiso alSendCommandacción de la siguiente manera.

"Action": "qldb:SendCommand"

Para los libros de contabilidad delSTANDARDmodo de permisos, consulte laReferencia de permisos PartiQLpara obtener los permisos necesarios adicionales para cada comando de PartiQL.

Para ver ejemplos de políticas QLDB basadas en identidades, consulte.Ejemplos de políticas basadas en identidades de Amazon QLDB.

Recursos de políticas de QLDB

Admite recursos de políticas

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y bajo qué condiciones.

El elemento Resource de la política JSON especifica el objeto u objetos a los que se aplica la acción. Las instrucciones deben contener un elemento Resource o NotResource. Como práctica recomendada, especifique un recurso utilizando el Nombre de recurso de Amazon (ARN). Puede hacerlo para acciones que admitan un tipo de recurso específico, conocido como permisos de nivel de recurso.

Para las acciones que no admiten permisos de nivel de recurso, como las operaciones de descripción, utilice un carácter comodín (*) para indicar que la instrucción se aplica a todos los recursos.

"Resource": "*"

Para ver una lista de los tipos de recursos de QLDB y sus ARN, consulteRecursos definidos por Amazon QLDBen laReferencia de autorizaciones de servicio. Para obtener más información acerca de las acciones con las que puede especificar los ARN de cada recurso, consulteAcciones definidas por Amazon QLDB.

En QLDB, los recursos principales sonlibros de contabilidad. QLDB también admite otros tipos de recursos:Tablas deyFlujos de. Sin embargo, puede crear tablas y secuencias solamente en el contexto de un libro de contabilidad existente.

Una tabla QLDB es una vista materializada de una colección desordenada de revisiones de documentos del diario del libro mayor. En el navegadorSTANDARDpermisos de un libro mayor, debe crear políticas de IAM que concedan permisos para ejecutar instrucciones PartiQL en este recurso de tabla. Con permisos en un recurso de tabla, puede ejecutar instrucciones que accedan al estado actual de la tabla. También puede consultar el historial de revisiones de la tabla mediante elhistory()función. Para obtener más información, consulte Introducción al modo de permisos estándar en Amazon QLDB.

nota

LaCREATE TABLEcrea una tabla con un ID único y el nombre de tabla proporcionado. El nombre de tabla proporcionado debe ser único entre todas las tablas activas. Sin embargo, QLDB le permite desactivar tablas, por lo que puede haber varias tablas inactivas que compartan el mismo nombre de tabla. Por lo tanto, los ARN de recursos de tabla hacen referencia al ID único asignado por el sistema en lugar del nombre de tabla definido por el usuario.

Cada libro mayor también proporciona un recurso de catálogo definido por el sistema que puede consultar para enumerar todas las tablas e índices de un libro mayor. Para obtener más información acerca del modelo de objetos de datos de QLDB, consulteConceptos básicos y terminología en Amazon QLDB.

Estos recursos tienen ARN únicos asociados a ellos, tal y como se muestra en la siguiente tabla.

Tipo de recurso ARN
ledger arn:${Partition}:qldb:${Region}:${Account}:ledger/${LedgerName}
table arn:${Partition}:qldb:${Region}:${Account}:ledger/${LedgerName}/table/${TableId}
catalog arn:${Partition}:qldb:${Region}:${Account}:ledger/${LedgerName}/information_schema/user_tables
stream arn:${Partition}:qldb:${Region}:${Account}:stream/${LedgerName}/${StreamId}

Por ejemplo, para especificar elmyExampleLedgeren su instrucción, utilice el siguiente ARN.

"Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger"

Para especificar varios recursos en una única instrucción, separe los ARN con comas.

"Resource": [ "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger1", "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger2" ]

Para ver ejemplos de políticas QLDB basadas en identidades, consulte.Ejemplos de políticas basadas en identidades de Amazon QLDB.

Claves de condición de políticas para QLDB

Admite claves de condición de política específicas del servicio

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y bajo qué condiciones.

El elemento Condition (o bloque de Condition) permite especificar condiciones en las que entra en vigor una instrucción. El elemento Condition es opcional. Puede crear expresiones condicionales que utilicen operadores de condición, tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud.

Si especifica varios elementos de Condition en una instrucción o varias claves en un único elemento de Condition, AWS las evalúa mediante una operación AND lógica. Si especifica varios valores para una única clave de condición, AWS evalúa la condición con una operación lógica OR. Se deben cumplir todas las condiciones antes de que se concedan los permisos de la instrucción.

También puede utilizar variables de marcador de posición al especificar condiciones. Por ejemplo, puede conceder un permiso de usuario de IAM para acceder a un recurso solo si está etiquetado con su nombre de usuario de IAM. Para obtener más información, consulte Elementos de la política de IAM: variables y etiquetas en la Guía del usuario de IAM.

AWS admite claves de condición globales y claves de condición específicas del servicio. Para ver todas las claves de condición globales de AWS, consulte Claves de contexto de condición globales de AWS en la Guía del usuario de IAM.

Para ver una lista de claves de condición de QLDB, consulteClaves de condición de Amazon QLDBen laReferencia de autorizaciones de servicio. Para obtener más información acerca de las acciones y los recursos con los que puede utilizar una clave de condición, consulteAcciones definidas por Amazon QLDB.

LaPartiQLDropIndexyPartiQLDropTableacciones de apoyo a laqldb:PurgeClave de condición. Esta clave de condición filtra el acceso por el valor depurgeque se especifica en un PartiQLDROPstatement. Sin embargo, QLDB actualmente solo admitepurge = trueparaDROP INDEXInstrucciones ypurge = falseparaDROP TABLEInstrucciones Otras acciones de QLDB admiten algunas claves de condición globales.

Para ver ejemplos de políticas QLDB basadas en identidades, consulte.Ejemplos de políticas basadas en identidades de Amazon QLDB.

Listas de control de acceso (ACL) en QLDB

Admite las ACL

No

Las listas de control de acceso (ACL) controlan qué entidades principales (miembros de cuentas, usuarios o roles) tienen permisos para acceder a un recurso. Las ACL son similares a las políticas basadas en recursos, aunque no utilizan el formato de documento de política JSON.

Control de acceso basado en atributos (ABAC) con QLDB

Admite ABAC (etiquetas en las políticas)

El control de acceso basado en atributos (ABAC) es una estrategia de autorización que define permisos basados en atributos. En AWS, estos atributos se denominan etiquetas. Puede asociar etiquetas a entidades de IAM (usuarios o roles) y a muchos recursos de AWS. El etiquetado de entidades y recursos es el primer paso de ABAC. A continuación, designa las políticas de ABAC para permitir operaciones cuando la etiqueta de la entidad principal coincida con la etiqueta del recurso al que se intenta acceder.

ABAC es útil en entornos que crecen con rapidez y ayuda en situaciones en las que la administración de las políticas resulta engorrosa.

Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el elemento de condición de una política utilizando las claves de condición aws:ResourceTag/key-name, aws:RequestTag/key-name o aws:TagKeys.

Para obtener más información sobre ABAC, consulte ¿Qué es ABAC? en la Guía del usuario de IAM. Para ver un tutorial con los pasos para configurar ABAC, consulte Uso del control de acceso basado en atributos (ABAC) en la Guía del usuario de IAM.

Para obtener más información acerca del etiquetado de recursos QLDB, consulte.Etiquetado de recursos de Amazon QLDB.

Para consultar un ejemplo de política basada en la identidad para limitar el acceso a un recurso en función de las etiquetas de ese recurso, consulte Actualización de libros de contabilidad de QLDB basados en etiquetas.

Uso de credenciales temporales con QLDB

Compatible con el uso de credenciales temporales.

Algunos servicios de Servicios de AWS no funcionan cuando inicia sesión con credenciales temporales. Para obtener información adicional, incluida la información sobre qué servicios de Servicios de AWS funcionan con credenciales temporales, consulte Servicios de Servicios de AWS que funcionan con IAM en la Guía del usuario de IAM.

Utiliza credenciales temporales si inicia sesión en la AWS Management Console con cualquier método excepto un nombre de usuario y una contraseña. Por ejemplo, cuando accede a AWS utilizando el enlace de inicio de sesión único (SSO) de la empresa, ese proceso crea automáticamente credenciales temporales. También crea automáticamente credenciales temporales cuando inicia sesión en la consola como usuario y luego cambia de rol. Para obtener más información acerca del cambio de roles, consulte Cambio a un rol (consola) en la Guía del usuario de IAM.

Puede crear credenciales temporales de forma manual mediante la AWS CLI o la API de AWS. A continuación, puede usar esas credenciales temporales para acceder a AWS. AWS recomienda generar credenciales temporales de forma dinámica en lugar de usar claves de acceso a largo plazo. Para obtener más información, consulte Credenciales de seguridad temporales en IAM.

Permisos de entidades principales entre servicios de QLDB

Admite permisos de entidades principales

No

Cuando utiliza un usuario o un rol de IAM para llevar a cabo acciones en AWS, se lo considera una entidad principal. Las políticas conceden permisos a una entidad principal. Cuando utiliza algunos servicios, es posible que realice una acción que desencadene otra acción en un servicio diferente. En este caso, debe tener permisos para realizar ambas acciones. Para ver si una acción requiere acciones dependientes adicionales en una política, consulteClaves de condición, recursos y acciones de Amazon QLDBen laReferencia de autorizaciones de servicio.

Funciones de servicio para QLDB

Compatible con funciones del servicio

Una función del 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 roles para delegar permisos a un Servicio de AWS en la Guía del usuario de IAM.

aviso

Cambiar los permisos de un rol de servicio podría interrumpir la funcionalidad de QLDB. Edite los roles de servicio solo cuando QLDB proporcione orientación para hacerlo.

QLDB admite roles de servicio paraExportJournalToS3yStreamJournalToKinesisOperaciones de API, que se describe en la sección siguiente.

Elegir una función de IAM en QLDB

Cuando exporta o transmite bloques de diarios en QLDB, debe elegir un rol para permitir que QLDB escriba objetos en el destino dado en su nombre. Si ya ha creado un rol de servicio, QLDB proporciona una lista de roles para elegir. Es importante elegir una función que permita el acceso para escribir en el depósito de Amazon S3 especificado para una exportación, o en el recurso de Amazon Kinesis Data Streams especificado para una transmisión. Para obtener más información, consulte Permisos de exportación de revistas en QLDB o Permisos de transmisión en QLDB.

nota

Para transferir un rol a QLDB cuando solicite una exportación de diario o una secuencia, debe tener permisos para realizariam:PassRoleacción en el recurso de rol de IAM. Esto se suma a los permisos para realizarqldb:ExportJournalToS3en el recurso de contabilidad de QLDB, oqldb:StreamJournalToKinesisen el subrecurso de flujo de QLDB.

Roles vinculados a servicios para QLDB

Compatible con roles vinculados a servicios

No

Un rol vinculado a un servicio es un tipo de rol de servicio que está vinculado a un Servicio de AWS. El servicio puede asumir el rol para realizar una acción en su nombre. Los roles vinculados a servicios aparecen en la cuenta de IAM y son propiedad del servicio. Un administrador de IAM puede ver, pero no editar, los permisos de los roles vinculados a servicios.

Para obtener más información acerca de cómo crear o administrar roles vinculados a servicios de, consulteAWSServicios que funcionan con IAM. Busque un servicio en la tabla que incluya unYesen laFunción vinculada al serviciocolumn. Elija el vínculo para ver la documentación acerca del rol vinculado al servicio en cuestión.