Ejemplos de políticas basadas en identidad para Amazon QLDB - Base de datos Amazon Quantum Ledger (AmazonQLDB)

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.

Ejemplos de políticas basadas en identidad para Amazon QLDB

De forma predeterminada, los usuarios y los roles no tienen permiso para crear o modificar QLDB recursos. Tampoco pueden realizar tareas con AWS Management Console, AWS Command Line Interface (AWS CLI) o AWS API. Para conceder a los usuarios permiso para realizar acciones en los recursos que necesitan, un IAM administrador puede crear IAM políticas. A continuación, el administrador puede añadir las IAM políticas a las funciones y los usuarios pueden asumir las funciones.

Para obtener información sobre cómo crear una política IAM basada en la identidad mediante estos documentos de JSON política de ejemplo, consulte Creación de IAM políticas en la Guía del IAMusuario.

Para obtener más información sobre las acciones y los tipos de recursos definidos porQLDB, incluido el ARNs formato de cada uno de los tipos de recursos, consulte Acciones, recursos y claves de condición de Amazon QLDB en la Referencia de autorización de servicio.

importante

Aviso de fin de soporte: los clientes actuales podrán usar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte Migración de un Amazon QLDB Ledger a Amazon Aurora SQL Postgre.

Prácticas recomendadas sobre las políticas

Las políticas basadas en la identidad determinan si alguien puede crear recursos de su cuenta, acceder a ellos o eliminarlosQLDB. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:

  • Comience con las políticas AWS administradas y avance hacia los permisos con privilegios mínimos: para empezar a conceder permisos a sus usuarios y cargas de trabajo, utilice las políticas AWS administradas que otorgan permisos para muchos casos de uso comunes. Están disponibles en su. Cuenta de AWS Le recomendamos que reduzca aún más los permisos definiendo políticas administradas por el AWS cliente que sean específicas para sus casos de uso. Para obtener más información, consulte las políticas AWS gestionadas o las políticas AWS gestionadas para las funciones laborales en la Guía del IAM usuario.

  • Aplique permisos con privilegios mínimos: cuando establezca permisos con IAM políticas, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se pueden llevar a cabo en determinados recursos en condiciones específicas, también conocidos como permisos de privilegios mínimos. Para obtener más información sobre cómo IAM aplicar permisos, consulte Políticas y permisos IAM en la IAM Guía del usuario.

  • Utilice las condiciones en IAM las políticas para restringir aún más el acceso: puede añadir una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puede escribir una condición de política para especificar que todas las solicitudes deben enviarse medianteSSL. También puedes usar condiciones para conceder el acceso a las acciones del servicio si se utilizan a través de una acción específica Servicio de AWS, por ejemplo AWS CloudFormation. Para obtener más información, consulte los elementos IAM JSON de la política: Condición en la Guía del IAM usuario.

  • Utilice IAM Access Analyzer para validar sus IAM políticas y garantizar permisos seguros y funcionales: IAM Access Analyzer valida las políticas nuevas y existentes para que se ajusten al lenguaje de las políticas (JSON) y IAM a las IAM mejores prácticas. IAMAccess Analyzer proporciona más de 100 comprobaciones de políticas y recomendaciones prácticas para ayudarle a crear políticas seguras y funcionales. Para obtener más información, consulte la validación de políticas de IAM Access Analyzer en la Guía del IAM usuario.

  • Requerir autenticación multifactorial (MFA): si se encuentra en una situación en la que se requieren IAM usuarios o un usuario raíz Cuenta de AWS, actívela MFA para aumentar la seguridad. Para solicitarlo MFA cuando se convoque a API las operaciones, añada MFA condiciones a sus políticas. Para obtener más información, consulte Configuración del API acceso MFA protegido en la Guía del IAM usuario.

Para obtener más información sobre las prácticas recomendadasIAM, consulte las prácticas recomendadas de seguridad IAM en la Guía del IAM usuario.

Mediante la consola de QLDB

Para acceder a la QLDB consola de Amazon, debes tener un conjunto mínimo de permisos. Estos permisos deben permitirte enumerar y ver detalles sobre los QLDB recursos de tu cuenta Cuenta de AWS. Si crea una política basada en identidades que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades (usuarios o roles) que tengan esa política.

No es necesario que concedas permisos mínimos de consola a los usuarios que realicen llamadas únicamente al AWS CLI o al AWS API. En su lugar, permita el acceso únicamente a las acciones que coincidan con la API operación que están intentando realizar.

Para garantizar que los usuarios y los roles tengan acceso completo a la QLDB consola y a todas sus funciones, adjunte la siguiente política AWS administrada a las entidades. Para obtener más informaciónAWS políticas gestionadas para Amazon QLDB, consulte y Añadir permisos a un usuario en la Guía del IAM usuario.

AmazonQLDBConsoleFullAccess

Permisos de historial de consultas

Además de los QLDB permisos, algunas funciones de la consola requieren permisos para el servicio de metadatos de consulta de bases de datos (prefijo de servicio:dbqms). Se trata de un servicio exclusivamente interno que gestiona las consultas recientes y guardadas en el editor de consultas de la consola, entre otros. QLDB Servicios de AWS Para obtener una lista completa de DBQMS API acciones, consulte el Servicio de metadatos de consultas de bases de datos en la Referencia de autorización de servicios.

Para permitir los permisos del historial de consultas, puede utilizar la política AWS gestionada mazonQLDBConsole FullAccess A. Esta política usa un comodín (dbqms:*) para permitir todas DBQMS las acciones de todos los recursos.

O bien, puede crear una IAM política personalizada e incluir las siguientes DBQMS acciones. El editor de consultas PartiQL de la QLDB consola requiere permisos para usar estas acciones en las funciones del historial de consultas.

dbqms:CreateFavoriteQuery dbqms:CreateQueryHistory dbqms:DeleteFavoriteQueries dbqms:DeleteQueryHistory dbqms:DescribeFavoriteQueries dbqms:DescribeQueryHistory dbqms:UpdateFavoriteQuery

Permisos de acceso total a la consola sin historial de consultas

Para permitir el acceso total a la QLDB consola sin ningún permiso de historial de consultas, puedes crear una IAM política personalizada que excluya todas las DBQMS acciones. Por ejemplo, el siguiente documento de política permite los mismos permisos que otorga la política AWS administrada A mazonQLDBConsole FullAccess, excepto las acciones que comienzan con el prefijo dbqms de servicio.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "qldb:CreateLedger", "qldb:UpdateLedger", "qldb:UpdateLedgerPermissionsMode", "qldb:DeleteLedger", "qldb:ListLedgers", "qldb:DescribeLedger", "qldb:ExportJournalToS3", "qldb:ListJournalS3Exports", "qldb:ListJournalS3ExportsForLedger", "qldb:DescribeJournalS3Export", "qldb:CancelJournalKinesisStream", "qldb:DescribeJournalKinesisStream", "qldb:ListJournalKinesisStreamsForLedger", "qldb:StreamJournalToKinesis", "qldb:GetBlock", "qldb:GetDigest", "qldb:GetRevision", "qldb:TagResource", "qldb:UntagResource", "qldb:ListTagsForResource", "qldb:SendCommand", "qldb:ExecuteStatement", "qldb:ShowCatalog", "qldb:InsertSampleData", "qldb:PartiQLCreateIndex", "qldb:PartiQLDropIndex", "qldb:PartiQLCreateTable", "qldb:PartiQLDropTable", "qldb:PartiQLUndropTable", "qldb:PartiQLDelete", "qldb:PartiQLInsert", "qldb:PartiQLUpdate", "qldb:PartiQLSelect", "qldb:PartiQLHistoryFunction" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "kinesis:ListStreams", "kinesis:DescribeStream" ], "Effect": "Allow", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "qldb.amazonaws.com" } } } ] }

Cómo permitir a los usuarios consultar sus propios permisos

En este ejemplo, se muestra cómo se puede crear una política que permita a IAM los usuarios ver las políticas integradas y administradas asociadas a su identidad de usuario. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la tecla o. AWS CLI AWS API

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Ejecutar transacciones de datos

Para interactuar con los datos QLDB transaccionales API (QLDBsesión) mediante la ejecución de declaraciones PartiQL en un libro mayor, debe conceder permiso a la acción. SendCommand API El siguiente JSON documento es un ejemplo de una política que concede permiso únicamente a la SendCommand API acción del libro mayor. myExampleLedger

Para usar esta política, sustituya us-east-1, 123456789012, y myExampleLedger en el ejemplo, con su propia información.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger" } ] }

Si myExampleLedger usa el modo de permisos ALLOW_ALL, esta política concede permisos para ejecutar todos los comandos PartiQL en cualquier tabla del libro mayor.

También puede utilizar una política AWS gestionada para conceder acceso total a todos los QLDB recursos. Para obtener más información, consulte AWS políticas gestionadas para Amazon QLDB.

Permisos estándar para acciones PartiQL y recursos de tabla

Para los libros de contabilidad en el modo de STANDARD permisos, puedes consultar los siguientes documentos de IAM política como ejemplos de concesión de los permisos PartiQL adecuados. Para obtener una lista de los permisos necesarios para cada comando de PartiQL, consulte la Referencia de permisos PartiQL.

Acceso completo a todas las acciones

El siguiente documento JSON de política otorga acceso completo para usar todos los comandos PartiQL en todas las tablas de. myExampleLedger Esta política produce el mismo efecto que el uso del modo de permisos ALLOW_ALL para el libro mayor.

Para usar esta política, sustituya us-east-1, 123456789012, y myExampleLedger en el ejemplo, con su propia información.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger" }, { "Sid": "QLDBPartiQLFullPermissions", "Effect": "Allow", "Action": [ "qldb:PartiQLCreateIndex", "qldb:PartiQLDropIndex", "qldb:PartiQLCreateTable", "qldb:PartiQLDropTable", "qldb:PartiQLUndropTable", "qldb:PartiQLDelete", "qldb:PartiQLInsert", "qldb:PartiQLUpdate", "qldb:PartiQLRedact", "qldb:PartiQLSelect", "qldb:PartiQLHistoryFunction" ], "Resource": [ "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*", "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/information_schema/user_tables" ] } ] }

Acceso completo a todas las acciones basadas en las etiquetas de las tablas

El siguiente documento JSON de política utiliza una condición que se basa en las etiquetas de recursos de la tabla para conceder acceso total y poder utilizar todos los comandos PartiQL en todas las tablas de. myExampleLedger Los permisos se conceden solo si la etiqueta de la tabla environment tiene el valor development.

aviso

Este es un ejemplo del uso de un carácter comodín (*) para permitir todas las acciones PartiQL, incluidas las operaciones administrativas y de lectura/escritura en todas las tablas de un libro mayor. QLDB En su lugar, es una práctica recomendada especificar explícitamente cada acción que se va a conceder y solo lo que necesita ese usuario, rol o grupo.

Para usar esta política, sustituya us-east-1, 123456789012, y myExampleLedger en el ejemplo, con su propia información.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger" }, { "Sid": "QLDBPartiQLFullPermissionsBasedOnTags", "Effect": "Allow", "Action": [ "qldb:PartiQL*" ], "Resource": [ "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*", "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/information_schema/user_tables" ], "Condition": { "StringEquals": { "aws:ResourceTag/environment": "development" } } } ] }

Acceso de lectura/escritura

El siguiente documento JSON de política otorga permisos para seleccionar, insertar, actualizar y eliminar datos en todas las tablas demyExampleLedger. Esta política no concede permisos para redactar datos ni modificar el esquema, por ejemplo, para crear y eliminar tablas e índices.

nota

Una instrucción UPDATE requiere permisos tanto para la acción qldb:PartiQLUpdate como para la qldb:PartiQLSelect de la tabla que se va a modificar. Cuando se ejecuta una instrucción UPDATE, esta realiza una operación de lectura además de la operación de actualización. Al requerir ambas acciones, se garantiza que solo se concederán permisos UPDATE a los usuarios que estén autorizados para leer el contenido de una tabla.

Del mismo modo, una instrucción DELETE requiere permisos tanto para la acción qldb:PartiQLDelete como para la acción qldb:PartiQLSelect.

Para usar esta política, sustituya us-east-1, 123456789012, y myExampleLedger en el ejemplo, con su propia información.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger" }, { "Sid": "QLDBPartiQLReadWritePermissions", "Effect": "Allow", "Action": [ "qldb:PartiQLDelete", "qldb:PartiQLInsert", "qldb:PartiQLUpdate", "qldb:PartiQLSelect", "qldb:PartiQLHistoryFunction" ], "Resource": [ "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*", "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/information_schema/user_tables" ] } ] }

Acceso de solo lectura

El siguiente documento JSON de política concede permisos de solo lectura en todas las tablas de. myExampleLedger Para usar esta política, sustituya us-east-1, 123456789012, y myExampleLedger en el ejemplo, con su propia información.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger" }, { "Sid": "QLDBPartiQLReadOnlyPermissions", "Effect": "Allow", "Action": [ "qldb:PartiQLSelect", "qldb:PartiQLHistoryFunction" ], "Resource": [ "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*", "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/information_schema/user_tables" ] } ] }

Acceso de solo lectura a una tabla específica

El siguiente documento JSON de política concede permisos de solo lectura en una tabla específica de. myExampleLedger En este ejemplo, el ID de tabla es Au1EiThbt8s0z9wM26REZN.

Para usar esta política, sustituya us-east-1, 123456789012, myExampleLedger, y Au1EiThbt8s0z9wM26REZN en el ejemplo, con su propia información.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger" }, { "Sid": "QLDBPartiQLReadOnlyPermissionsOnTable", "Effect": "Allow", "Action": [ "qldb:PartiQLSelect", "qldb:PartiQLHistoryFunction" ], "Resource": [ "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/Au1EiThbt8s0z9wM26REZN" ] } ] }

Permitir el acceso para crear tablas

El siguiente documento JSON de política otorga permiso para crear tablas enmyExampleLedger. La acción qldb:PartiQLCreateTable requiere permisos para el tipo de recurso de la tabla. Sin embargo, no se conoce el identificador de tabla de una tabla nueva en el momento en que se ejecuta una instrucción CREATE TABLE. Por lo tanto, una política que conceda el qldb:PartiQLCreateTable permiso debe usar un comodín (*) en la tabla ARN para especificar el recurso.

Para usar esta política, sustituya us-east-1, 123456789012, y myExampleLedger en el ejemplo, con su propia información.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger" }, { "Sid": "QLDBPartiQLCreateTablePermission", "Effect": "Allow", "Action": [ "qldb:PartiQLCreateTable" ], "Resource": [ "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*" ] } ] }

Permitir el acceso para crear tablas en función de las etiquetas de solicitud

El siguiente documento JSON de política utiliza una condición basada en la clave de aws:RequestTag contexto para conceder permiso para crear tablas en ellasmyExampleLedger. Los permisos se conceden solo si la etiqueta de la solicitud environment tiene el valor development. Para etiquetar las tablas al crearlas, es necesario acceder a las acciones qldb:PartiQLCreateTable y qldb:TagResource. Para obtener información sobre cómo etiquetar tablas al crearlas, consulteEtiquetar tablas.

Para usar esta política, sustituya us-east-1, 123456789012, y myExampleLedger en el ejemplo, con su propia información.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger" }, { "Sid": "QLDBPartiQLCreateTablePermission", "Effect": "Allow", "Action": [ "qldb:PartiQLCreateTable", "qldb:TagResource" ], "Resource": [ "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*" ], "Condition": { "StringEquals": { "aws:RequestTag/environment": "development" } } } ] }

Exportación de un diario a un bucket de Amazon S3

Paso 1: permisos de exportación del QLDB diario

En el siguiente ejemplo, concedes a un usuario tus Cuenta de AWS permisos para realizar la qldb:ExportJournalToS3 acción en un recurso QLDB contable. También concede permisos para realizar la iam:PassRole acción en el recurso de IAM rol que desea transferir al QLDB servicio. Esto es necesario para todas las solicitudes de exportación de diarios.

Para usar esta política, sustituya us-east-1, 123456789012, myExampleLedger, y qldb-s3-export en el ejemplo, con su propia información.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBJournalExportPermission", "Effect": "Allow", "Action": "qldb:ExportJournalToS3", "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger" }, { "Sid": "IAMPassRolePermission", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/qldb-s3-export", "Condition": { "StringEquals": { "iam:PassedToService": "qldb.amazonaws.com" } } } ] }

Paso 2: permisos en un bucket de Amazon S3

En el siguiente ejemplo, utiliza un IAM rol para conceder QLDB acceso a la escritura en uno de sus buckets de Amazon S3,DOC-EXAMPLE-BUCKET. Esto también es obligatorio para todas las exportaciones de QLDB revistas.

Además de conceder el s3:PutObject permiso, la política también concede el s3:PutObjectAcl permiso para establecer los permisos de la lista de control de acceso (ACL) para un objeto.

Para usar esta política, sustituya DOC - EXAMPLE - BUCKET en el ejemplo por el nombre de su bucket de Amazon S3.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBJournalExportS3Permissions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }

A continuación, asocie esta política de permisos a un IAM rol que QLDB pueda asumir para acceder a su bucket de Amazon S3. El siguiente JSON documento es un ejemplo de una política de confianza que QLDB permite asumir el IAM rol 123456789012 únicamente para cualquier QLDB recurso de la cuenta.

Para usar esta política, sustituya us-east-1 y 123456789012 en el ejemplo, con su propia información.

{ "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:*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }

Transmisión de un diario a Kinesis Data Streams

Paso 1: permisos de transmisión del QLDB diario

En el siguiente ejemplo, se conceden Cuenta de AWS permisos a un usuario para que lleve a cabo la qldb:StreamJournalToKinesis acción en todos los subrecursos de una QLDB transmisión de un libro mayor. También concedes permisos para realizar la iam:PassRole acción en el recurso de IAM rol que deseas transferir al QLDB servicio. Esto es necesario para todas las solicitudes de secuencias.

Para usar esta política, sustituya us-east-1, 123456789012, myExampleLedger, y qldb-kinesis-stream en el ejemplo, con su propia información.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBJournalStreamPermission", "Effect": "Allow", "Action": "qldb:StreamJournalToKinesis", "Resource": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/*" }, { "Sid": "IAMPassRolePermission", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/qldb-kinesis-stream", "Condition": { "StringEquals": { "iam:PassedToService": "qldb.amazonaws.com" } } } ] }

Paso 2: permisos de Kinesis Data Streams

En el siguiente ejemplo, utiliza un IAM rol para conceder QLDB acceso a la escritura de registros de datos en su transmisión de datos de Amazon Kinesis, stream-for-qldb. Esto también es obligatorio para todas las transmisiones del QLDB diario.

Para usar esta política, sustituya us-east-1, 123456789012, y stream-for-qldb en el ejemplo, con 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/stream-for-qldb" } ] }

A continuación, asocie esta política de permisos a un IAM rol que QLDB pueda asumir para acceder a su transmisión de datos de Kinesis. El siguiente JSON documento es un ejemplo de una política de confianza que permite QLDB asumir un IAM rol para cualquier QLDB flujo de la cuenta 123456789012 únicamente en el libro mayormyExampleLedger.

Para usar esta política, sustituya us-east-1, 123456789012, y myExampleLedger en el ejemplo, con su propia información.

{ "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" } } } ] }

Actualizar los QLDB libros de contabilidad en función de las etiquetas

Puede utilizar las condiciones de su política basada en la identidad para controlar el acceso a los QLDB recursos en función de las etiquetas. En este ejemplo, se muestra cómo crear una política que permita actualizar un libro mayor. Sin embargo, los permisos solo se conceden si la etiqueta del libro mayor Owner tiene el valor del nombre de usuario de dicho usuario. Esta política también proporciona los permisos necesarios para llevar a cabo esta acción en la consola.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListLedgersInConsole", "Effect": "Allow", "Action": "qldb:ListLedgers", "Resource": "*" }, { "Sid": "UpdateLedgerIfOwner", "Effect": "Allow", "Action": "qldb:UpdateLedger", "Resource": "arn:aws:qldb:*:*:ledger/*", "Condition": { "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"} } } ] }

También puede adjuntar esta política al usuario de en su cuenta. Si un usuario llamado richard-roe intenta actualizar un QLDB libro mayor, éste debe estar etiquetado o. Owner=richard-roe owner=richard-roe De lo contrario, se le deniega el acceso. La clave de la etiqueta de condición Owner coincide con los nombres de las claves de condición Owner y owner porque no distinguen entre mayúsculas y minúsculas. Para obtener más información, consulte los elementos IAM JSON de la política: condición en la Guía del IAMusuario.