Commencer à utiliser le mode d'autorisation standard sur Amazon QLDB - Base de données Amazon Quantum Ledger (AmazonQLDB)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Commencer à utiliser le mode d'autorisation standard sur Amazon QLDB

Utilisez cette section pour commencer à utiliser le mode d'autorisation standard sur AmazonQLDB. Cette section fournit un tableau de référence pour vous aider à écrire une politique basée sur l'identité dans AWS Identity and Access Management (IAM) pour les actions partiQL et les ressources de table dans. QLDB Il inclut également un step-by-step didacticiel pour créer des politiques d'autorisation dansIAM, ainsi que des instructions pour trouver une table ARN et créer des balises de table dansQLDB.

Le mode STANDARD autorisations

QLDBprend désormais en charge un mode d'STANDARDautorisations pour les ressources du registre. Le mode d'autorisations standard permet un contrôle d'accès avec une granularité plus fine pour les registres, les tables et les commandes partiQL. Par défaut, ce mode refuse toutes les demandes d'exécution de commandes partiQL sur les tables d'un registre.

Note

Auparavant, le seul mode d'autorisation disponible pour un registre étaitALLOW_ALL. Le ALLOW_ALL mode permet le contrôle d'accès avec une granularité de API niveau pour les registres, et continue d'être pris en charge, mais n'est pas recommandé, pour les registres. QLDB Ce mode permet aux utilisateurs SendCommand API autorisés d'exécuter toutes les commandes partiQL sur toutes les tables du registre spécifié par la politique d'autorisation (d'où « autoriser toutes » les commandes partiQL).

Vous pouvez modifier le mode d'autorisation des registres existants de ALLOW_ALL àSTANDARD. Pour plus d’informations, veuillez consulter Migration vers le mode d'autorisations standard.

Pour autoriser les commandes en mode standard, vous devez créer une politique d'autorisation IAM pour des ressources de table et des actions partiQL spécifiques. Cela s'ajoute à l'SendCommandAPIautorisation pour le registre. Pour faciliter les politiques dans ce mode, nous QLDB avons introduit un ensemble d'IAMactions pour les commandes partiQL et Amazon Resource Names (ARNs) pour les QLDB tables. Pour plus d'informations sur le modèle d'objet de QLDB données, consultezConcepts fondamentaux et terminologie d'Amazon QLDB.

Référence des autorisations partiQL

Le tableau suivant répertorie chaque commande QLDB partiQL, les IAM actions correspondantes pour lesquelles vous devez accorder des autorisations pour exécuter la commande, ainsi que les AWS ressources pour lesquelles vous pouvez accorder les autorisations. Vous spécifiez les actions dans le champ Action de la politique ainsi que la valeur des ressources dans le champ Resource de la politique.

Important
  • IAMles politiques qui accordent des autorisations à ces commandes partiQL ne s'appliquent à votre registre que si le mode d'STANDARDautorisations est attribué au registre. Ces politiques ne sont pas applicables aux registres en mode ALLOW_ALL autorisations.

    Pour savoir comment spécifier le mode d'autorisation lorsque vous créez ou mettez à jour un registreOpérations de base pour Amazon QLDB Ledgers, voir ou Étape 1 : Création d'un nouveau registre dans Getting started with the console.

  • Pour exécuter des commandes partiQL sur un registre, vous devez également autoriser l'SendCommandAPIaction pour la ressource du registre. Cela s'ajoute aux actions partiQL et aux ressources de table répertoriées dans le tableau suivant. Pour de plus amples informations, veuillez consulter Transactions de données en cours.

QLDBCommandes Amazon partiQL et autorisations requises
Command Autorisations requises (IAMactions) Ressources Actions dépendantes
CREATE TABLE qldb:PartiQLCreateTable

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

qldb:TagResource(pour le balisage lors de la création)
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 (pour les documents complets)
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(INSERTREMOVE, ouSET)
REDACT_REVISION(procédure stockée) qldb:PartiQLRedact

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

SELECTFROMnom_table

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

SELECTFROMhistorique (table_name)

qldb:PartiQLHistoryFunction

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

Pour des exemples de documents de IAM politique accordant des autorisations à ces commandes partiQL, reportez-vous à Tutoriel de démarrage rapide : Création de politiques d'autorisation ou consultez. Exemples de politiques basées sur l'identité pour Amazon QLDB

Trouver un identifiant de table et ARN

Vous pouvez trouver un identifiant de table en utilisant AWS Management Console ou en interrogeant la table information_schema.user_tables. Pour afficher les détails de la table sur la console ou pour interroger cette table du catalogue système, vous devez avoir l'SELECTautorisation d'accéder à la ressource du catalogue système. Par exemple, pour trouver l'ID de la Vehicle table, vous pouvez exécuter l'instruction suivante.

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

Cette requête renvoie les résultats dans un format similaire à celui de l'exemple suivant.

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

Pour autoriser l'exécution d'instructions partiQL sur une table, vous devez spécifier une ressource de table au format suivantARN.

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

Voici un exemple de table ARN pour l'ID de tableAu1EiThbt8s0z9wM26REZN.

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

Vous pouvez également utiliser la QLDB console pour rechercher une tableARN.

Pour trouver le ARN nom d'une table (console)
  1. Connectez-vous à la AWS Management Console QLDB console Amazon et ouvrez-la à l'adresse https://console.aws.amazon.com/qldb.

  2. Dans le volet de navigation, choisissez Ledgers.

  3. Dans la liste des registres, choisissez le nom du registre dont ARN vous souhaitez rechercher la table.

  4. Sur la page des détails du registre, sous l'onglet Tables, recherchez le nom de la table que ARN vous souhaitez rechercher. Pour le copierARN, cliquez sur l'icône de copie ( Copy icon. ) à côté.

Tableaux de balisage

Vous pouvez baliser les ressources de votre table. Pour gérer les balises des tables existantes, utilisez les API opérations AWS Management Console ou TagResourceUntagResource, etListTagsForResource. Pour de plus amples informations, veuillez consulter Marquer les ressources Amazon QLDB.

Note

Les ressources de table n'héritent pas des balises de leur ressource de registre racine.

Le balisage des tables lors de leur création est actuellement pris en charge pour les registres en mode STANDARD autorisations uniquement.

Vous pouvez également définir des balises de table lors de la création de la table à l'aide de la QLDB console ou en les spécifiant dans une instruction CREATE TABLE partiQL. L'exemple suivant crée une table nommée Vehicle avec la baliseenvironment=production.

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

Le balisage des tables lors de leur création nécessite l'accès à la fois aux qldb:TagResource actions qldb:PartiQLCreateTable et.

En attribuant des étiquettes aux ressources au moment de la création, vous pouvez supprimer la nécessité d'exécuter des scripts d'identification personnalisés après la création de ressources. Une fois qu'une table est balisée, vous pouvez contrôler l'accès à la table en fonction de ces balises. Par exemple, vous pouvez accorder un accès complet uniquement aux tables dotées d'une balise spécifique. Pour un exemple JSON de stratégie, voirAccès complet à toutes les actions en fonction des balises du tableau.

Vous pouvez également utiliser la QLDB console pour définir des balises de tableau pendant que vous créez le tableau.

Pour étiqueter un tableau lors de sa création (console)
  1. Connectez-vous à la AWS Management Console QLDB console Amazon et ouvrez-la à l'adresse https://console.aws.amazon.com/qldb.

  2. Dans le volet de navigation, choisissez Ledgers.

  3. Dans la liste des livres, choisissez le nom du livre dans lequel vous souhaitez créer la table.

  4. Sur la page des détails du registre, sous l'onglet Tables, choisissez Créer une table.

  5. Sur la page Créer une table, procédez comme suit :

    • Nom de la table — Entrez un nom de table.

    • Balises : ajoutez des métadonnées à la table en attachant des balises sous forme de paires clé-valeur. Vous pouvez ajouter des balises à votre tableau pour mieux les organiser et les identifier.

      Choisissez Ajouter une balise, puis entrez les paires clé-valeur appropriées.

  6. Lorsque les paramètres vous conviennent, choisissez Créer une table.

Tutoriel de démarrage rapide : Création de politiques d'autorisation

Ce didacticiel vous explique les étapes à suivre pour créer des politiques d'autorisations IAM pour un QLDB registre Amazon en mode STANDARD autorisations. Vous pouvez ensuite attribuer les autorisations à vos utilisateurs, groupes ou rôles.

Pour plus d'exemples de documents de IAM politique accordant des autorisations aux commandes partiQL et aux ressources de table, consultez. Exemples de politiques basées sur l'identité pour Amazon QLDB

Prérequis

Avant de commencer, assurez-vous d'effectuer les opérations suivantes :

  1. Suivez les instructions de AWS configuration indiquées dansAccès à Amazon QLDB, si ce n'est pas déjà fait. Ces étapes incluent l'inscription AWS et la création d'un utilisateur administratif.

  2. Créez un nouveau registre et choisissez le mode STANDARD d'autorisations pour le registre. Pour savoir comment procéder, consultez Étape 1 : Création d'un nouveau registre la section Prise en main de la console, ouOpérations de base pour Amazon QLDB Ledgers.

Création d'une politique en lecture seule

Pour utiliser l'JSONéditeur de règles afin de créer une politique en lecture seule pour toutes les tables d'un registre en mode d'autorisations standard, procédez comme suit :

  1. Connectez-vous à la IAM console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans la colonne de navigation de gauche, sélectionnez Politiques.

    Si vous choisissez Politiques pour la première fois, la page Bienvenue dans les politiques gérées s'affiche. Sélectionnez Mise en route.

  3. En haut de la page, sélectionnez Créer une politique.

  4. Choisissez l'JSONonglet.

  5. Copiez et collez le document JSON de politique suivant. Cet exemple de politique accorde un accès en lecture seule à toutes les tables d'un registre.

    Pour utiliser cette politique, remplacez us-east-1, 123456789012, et myExampleLedger dans l'exemple avec vos propres informations.

    { "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. Choisissez Review policy (Examiner une politique).

    Note

    Vous pouvez basculer entre l'éditeur visuel et les JSONonglets à tout moment. Toutefois, si vous apportez des modifications ou si vous choisissez Réviser la politique dans l'onglet Éditeur visuel, vous IAM pouvez restructurer votre politique afin de l'optimiser pour l'éditeur visuel. Pour plus d'informations, consultez la section Restructuration des politiques dans le guide de IAM l'utilisateur.

  7. Dans la page Examiner une politique, entrez un nom et éventuellement une description pour la politique que vous êtes en train de créer. Vérifiez le récapitulatif de la politique pour voir les autorisations accordées par votre politique. Sélectionnez ensuite Créer une politique pour enregistrer votre travail.

Création d'une politique d'accès complet

Pour créer une politique d'accès complet pour toutes les tables d'un QLDB registre en mode d'autorisations standard, procédez comme suit :

  • Répétez les étapes précédentes à l'aide du document de politique suivant. Cet exemple de politique accorde l'accès à toutes les commandes partiQL pour toutes les tables d'un registre, en utilisant des caractères génériques (*) pour couvrir toutes les actions partiQL et toutes les ressources d'un registre.

    Avertissement

    Il s'agit d'un exemple d'utilisation d'un caractère générique (*) pour autoriser toutes les actions partiQL, y compris les opérations administratives et de lecture/écriture sur toutes les tables d'un registre. QLDB Il est préférable de spécifier explicitement chaque action à accorder, et uniquement ce dont cet utilisateur, ce rôle ou ce groupe a besoin.

    Pour utiliser cette politique, remplacez us-east-1, 123456789012, et myExampleLedger dans l'exemple avec vos propres informations.

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

Création d'une politique de lecture seule pour une table spécifique

Pour créer une politique d'accès en lecture seule pour une table spécifique d'un QLDB registre en mode d'autorisations standard, procédez comme suit :

  1. Trouvez la table ARN correspondant à la table en utilisant AWS Management Console ou en interrogeant la table information_schema.user_tables du catalogue du système. Pour obtenir des instructions, consultez Trouver un identifiant de table et ARN.

  2. Utilisez le tableau ARN pour créer une politique qui autorise l'accès en lecture seule à la table. Pour ce faire, répétez les étapes précédentes à l'aide du document de politique suivant.

    Cet exemple de politique accorde un accès en lecture seule à la table spécifiée uniquement. Dans cet exemple, l'ID de table estAu1EiThbt8s0z9wM26REZN. Pour utiliser cette politique, remplacez us-east-1, 123456789012, myExampleLedger, et Au1EiThbt8s0z9wM26REZN dans l'exemple avec vos propres informations.

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

Attribution d’autorisations

Après avoir créé une politique d'QLDBautorisations, vous devez attribuer les autorisations comme suit.

Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :