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
Temas
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 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 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.
Comando | Permisos (IAMacciones) necesarios | 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, oSET) | |||
REDACT_REVISION (procedimiento almacenado) | qldb:PartiQLRedact |
|
|
qldb:PartiQLSelect |
|
||
qldb:PartiQLSelect |
|
||
qldb:PartiQLHistoryFunction |
|
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)
Inicia sesión en y abre la AWS Management Console QLDB consola de Amazon en https://console.aws.amazon.com/qldb.
-
En el panel de navegación, elija Libros mayores.
-
En la lista de libros de contabilidad, elige el nombre del libro de contabilidad cuya tabla ARN quieres buscar.
-
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 (
) 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 TagResource
UntagResource
, 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)
Inicia sesión en y abre la AWS Management Console QLDB consola de Amazon en https://console.aws.amazon.com/qldb.
-
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 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
Temas
Requisitos previos
Antes de comenzar, asegúrese de que hace lo siguiente:
-
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.
-
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:
Inicie sesión en AWS Management Console y abra la consola enIAM. 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.
-
Selecciona la JSONpestaña.
-
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
, ymyExampleLedger
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" ] } ] } -
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.
-
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
, ymyExampleLedger
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:
-
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. -
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, sustituyaus-east-1
,123456789012
,myExampleLedger
, yAu1EiThbt8s0z9wM26REZN
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:
-
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 IAM a través de un proveedor de identidad:
Cree un rol para la federación de identidades. Siga las instrucciones de la Guía del IAM usuario sobre cómo crear un rol para un proveedor de identidades externo (federación).
-
IAMusuarios:
-
Cree un rol que el usuario pueda aceptar. Siga las instrucciones de la Guía del IAMusuario sobre cómo crear un rol para un IAM usuario.
-
(No recomendado) Adjunte una política directamente a un usuario o añada un usuario a un grupo de usuarios. Siga las instrucciones de Añadir permisos a un usuario (consola) de la Guía del IAM usuario.
-