Introducción al modo de permisos estándar en Amazon 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.

Introducción al modo de permisos estándar en Amazon QLDB

Utilice esta sección para comenzar a utilizar el modo de permisos estándar en Amazon QLDB. En esta sección se proporciona una tabla de referencia que le ayudará a escribir una política basada en identidad enAWS Identity and Access Management(IAM) para acciones de PartiQL y recursos de tablas en QLDB. También incluye un step-by-step tutorial para crear políticas de permisos en IAM e instrucciones para encontrar un ARN de tabla y crear etiquetas de tabla en QLDB.

LaSTANDARDmodo de permisos

QLDB ya admite unSTANDARDmodo de permisos para los recursos del libro mayor. El modo de permisos estándar permite el control de acceso con mayor granularidad 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 eraALLOW_ALL. LaALLOW_ALLpermite el control de acceso con granularidad a nivel de API para los libros mayores y sigue siendo compatible (pero no se recomienda) para los libros mayores de QLDB. Este modo permite a los usuarios que tienen laSendCommandPermiso de API para ejecutar todos los comandos de PartiQL en cualquier tabla del libro mayor que se especifique en la política de permisos (por lo tanto, «permitir todos» los comandos de PartiQL).

Puede cambiar el modo de permisos de los libros mayores existentes enALLOW_ALLaSTANDARD. Para obtener información, consulte Migración al modo de permisos estándar.

Para permitir comandos en el modo estándar, debe crear una política de permisos en IAM para recursos de tabla y acciones de PartiQL específicos. Esto se suma alSendCommandPermiso de la API para el libro de contabilidad. Para facilitar las políticas en este modo, QLDB introdujo unconjunto de acciones de IAMpara los comandos de PartiQL y los nombres de recursos de Amazon (ARN) para las tablas QLDB. Para obtener más información acerca del modelo de objetos de datos de QLDB, consulteConceptos básicos y terminología en Amazon QLDB.

Referencia de permisos PartiQL

La siguiente tabla enumera cada comando QLDB PartiQL, las acciones de IAM correspondientes para las que debe conceder permisos para ejecutar el comando y lasAWSrecursos para los que puede 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
  • Las políticas de IAM que conceden permisos a estos comandos de PartiQL solo se aplican a su libro mayor si elSTANDARDel modo de permisos está asignado al libro mayor. Estas políticas no son aplicables a los libros de contabilidad delALLOW_ALLmodo de permisos.

    Para obtener información sobre cómo especificar el modo de permisos al crear o actualizar un libro mayor, consulteOperaciones básicas para los libros mayores de Amazon QLDB, o bienPaso 1: Creación de un libro de contabilidad nuevoenIntroducción a la consola.

  • Para ejecutar cualquier comando de PartiQL en un contabilidad, también debe conceder permiso alSendCommandAcción de API para el recurso contable. Esto se suma a las acciones de PartiQL y los recursos de tabla que se enumeran en la siguiente tabla. Para obtener más información, consulte Ejecución de transacciones de datos.

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

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

qldb:TagResource(para el etiquetado durante la creación)
DROP TABLE qldb:PartiQLDropTable

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

MESA UNDROP 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
DESDE-ELIMINAR(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 o SET)

SELECT FROM table_name

qldb:PartiQLSelect

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

SELECCIONAR DE information_schema.user_tables

qldb:PartiQLSelect

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

SELECT FROM history (nombre_tabla)

qldb:PartiQLHistoryFunction

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

Para ver ejemplos de documentos de políticas de IAM que conceden permisos a estos comandos de PartiQL, vaya aTutorial de inicio rápido: Creación de políticas de permisoso consulteEjemplos de políticas basadas en identidades de Amazon QLDB.

Encontrar un ID y un ARN de tabla

Puede encontrar un ID de tabla mediante laAWS Management Consoleo consultando la tablainformation_schema.user_tables. Para ver los detalles de la tabla en la consola o para consultar esta tabla del catálogo del sistema, debe tenerSELECTpermiso en el recurso del catálogo del sistema. Por ejemplo, para encontrar el ID de tabla delVehicle, puede ejecutar la siguiente instrucción.

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

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

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

Para conceder permisos para ejecutar instrucciones PartiQL en una tabla, debe especificar un recurso de tabla en el siguiente formato de ARN.

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

A continuación, se muestra un ejemplo de un ARN de tabla para el ID de tabla.Au1EiThbt8s0z9wM26REZN.

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

También puede utilizar la consola de QLDB para buscar un ARN de tabla.

Para buscar el ARN de una tabla (consola)

  1. Inicie en.AWS Management Consoley abra la consola de Amazon QLDB enhttps://console.aws.amazon.com/qldb.

  2. En el panel de navegación, seleccioneLibros de contabilidad.

  3. En la lista deLibros de contabilidad, elija el nombre del libro mayor cuyo ARN de tabla desee buscar.

  4. En la página de detalles del libro mayor, en la secciónTablas, busque el nombre de la tabla cuyo ARN quiere buscar. Para copiar el ARN, elija el icono de copia ( ) junto a él.

Tablas de etiquetado

Puede etiquetar los recursos de la mesa. Para gestionar las etiquetas de las tablas existentes, utilice laAWS Management Consoleo las operaciones de la APITagResource,UntagResource, yListTagsForResource. Para obtener más información, consulte Etiquetado de recursos de Amazon QLDB.

nota

Los recursos de tabla no heredan las etiquetas de su recurso de libro mayor raíz.

El etiquetado de tablas al crearlas se admite actualmente para los libros mayores de laSTANDARDsolo en el modo de permisos.

También puede definir etiquetas de tabla mientras crea la tabla mediante la consola de QLDB o especificándolas en unCREATE TABLEInstrucciones de PartiQL. En el siguiente ejemplo, se crea una tabla llamadaVehiclecon la etiquetaenvironment=production.

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

El etiquetado de tablas en el momento de la creación requiere acceso tanto aqldb:PartiQLCreateTableyqldb:TagResourceacciones.

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. Después de etiquetar una tabla, puede controlar el acceso a la tabla en función de esas etiquetas. Por ejemplo, puede dar acceso completo solamente a tablas que tengan una etiqueta específica. Para ver una política de JSON de ejemplo, consulteAcceso completo a todas las acciones basadas en etiquetas de tabla.

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

Para etiquetar una tabla al crearla (consola)

  1. Inicie en.AWS Management Consoley abra la consola de Amazon QLDB enhttps://console.aws.amazon.com/qldb.

  2. En el panel de navegación, seleccioneLibros de contabilidad.

  3. En la lista deLibros de contabilidad, seleccione el nombre del libro mayor en el que desea crear la tabla.

  4. En la página de detalles del libro mayor, en la secciónTablas, elijaCrear tablas.

  5. En la páginaCrear tablas, haga lo siguiente:

    • Nombre de la tabla— Introduzca un nombre para la tabla.

    • Etiquetas: permite añadir metadatos a la tabla asociando las etiquetas como pares de clave-valor. Puede añadir etiquetas a la tabla para organizarlas e identificarlas.

      ElegirAgregue etiquetay, a continuación, introduzca los pares 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 a través de los pasos para crear políticas de permisos en IAM para un libro mayor de Amazon QLDB enSTANDARDmodo de permisos. Luego, puede asociar las nuevas políticas directamente a un usuario de IAM. También puede cambiar o eliminar las políticas de un usuario.

Para obtener más ejemplos de documentos de políticas de IAM que conceden permisos a los comandos de PartiQL y los recursos de tabla, consulteEjemplos de políticas basadas en identidades de Amazon QLDB.

Requisitos previos

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

  1. Siga elAWSinstrucciones de configuración enAcceso a Amazon QLDB, si aún no lo ha hecho. Estos pasos incluyen inscribirse enAWSy crear un usuario de IAM.

  2. Cree un nuevo libro mayor y elija elSTANDARDmodo de permisos para el libro de contabilidad. Para obtener más información, consultePaso 1: Creación de un libro de contabilidad nuevoenIntroducción a la consola, o bienOperaciones básicas para los libros mayores de Amazon QLDB.

Creación de una política de solo lectura

Para utilizar el editor de política de JSON para crear una política de solo lectura paratodas las mesasen un libro mayor en el modo de permisos estándar, haga lo siguiente:

  1. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En la columna de navegación de la izquierda, elija Policies.

    Si es la primera vez que elige Policies (Políticas), aparecerá la página Welcome to Managed Policies (Bienvenido a políticas administradas). Elija Get Started.

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

  4. Seleccione la pestaña JSON.

  5. Copie y pegue el siguiente documento de política JSON. Este ejemplo de política de subvencionesread-onlyacceso a todas las tablas de un libro de contabilidad.

    Para utilizar esta política, sustituyaus-east-1,123456789012, ymyExampleLedgeren 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 Review policy (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 una política de acceso total

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

  • Repita el procesopasos anterioresmediante el documento de política de siguiente. En este ejemplo de política se concede acceso atodos los comandos de PartiQLparatodas las mesasen un libro mayor, mediante el uso de comodines (*) 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 de PartiQL, incluidas las operaciones administrativas y de lectura/escritura en todas las tablas de un libro de 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 utilizar esta política, sustituyaus-east-1,123456789012, ymyExampleLedgeren 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 en un libro mayor de QLDB en el modo de permisos estándar, haga lo siguiente:

  1. Busque el ARN de la tabla mediante laAWS Management Consoleo consultando la tabla del catálogo del sistemainformation_schema.user_tables. Para obtener instrucciones, consulte Encontrar un ID y un ARN de tabla.

  2. Use el ARN de tabla para crear una política que permita el acceso de solo lectura a la tabla. Para ello, repita lapasos anterioresmediante el documento de política de siguiente.

    Este ejemplo de política de subvencionesread-onlyacceso asolo tabla especificada. En este ejemplo, el ID de tabla esAu1EiThbt8s0z9wM26REZN. Para utilizar esta política, sustituyaus-east-1,123456789012,myExampleLedger, yAu 1EiThbt8S0Z9WM26 REZNen 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" ] } ] }

Agregar permisos asociando políticas directamente al usuario

Cuando se asocian políticas, el cambio afecta inmediatamente al usuario.

Para agregar permisos a un usuario asociando directamente políticas administradas

  1. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. Elija Users (Usuarios) en el panel de navegación, seleccione el nombre del usuario cuyos permisos quiera modificar y, a continuación, elija la pestaña Permissions (Permisos).

  3. Elija Add permissions (Añadir permisos) y, a continuación, elija Attach existing policies directly to user (Asociar políticas existentes directamente al usuario).

  4. Seleccione una o varias casillas para las políticas administradas que desea asociar al usuario. Para obtener una lista deAWSpolíticas administradas para QLDB, consulteAWSPolíticas administradas por para Amazon QLDB.

    También puede crear una política administrada nueva eligiendo Create policy (Crear política). Si lo hace, vuelva a la ventana o pestaña de este navegador cuando haya acabado de crear la nueva política. Elija Refresh (Actualizar) y, a continuación, seleccione la casilla de verificación de la política nueva para asociarla a su usuario. Para obtener más información, consulte Creación de políticas de IAM en la Guía del usuario de IAM.

  5. Seleccione Next (Siguiente): Review (Revisar)para consultar la lista de políticas que deben asociarse al usuario. A continuación, elija Add permissions (Añadir permisos).

Edición de una política de permisos asociada a un usuario

Cuando se modifican los permisos, el cambio afecta inmediatamente al usuario.

Para editar las políticas administradas asociadas a un usuario

  1. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Users.

  3. Elija el nombre del usuario cuya política de permisos desea modificar.

  4. Elija la pestaña Permissions (Permisos). Si es necesario, abra la sección Permissions policies (Políticas de permisos).

  5. Elija el nombre de la política que desea editar para ver sus detalles. Elija la pestaña Used as (Usada como) para ver otras entidades que podrían verse afectadas si edita la política.

  6. Elija la pestaña Permissions (Permisos) y revise los permisos que concede la política. A continuación, elija Edit policy (Editar política).

  7. Edite la política mediante la pestaña Editor visual o la pestaña JSON y resuelva cualquier recomendación de validación de políticas. Para obtener más información, consulteEdición de políticas de IAMen laIAM User Guide.

  8. Elija Review policy (Revisar política), revise el resumen de la política y, a continuación, elija Save changes (Guardar cambios).

Eliminación de una política de permisos de un usuario

Cuando se elimina una política de un usuario, el cambio afecta inmediatamente al usuario.

Para revocar permisos de usuarios de IAM

  1. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Users.

  3. Elija el nombre del usuario cuyo límite de permisos desea eliminar.

  4. Elija la pestaña Permissions (Permisos).

  5. Si quiere revocar los permisos eliminando una política existente, vea el Policy type (Tipo de política) para comprender cómo el usuario obtiene dicha política antes de elegir X para eliminar la política:

    • Si la política se aplica debido a la pertenencia a un grupo; al seleccionar X sacará al usuario del grupo. Recuerde que es posible que tenga varias políticas asociadas a un único grupo. Si elimina al usuario de ese grupo, el usuario perderá el acceso a todas las políticas que recibió al pertenecer a dicho grupo.

    • Si la política es una política administrada asociada directamente al usuario, si elige X separará la política del usuario. Esto no afecta a la política en sí o a cualquier otra entidad a la que la política pueda estar asociada.

    • Si la política es una política integrada insertada, al elegir X eliminará la política de IAM. Las políticas insertadas que están directamente asociadas a un usuario existen únicamente en dicho usuario.