Mise en route avec les blocs-notes dans AWS Glue Studio - 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.

Mise en route avec les blocs-notes dans AWS Glue Studio

Lorsque vous démarrez un bloc-notes via AWS Glue Studio, toutes les étapes de configuration sont effectuées pour vous afin que vous puissiez explorer vos données et commencer à développer votre script de tâche après quelques secondes seulement.

Les sections suivantes décrivent comment créer un rôle et accorder les autorisations appropriées pour utiliser les blocs-notes dans AWS Glue Studio pour les tâches ETL.

Pour plus d'informations sur les actions définies par AWS Glue, voir Actions définies par AWS Glue.

Octroi d'autorisations pour le rôle IAM

La configuration de AWS Glue Studio est une condition préalable à l'utilisation de carnets de notes.

Pour utiliser des blocs-notes dans AWS Glue, votre rôle nécessite les éléments suivants :

  • Une relation d'approbation avec AWS Glue pour l'action sts:AssumeRole et, si vous voulez lui attribuer une étiquette, alors sts:TagSession.

  • Une politique IAM contenant toutes les autorisations pour les blocs-notes et AWS Glue les sessions interactives.

  • Une politique IAM pour un rôle de passe, car le rôle doit pouvoir se transmettre du bloc-notes aux séances interactives.

Par exemple, lorsque vous créez un nouveau rôle, vous pouvez ajouter une stratégie AWS gérée standard similaire AWSGlueConsoleFullAccessRole au rôle, puis ajouter une nouvelle stratégie pour les opérations du bloc-notes et une autre pour la PassRole stratégie IAM.

Actions nécessaires pour une relation d'approbation avec AWS Glue

Lorsque vous démarrez une séance de bloc-notes, vous devez ajouter sts:AssumeRole à la relation d'approbation du rôle transmis au bloc-notes. Si votre séance inclut des identifications, vous devez également transmettre l'action sts:TagSession. Sans ces actions, la séance de bloc-notes ne peut pas démarrer.

Par exemple :

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Politiques contenant des autorisations IAM pour les blocs-notes

L'exemple de politique suivant décrit les autorisations AWS IAM requises pour les ordinateurs portables. Si vous créez un rôle, créez une politique contenant les éléments suivants :

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:StartNotebook", "glue:TerminateNotebook", "glue:GlueNotebookRefreshCredentials", "glue:DeregisterDataPreview", "glue:GetNotebookInstanceStatus", "glue:GlueNotebookAuthorize" ], "Resource": "*" } ] }

Vous pouvez utilisez les politiques IAM suivantes pour autoriser l'accès à des ressources spécifiques :

  • AwsGlueSessionUserRestrictedNotebookServiceRole: fournit un accès complet à toutes les AWS Glue ressources, à l'exception des sessions. Permet aux utilisateurs de créer et d'utiliser uniquement les séances de bloc-notes associées à l'utilisateur. Cette politique inclut également d'autres autorisations nécessaires AWS Glue pour gérer les AWS Glue ressources dans d'autres AWS services.

  • AwsGlueSessionUserRestrictedNotebookPolicy: fournit des autorisations qui permettent aux utilisateurs de créer et d'utiliser uniquement les sessions de bloc-notes associées à l'utilisateur. Cette politique inclut également des autorisations permettant explicitement aux utilisateurs de passer un rôle de séance AWS Glue restreint.

Politique IAM pour transmettre un rôle

Lorsque vous créez un bloc-notes avec un rôle, ce rôle est ensuite transmis à des séances interactives afin que le même rôle puisse être utilisé aux deux endroits. En tant que tel, l'autorisation iam:PassRole doit faire partie de la politique du rôle.

Créez une politique pour votre rôle à l'aide de l'exemple suivant. Remplacez le numéro de compte par le vôtre et le nom du rôle.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::090000000210:role/<role_name>" } ] }