Spécification de AWS Glue la ressource ARNs - AWS Glue

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.

Spécification de AWS Glue la ressource ARNs

DansAWS Glue, vous pouvez contrôler l'accès aux ressources à l'aide d'une politique AWS Identity and Access Management (IAM). Dans une politique, vous utilisez un Amazon Resource Name (ARN) pour identifier la ressource à laquelle la politique s'applique. Toutes les ressources ne sont pas prises en AWS Glue chargeARNs.

Catalogue de données ARNs

Les ressources du catalogue de données ont une structure hiérarchique, avec catalog comme racine.

arn:aws:glue:region:account-id:catalog

Chaque AWS compte possède un seul catalogue de données dans une AWS région avec l'identifiant de compte à 12 chiffres comme identifiant de catalogue. Les ressources sont ARNs associées à des ressources uniques, comme indiqué dans le tableau suivant.

Type de ressource ARNformat

Catalogue

arn:aws:glue:region:account-id:catalog

Par exemple : arn:aws:glue:us-east-1:123456789012:catalog

Base de données

arn:aws:glue:region:account-id:database/database name

Par exemple : arn:aws:glue:us-east-1:123456789012:database/db1

Tableau

arn:aws:glue:region:account-id:table/database name/table name

Par exemple : arn:aws:glue:us-east-1:123456789012:table/db1/tbl1

Fonction définie par l'utilisateur

arn:aws:glue:region:account-id:userDefinedFunction/database name/user-defined function name

Par exemple : arn:aws:glue:us-east-1:123456789012:userDefinedFunction/db1/func1

Connexion

arn:aws:glue:region:account-id:connection/connection name

Par exemple : arn:aws:glue:us-east-1:123456789012:connection/connection1

Séance interactive

arn:aws:glue:region:account-id:session/interactive session id

Par exemple : arn:aws:glue:us-east-1:123456789012:session/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Pour permettre un contrôle d'accès précis, vous pouvez les utiliser ARNs dans vos IAM politiques et politiques de ressources pour accorder ou refuser l'accès à des ressources spécifiques. Les caractères génériques sont autorisés dans les politiques. Par exemple, ce qui suit ARN correspond à toutes les tables de la base de donnéesdefault.

arn:aws:glue:us-east-1:123456789012:table/default/*
Important

Toutes les opérations effectuées sur une ressource du catalogue de données requièrent une autorisation sur la ressource et tous les ancêtres de cette ressource. Par exemple, la création d'une partition pour une table nécessite l'autorisation sur la table, la base de données et le catalogue où se trouve la table. L'exemple suivant montre l'autorisation requise pour créer des partitions sur la table PrivateTable dans la base de données PrivateDatabase du catalogue de données.

{ "Sid": "GrantCreatePartitions", "Effect": "Allow", "Action": [ "glue:BatchCreatePartitions" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:table/PrivateDatabase/PrivateTable", "arn:aws:glue:us-east-1:123456789012:database/PrivateDatabase", "arn:aws:glue:us-east-1:123456789012:catalog" ] }

Outre l'autorisation sur la ressource et tous ses ancêtres, toutes les opérations de suppression nécessitent une autorisation sur tous les enfants de cette ressource. Par exemple, pour supprimer une base de données, il faut l'autorisation sur toutes les tables et les fonctions définies par l'utilisateur dans la base de données, ainsi que sur la base de données et le catalogue dans lequel se trouve la base de données. L'exemple suivant montre l'autorisation requise pour supprimer une base de données PrivateDatabase dans le catalogue de données.

{ "Sid": "GrantDeleteDatabase", "Effect": "Allow", "Action": [ "glue:DeleteDatabase" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:table/PrivateDatabase/*", "arn:aws:glue:us-east-1:123456789012:userDefinedFunction/PrivateDatabase/*", "arn:aws:glue:us-east-1:123456789012:database/PrivateDatabase", "arn:aws:glue:us-east-1:123456789012:catalog" ] }

En résumé, les actions sur les ressources du catalogue de données suivent ces règles d'autorisation :

  • Les actions sur le catalogue requièrent l'autorisation sur le catalogue uniquement.

  • Les actions sur une base de données requièrent l'autorisation sur la base de données et le catalogue.

  • Les actions de suppression sur une base de données requièrent l'autorisation sur la base de données et le catalogue, ainsi que sur toutes les tables et les fonctions définies par l'utilisateur dans la base de données.

  • Les actions sur une table, une partition ou une version de table requièrent l'autorisation sur la table, la base de données et le catalogue.

  • Les actions sur une fonction définie par l'utilisateur requièrent l'autorisation sur la fonction définie par l'utilisateur, la base de données et le catalogue.

  • Les actions sur une connexion requièrent l'autorisation sur la connexion et le catalogue.

ARNspour les objets ne figurant pas dans le catalogue dans AWS Glue

Certaines AWS Glue ressources autorisent des autorisations au niveau des ressources pour contrôler l'accès à l'aide d'un. ARN Vous pouvez les utiliser ARNs dans vos IAM politiques pour permettre un contrôle d'accès précis. Le tableau suivant répertorie les ressources qui peuvent contenir des ressourcesARNs.

Type de ressource ARNformat

crawler

arn:aws:glue:region:account-id:crawler/crawler-name

Par exemple : arn:aws:glue:us-east-1:123456789012:crawler/mycrawler

Tâche

arn:aws:glue:region:account-id:job/job-name

Par exemple : arn:aws:glue:us-east-1:123456789012:job/testjob

Déclencheur

arn:aws:glue:region:account-id:trigger/trigger-name

Par exemple : arn:aws:glue:us-east-1:123456789012:trigger/sampletrigger

Point de terminaison de développement

arn:aws:glue:region:account-id:devEndpoint/development-endpoint-name

Par exemple : arn:aws:glue:us-east-1:123456789012:devEndpoint/temporarydevendpoint

Transformation de machine learning

arn:aws:glue:region:account-id:mlTransform/transform-id

Par exemple : arn:aws:glue:us-east-1:123456789012:mlTransform/tfm-1234567890

Contrôle d'accès pour les AWS Glue opérations singulières API hors catalogue

AWS Glueles API opérations singulières hors catalogue agissent sur un seul élément (point de terminaison de développement). Des exemples sont GetDevEndpoint, CreateUpdateDevEndpoint et UpdateDevEndpoint. Pour ces opérations, une politique doit placer le API nom dans le "action" bloc et la ressource ARN dans le "resource" bloc.

Supposons que vous souhaitiez autoriser un utilisateur à appeler l'opération GetDevEndpoint. La politique suivante accorde les autorisations nécessaires minimales à un point de terminaison nommé myDevEndpoint-1.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "MinimumPermissions", "Effect": "Allow", "Action": "glue:GetDevEndpoint", "Resource": "arn:aws:glue:us-east-1:123456789012:devEndpoint/myDevEndpoint-1" } ] }

La politique suivante autorise l'accès UpdateDevEndpoint aux ressources qui correspondent à myDevEndpoint- avec un caractère générique (*).

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PermissionWithWildcard", "Effect": "Allow", "Action": "glue:UpdateDevEndpoint", "Resource": "arn:aws:glue:us-east-1:123456789012:devEndpoint/myDevEndpoint-*" } ] }

Vous pouvez combiner les deux politiques, comme dans l'exemple suivant. Il se peut que vous constatiez EntityNotFoundException pour n'importe quel point de terminaison de développement dont le nom commence par A. Toutefois, une erreur d'accès refusé est renvoyé lorsque vous essayez d'accéder à d'autres points de terminaison de développement.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CombinedPermissions", "Effect": "Allow", "Action": [ "glue:UpdateDevEndpoint", "glue:GetDevEndpoint" ], "Resource": "arn:aws:glue:us-east-1:123456789012:devEndpoint/A*" } ] }

Contrôle d'accès pour les API opérations AWS Glue hors catalogue qui permettent de récupérer plusieurs articles

Certaines AWS Glue API opérations récupèrent plusieurs éléments (tels que plusieurs points de terminaison de développement) ; par exemple,GetDevEndpoints. Pour cette opération, vous ne pouvez spécifier qu'une ressource générique (*), et non une ressource spécifiqueARNs.

Par exemple, pour inclure GetDevEndpoints dans la politique, la ressource doit être définie avec le caractère générique (*). Les opérations uniques (GetDevEndpoint, CreateDevEndpoint et DeleteDevendpoint) sont également définies pour toutes les ressources (*) de l'exemple.

{ "Sid": "PluralAPIIncluded", "Effect": "Allow", "Action": [ "glue:GetDevEndpoints", "glue:GetDevEndpoint", "glue:CreateDevEndpoint", "glue:UpdateDevEndpoint" ], "Resource": [ "*" ] }

Contrôle d'accès pour les AWS Glue opérations hors catalogue BatchGet API

Certaines AWS Glue API opérations récupèrent plusieurs éléments (tels que plusieurs points de terminaison de développement) ; par exemple,BatchGetDevEndpoints. Pour cette opération, vous pouvez spécifier un ARN afin de limiter l'étendue des ressources accessibles.

Par exemple, pour autoriser l'accès à un point de développement spécifique, BatchGetDevEndpoints incluez-le dans la politique avec sa ressourceARN.

{ "Sid": "BatchGetAPIIncluded", "Effect": "Allow", "Action": [ "glue:BatchGetDevEndpoints" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:devEndpoint/de1" ] }

Avec cette politique, vous pouvez accéder correctement au point de terminaison de développement nommé de1. Toutefois, si vous tentez d'accéder au point de terminaison de développement nommé de2, une erreur est renvoyée.

An error occurred (AccessDeniedException) when calling the BatchGetDevEndpoints operation: No access to any requested resource.
Important

Pour d'autres approches de configuration des IAM politiques, telles que l'utilisation List et BatchGet API les opérations, voirExemples de politiques basées sur l'identité pour AWS Glue.