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 conocer el modo de permisos estándar en Amazon QLDB. En esta sección se proporciona una tabla de referencia que le ayudará a redactar 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 encontrar un ARN de tabla y crear etiquetas de tabla en QLDB.
Temas
El modo de permisos STANDARD
QLDB ahora admite un modo de permisos STANDARD
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 modo ALLOW_ALL
habilita el control de acceso con granularidad de nivel de API para los libros mayores, y sigue siendo compatible, aunque no se recomienda, para los libros mayores de QLDB. Este modo permite a los usuarios que tengan el permiso de API SendCommand
ejecutar todos los comandos de PartiQL en cualquier tabla del libro mayor que se especifique en la política de permisos (por lo tanto, los comandos «permitir todos» de PartiQL).
Puede cambiar el modo de permisos de los libros mayores existentes de ALLOW_ALL
a STANDARD
. 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 PartiQL específicos. Esto se suma al permiso API SendCommand
para el libro mayor. Para facilitar las políticas en este modo, QLDB introdujo un conjunto de acciones de IAM para los comandos PartiQL y Amazon Resource Names ARNs () para las tablas de QLDB. Para obtener más información acerca del modelo de objeto de datos de QLDB, consulte Conceptos básicos y terminología de Amazon QLDB.
Referencia de permisos PartiQL
En la siguiente tabla se muestra cada comando PartiQL de QLDB, las acciones de IAM correspondientes para las que debe conceder permisos para ejecutar el comando AWS y los recursos 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 PartiQL solo se aplican a su libro mayor si el modo de permisos
STANDARD
está asignado al libro mayor. Estas políticas no se aplican a los libros mayores en el modo de permisosALLOW_ALL
.Para obtener información sobre cómo especificar el modo de permisos al crear o actualizar un libro mayor, consulte Operaciones básicas de libros mayores de Amazon QLDB 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 debe conceder permiso a la acción de la API
SendCommand
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.
Comando | Permisos necesarios (acciones de IAM) | Recursos | Acciones dependientes |
---|---|---|---|
CREATE TABLE | qldb:PartiQLCreateTable |
|
qldb:TagResource (para etiquetar en el momento de la creación) |
DROP TABLE | qldb:PartiQLDropTable |
|
|
UNDROP TABLE | qldb:PartiQLUndropTable |
|
|
CREATE INDEX | qldb:PartiQLCreateIndex |
|
|
DROP INDEX | qldb:PartiQLDropIndex |
|
|
DELETE | qldb:PartiQLDelete |
|
qldb:PartiQLSelect |
FROM-REMOVE (para documentos completos) | |||
INSERT | qldb:PartiQLInsert |
|
|
UPDATE | qldb:PartiQLUpdate |
|
qldb:PartiQLSelect |
FROM (INSERT, REMOVE o SET) | |||
REDACT_REVISION (procedimiento almacenado) | qldb:PartiQLRedact |
|
|
qldb:PartiQLSelect |
|
||
qldb:PartiQLSelect |
|
||
qldb:PartiQLHistoryFunction |
|
Para ver ejemplos de documentos de políticas de IAM que conceden permisos a estos comandos PartiQL, vaya Tutorial de inicio rápido: Creación de políticas de permisos a o consulte Ejemplos de políticas basadas en identidades para Amazon QLDB.
Búsqueda de un ID y un ARN de tabla
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 instrucciones PartiQL en una tabla, debe especificar un recurso de tabla en el siguiente formato 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 encontrar un ARN de tabla.
Cómo encontrar el ARN de una tabla (consola)
-
En el panel de navegación, elija Libros mayores.
-
En la lista de Libros mayores, elija el nombre del libro mayor cuyo ARN de tabla desee encontrar.
-
En la página de detalles del libro mayor, en la pestaña Tablas, busque el nombre de la tabla cuyo ARN desee encontrar. Para copiar el ARN, seleccione el icono de copia (
) situado junto a él.
Etiquetar tablas
Puede etiquetar los recursos de tabla. Para administrar las etiquetas de las tablas existentes, utilice las operaciones de la API AWS Management Console o, y. TagResource
UntagResource
ListTagsForResource
Para obtener más información, consulte Etiquetado de 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 puede definir etiquetas de tabla mientras crea la tabla mediante la consola de QLDB o especificándolas en una instrucción PartiQL CREATE TABLE
. 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 una política de ejemplo JSON, consulte Acceso completo a todas las acciones basadas en las etiquetas de las tablas.
También puede usar la consola de QLDB para definir las etiquetas de la tabla mientras crea la tabla.
Etiquetado de una tabla al crearla (consola)
-
En el panel de navegación, elija Libros mayores.
-
En la lista de Libros mayores, elija el nombre del libro mayor donde quiere crear la tabla.
-
En la página de detalles del libro mayor, en la pestaña Tablas, elija Crear tabla.
-
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.
-
-
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 lo guía por los pasos para crear políticas de permisos en IAM para un libro mayor de Amazon QLDB en el modo de permisos STANDARD
. A continuación, puede asignar los permisos a los usuarios, grupos o roles.
Para ver ejemplos de documentos de políticas de IAM que conceden permisos a estos comandos PartiQL y recursos de tabla, consulte Ejemplos de políticas basadas en identidades para Amazon QLDB.
Temas
Requisitos previos
Antes de comenzar, asegúrese de que hace lo siguiente:
-
Siga las instrucciones de AWS configuración que aparecen enAcceso a Amazon QLDB, si aún no lo ha hecho. Estos pasos incluyen registrarse AWS y crear un usuario administrativo.
-
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 de libros mayores de Amazon QLDB.
Creación de una política de solo lectura
Para usar el editor de políticas JSON para 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:
Inicie sesión en la consola de IAM AWS Management Console y ábrala en https://console.aws.amazon.com/iam/
. -
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.
-
En la parte superior de la página, seleccione Crear política.
-
Seleccione la pestaña JSON.
-
Copie y pegue la siguiente política JSON. 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
, ymyExampleLedger
en el ejemplo, por 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" ] } ] } -
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.
-
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 para todas las tablas de un libro mayor de QLDB 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 de PartiQL, incluida la administración y las operaciones de lectura/escritura en todas las tablas de un libro mayor 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 usar esta política, sustituya y
us-east-1
123456789012
,myExampleLedger
en el ejemplo, por 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 solo lectura para todas las tablas de un libro mayor de QLDB en el modo de permisos estándar, haga lo siguiente:
-
Busque el ARN de la tabla mediante AWS Management Console o consultando la tabla del catálogo del sistema.
information_schema.user_tables
Para obtener instrucciones, consulte Búsqueda de un ID y un ARN de tabla. -
Utilice el ARN de tabla 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, sustituyaus-east-1
,123456789012
myExampleLedger
, yAu1EiThbt8s0z9wM26REZN
en el ejemplo por 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
" ] } ] }
Asignar permisos
Después de crear una política de permisos de QLDB, asigne los permisos de la siguiente manera.
Para dar acceso, agregue permisos a los usuarios, grupos o roles:
-
Usuarios y grupos en AWS IAM Identity Center:
Cree un conjunto de permisos. Siga las instrucciones de Creación de un conjunto de permisos en la Guía del usuario de AWS IAM Identity Center .
-
Usuarios gestionados en IAM a través de un proveedor de identidades:
Cree un rol para la federación de identidades. Siga las instrucciones descritas en Creación de un rol para un proveedor de identidad de terceros (federación) en la Guía del usuario de IAM.
-
Usuarios de IAM:
-
Cree un rol que el usuario pueda aceptar. Siga las instrucciones descritas en Creación de un rol para un usuario de IAM en la Guía del usuario de IAM.
-
(No recomendado) Adjunte una política directamente a un usuario o añada un usuario a un grupo de usuarios. Siga las instrucciones descritas en Adición de permisos a un usuario (consola) de la Guía del usuario de IAM.
-