Cómo empezar con el modo de permisos estándar en 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.

Cómo empezar con el modo de permisos estándar en Amazon QLDB

Usa esta sección para empezar con el modo de permisos estándar en AmazonQLDB. En esta sección se proporciona una tabla de referencia que te ayudará a escribir una política basada en la identidad en AWS Identity and Access Management (IAM) para las acciones de PartiQL y los recursos de tablas en. QLDB También incluye un step-by-step tutorial para crear políticas de permisos en IAM e instrucciones para buscar una tabla ARN y crear etiquetas en ella. QLDB

El modo de permisos STANDARD

QLDBahora admite un modo de STANDARD permisos para los recursos del libro mayor. El modo de permisos estándar habilita el control de acceso con granularidad más precisa para libros mayores, tablas y comandos de PartiQL. De forma predeterminada, este modo deniega todas las solicitudes para ejecutar cualquier comando de PartiQL en cualquier tabla de un libro mayor.

nota

Anteriormente, el único modo de permisos disponible para un libro mayor era ALLOW_ALL. El ALLOW_ALL modo permite el control de acceso con un nivel de granularidad API de nivel de detalle para los libros de contabilidad, y sigue siendo compatible, aunque no se recomienda, para los libros de contabilidad. QLDB Este modo permite a los usuarios que tienen SendCommand API permiso ejecutar todos los comandos PartiQL en cualquier tabla del registro que especifique la política de permisos (por lo tanto, «permitir todos» los comandos PartiQL).

Puede cambiar el modo de permisos de los libros mayores existentes de ALLOW_ALL a STANDARD. Para obtener más información, consulte Migración al modo de permisos estándar.

Para permitir comandos en el modo estándar, debes crear una política de permisos IAM para recursos de tabla específicos y acciones PartiQL. Esto se suma al SendCommand API permiso para el libro mayor. Para facilitar las políticas en este modo, QLDB introdujimos un conjunto de IAM acciones para los comandos PartiQL y Amazon Resource Names (ARNs) para QLDB las tablas. Para obtener más información sobre el modelo QLDB de objetos de datos, consulteConceptos básicos y terminología de Amazon QLDB.

Referencia de permisos PartiQL

La siguiente tabla muestra cada comando QLDB PartiQL, las IAM acciones correspondientes para las que debes conceder permisos para ejecutar el comando y AWS los recursos para los que puedes conceder los permisos. Las acciones se especifican en el campo Action de la política y el valor del recurso se especifica en el campo Resource de la política.

importante
  • IAMlas políticas que otorgan permisos a estos comandos PartiQL solo se aplican a tu libro mayor si el modo de STANDARD permisos está asignado al libro mayor. Estas políticas no se aplican a los libros mayores en el modo de permisos ALLOW_ALL.

    Para obtener información sobre cómo especificar el modo de permisos al crear o actualizar un libro mayor, consulte Operaciones básicas para los libros de QLDB contabilidad de Amazon o Paso 1: crear un nuevo libro mayor en la Introducción a la consola.

  • Para ejecutar cualquier comando PartiQL en un libro mayor, también debes conceder permiso a la SendCommand API acción para el recurso del libro mayor. Esto se suma a las acciones de PartiQL y a los recursos de tabla que se muestran en la siguiente tabla. Para obtener más información, consulte Ejecutar transacciones de datos.

Comandos y permisos necesarios de Amazon QLDB PartiQL
Comando Permisos (IAMacciones) necesarios Recursos Acciones dependientes
CREATE TABLE qldb:PartiQLCreateTable

arn:aws:qldb:region:account-id:ledger/ledger-name/table/*

qldb:TagResource (para etiquetar en el momento de la creación)
DROP TABLE qldb:PartiQLDropTable

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

UNDROP TABLE qldb:PartiQLUndropTable

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

CREATE INDEX qldb:PartiQLCreateIndex

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

DROP INDEX qldb:PartiQLDropIndex

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

DELETE qldb:PartiQLDelete

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

qldb:PartiQLSelect
FROM- REMOVE (para documentos completos)
INSERT qldb:PartiQLInsert

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

UPDATE qldb:PartiQLUpdate

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

qldb:PartiQLSelect
FROM(INSERT,REMOVE, oSET)
REDACT_REVISION (procedimiento almacenado) qldb:PartiQLRedact

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

SELECTFROMnombre_tabla

qldb:PartiQLSelect

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

SELECTFROMinformation_schema.user_tables

qldb:PartiQLSelect

arn:aws:qldb:region:account-id:ledger/ledger-name/information_schema/user_tables

SELECTFROMhistorial (nombre_tabla)

qldb:PartiQLHistoryFunction

arn:aws:qldb:region:account-id:ledger/ledger-name/table/table-id

Para ver ejemplos de documentos de IAM políticas que conceden permisos a estos comandos PartiQL, vaya a Tutorial de inicio rápido: Creación de políticas de permisos o consulte. Ejemplos de políticas basadas en identidad para Amazon QLDB

Buscar un ID de tabla y ARN

Para encontrar el ID de una tabla, utilice AWS Management Console o consulte la tabla information_schema.user_tables. Para ver los detalles de la tabla en la consola o consultar esta tabla del catálogo del sistema, debe tener permiso SELECT sobre el recurso del catálogo del sistema. Por ejemplo, para encontrar el ID de tabla de la tabla Vehicle, puede ejecutar la siguiente instrucción.

SELECT * FROM information_schema.user_tables WHERE name = 'Vehicle'

Esta consulta devuelve resultados en un formato similar al del ejemplo siguiente.

{ tableId: "Au1EiThbt8s0z9wM26REZN", name: "Vehicle", indexes: [ { indexId: "Djg2nt0yIs2GY0T29Kud1z", expr: "[VIN]", status: "ONLINE" }, { indexId: "4tPW3fUhaVhDinRgKRLhGU", expr: "[LicensePlateNumber]", status: "BUILDING" } ], status: "ACTIVE" }

Para conceder permisos para ejecutar sentencias PartiQL en una tabla, debes especificar un recurso de tabla con el siguiente ARN formato.

arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}/table/${table-id}

El siguiente es un ejemplo de una tabla ARN para el ID Au1EiThbt8s0z9wM26REZN de tabla.

arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/Au1EiThbt8s0z9wM26REZN

También puede usar la QLDB consola para buscar una mesaARN.

Para encontrar la ARN de una mesa (consola)
  1. Inicia sesión en y abre la AWS Management Console QLDB consola de Amazon en https://console.aws.amazon.com/qldb.

  2. En el panel de navegación, elija Libros mayores.

  3. En la lista de libros de contabilidad, elige el nombre del libro de contabilidad cuya tabla ARN quieres buscar.

  4. En la página de detalles del libro mayor, en la pestaña Tablas, busque el nombre de la tabla ARN que desee buscar. Para copiarlaARN, selecciona el icono de copia ( Copy icon. ) que aparece junto a ella.

Etiquetar tablas

Puede etiquetar los recursos de tabla. Para gestionar las etiquetas de las tablas existentes, utilice las API operaciones AWS Management Console o TagResourceUntagResource, yListTagsForResource. Para obtener más información, consulte Etiquetado de los recursos de Amazon QLDB.

nota

Los recursos de la tabla no heredan las etiquetas de su recurso de registro raíz.

Actualmente, el etiquetado de tablas al crearlas solo se admite en los libros mayores en el modo de permisos STANDARD.

También puedes definir etiquetas de tabla mientras creas la tabla mediante la QLDB consola o especificándolas en una sentencia CREATE TABLE PartiQL. En el siguiente ejemplo, se crea una tabla llamada Vehicle con la etiqueta environment=production.

CREATE TABLE Vehicle WITH (aws_tags = `{'environment': 'production'}`)

Para etiquetar las tablas al crearlas, es necesario acceder a las acciones qldb:PartiQLCreateTable y qldb:TagResource.

Al etiquetar los recursos en el momento de su creación, ya no es necesario ejecutar scripts de etiquetado personalizados después de la creación del recurso. Una vez etiquetada una tabla, puede controlar el acceso a la tabla en función de esas etiquetas. Por ejemplo, puede conceder acceso total solo a las tablas que tengan una etiqueta específica. Para ver un ejemplo JSON de política, consulteAcceso completo a todas las acciones basadas en las etiquetas de las tablas.

También puede usar la QLDB consola para definir las etiquetas de la tabla mientras crea la tabla.

Etiquetado de una tabla al crearla (consola)
  1. Inicia sesión en y abre la AWS Management Console QLDB consola de Amazon en https://console.aws.amazon.com/qldb.

  2. En el panel de navegación, elija Libros mayores.

  3. En la lista de Libros mayores, elija el nombre del libro mayor donde quiere crear la tabla.

  4. En la página de detalles del libro mayor, en la pestaña Tablas, elija Crear tabla.

  5. En la página Crear tabla, haga lo siguiente:

    • Nombre de tabla: introduzca un nombre para la tabla.

    • Etiquetas: agregue metadatos a la tabla asociando etiquetas como pares de clave-valor. Puede agregar etiquetas a las tablas para que le resulte más fácil organizarlas e identificarlas.

      Elija Agregar etiqueta y, a continuación, introduzca cualquier par clave-valor según corresponda.

  6. Cuando la configuración sea la deseada, elija Create table (Crear tabla).

Tutorial de inicio rápido: Creación de políticas de permisos

Este tutorial le guía por los pasos para crear políticas de permisos IAM para un QLDB libro mayor de Amazon en el modo de STANDARD permisos. A continuación, puede asignar los permisos a los usuarios, grupos o roles.

Para ver más ejemplos de documentos de IAM políticas que otorgan permisos a comandos PartiQL y recursos de tablas, consulte. Ejemplos de políticas basadas en identidad para Amazon QLDB

Requisitos previos

Antes de comenzar, asegúrese de que hace lo siguiente:

  1. Siga las instrucciones AWS de configuración que aparecen enAcceder a Amazon QLDB, si aún no lo ha hecho. Estos pasos incluyen registrarse AWS y crear un usuario administrativo.

  2. Cree un nuevo libro mayor y elija el modo de permisos STANDARD para el libro mayor. Para aprender a hacerlo, consulte Paso 1: crear un nuevo libro mayor en Introducción a la consola o Operaciones básicas para los libros de QLDB contabilidad de Amazon.

Creación de una política de solo lectura

Para usar el editor JSON de políticas a fin de crear una política de solo lectura para todas las tablas de un libro mayor en el modo de permisos estándar, haga lo siguiente:

  1. Inicie sesión en AWS Management Console y abra la consola enIAM. 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. Selecciona la JSONpestaña.

  5. Copie y pegue el siguiente documento JSON de política. Este ejemplo de política concede acceso de solo lectura a todas las tablas de un 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": "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" ] } ] }
  6. Elija Revisar política.

    nota

    Puede cambiar entre el editor visual y JSONlas pestañas en cualquier momento. Sin embargo, si realiza cambios o selecciona Revisar la política en la pestaña del editor visual, IAM podría reestructurar su política para optimizarla para el editor visual. Para obtener más información, consulte Reestructuración de políticas en la Guía del IAM usuario.

  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.

Crear una política de acceso completo

Para crear una política de acceso total a todas las tablas de un QLDB libro mayor en el modo de permisos estándar, haga lo siguiente:

  • Repita los pasos anteriores utilizando el siguiente documento de política. Esta política de ejemplo concede acceso a todos los comandos PartiQL de todas las tablas de un libro mayor, mediante el uso de caracteres comodín (*) para cubrir todas las acciones de PartiQL y todos los recursos de un libro mayor.

    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": "QLDBPartiQLFullPermissions", "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" ] } ] }

Crear una política de solo lectura para una tabla específica

Para crear una política de acceso de solo lectura para una tabla específica de un QLDB libro mayor en el modo de permisos estándar, haga lo siguiente:

  1. ARNBusque la tabla utilizando AWS Management Console o consultando la tabla del catálogo del sistema. information_schema.user_tables Para obtener instrucciones, consulte Buscar un ID de tabla y ARN.

  2. Utilice la tabla ARN para crear una política que permita el acceso de solo lectura a la tabla. Para ello, repita los pasos anteriores utilizando el siguiente documento de política.

    Esta política de ejemplo concede acceso de solo lectura únicamente a la tabla especificada. 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": "QLDBPartiQLReadOnlyPermissions", "Effect": "Allow", "Action": [ "qldb:PartiQLSelect", "qldb:PartiQLHistoryFunction" ], "Resource": [ "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/Au1EiThbt8s0z9wM26REZN" ] } ] }

Asignación de permisos

Tras crear una política de QLDB permisos, asigne los permisos de la siguiente manera.

Para dar acceso, agregue permisos a los usuarios, grupos o roles: