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.
Rubriques
Le mode STANDARD
autorisations
QLDBprend désormais en charge un mode d'STANDARD
autorisations 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'SendCommand
APIautorisation 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'
STANDARD
autorisations est attribué au registre. Ces politiques ne sont pas applicables aux registres en modeALLOW_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'
SendCommand
APIaction 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.
Command | Autorisations requises (IAMactions) | Ressources | Actions dépendantes |
---|---|---|---|
CREATE TABLE | qldb:PartiQLCreateTable |
|
qldb:TagResource (pour le balisage lors de la création) |
DROP TABLE | qldb:PartiQLDropTable |
|
|
UNDROP TABLE | qldb:PartiQLUndropTable |
|
|
CREATE INDEX | qldb:PartiQLCreateIndex |
|
|
DROP INDEX | qldb:PartiQLDropIndex |
|
|
DELETE | qldb:PartiQLDelete |
|
qldb:PartiQLSelect |
FROM- REMOVE (pour les documents complets) | |||
INSERT | qldb:PartiQLInsert |
|
|
UPDATE | qldb:PartiQLUpdate |
|
qldb:PartiQLSelect |
FROM(INSERTREMOVE, ouSET) | |||
REDACT_REVISION(procédure stockée) | qldb:PartiQLRedact |
|
|
qldb:PartiQLSelect |
|
||
qldb:PartiQLSelect |
|
||
qldb:PartiQLHistoryFunction |
|
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'SELECT
autorisation 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)
Connectez-vous à la AWS Management Console QLDB console Amazon et ouvrez-la à l'adresse https://console.aws.amazon.com/qldb.
-
Dans le volet de navigation, choisissez Ledgers.
-
Dans la liste des registres, choisissez le nom du registre dont ARN vous souhaitez rechercher la table.
-
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 ( ) à 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 TagResource
UntagResource
, 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)
Connectez-vous à la AWS Management Console QLDB console Amazon et ouvrez-la à l'adresse https://console.aws.amazon.com/qldb.
-
Dans le volet de navigation, choisissez Ledgers.
-
Dans la liste des livres, choisissez le nom du livre dans lequel vous souhaitez créer la table.
-
Sur la page des détails du registre, sous l'onglet Tables, choisissez Créer une table.
-
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.
-
-
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
Rubriques
Prérequis
Avant de commencer, assurez-vous d'effectuer les opérations suivantes :
-
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.
-
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 :
Connectez-vous à la IAM console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/
. -
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.
-
En haut de la page, sélectionnez Créer une politique.
-
Choisissez l'JSONonglet.
-
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
, etmyExampleLedger
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" ] } ] } -
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.
-
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
, etmyExampleLedger
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 :
-
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. -
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 est
Au1EiThbt8s0z9wM26REZN
. Pour utiliser cette politique, remplacezus-east-1
,123456789012
,myExampleLedger
, etAu1EiThbt8s0z9wM26REZN
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 :
-
Utilisateurs et groupes dans AWS IAM Identity Center :
Créez un jeu d’autorisations. Suivez les instructions de la rubrique Création d’un jeu d’autorisations du Guide de l’utilisateur AWS IAM Identity Center .
-
Utilisateurs gérés IAM par le biais d'un fournisseur d'identité :
Créez un rôle pour la fédération d’identité. Suivez les instructions de la section Créer un rôle pour un fournisseur d'identité tiers (fédération) dans le guide de IAM l'utilisateur.
-
IAMutilisateurs :
-
Créez un rôle que votre utilisateur peut assumer. Suivez les instructions de la section Créer un rôle pour un IAM utilisateur dans le guide de IAM l'utilisateur.
-
(Non recommandé) Attachez une politique directement à un utilisateur ou ajoutez un utilisateur à un groupe d’utilisateurs. Suivez les instructions de la section Ajouter des autorisations à un utilisateur (console) dans le guide de IAM l'utilisateur.
-