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.
Séances interactives avec IAM
Ces sections décrivent les considérations relatives à la sécurité des séances interactives AWS Glue.
Rubriques
Principaux IAM utilisés avec des séances interactives
Vous utilisez deux principaux IAM utilisés avec des séances interactives AWS Glue.
-
Client principal: Le principal client (un utilisateur ou un rôle) autorise les opérations API pour les séances interactives à partir d'un client AWS Glue configuré avec les informations d'identification basées sur l'identité du principal. Il peut s'agir par exemple d'un rôle IAM que vous utilisez généralement pour accéder à la console AWS Glue. Il peut également s'agir d'un rôle attribué à un utilisateur dans IAM dont les informations d'identification sont utilisées pour le noyau AWS Command Line Interface Jupyter ou d'un AWS Glue client utilisé par les sessions interactives du noyau Jupyter.
-
Rôle d'exécution : le rôle d'exécution est un rôle IAM que le principal client transmet aux opérations API des séances interactives. AWS Glue utilise ce rôle pour exécuter des instructions dans votre séance. Par exemple, ce rôle peut être celui utilisé pour exécuter des tâches ETL AWS Glue.
Pour plus d'informations, consultez Paramétrer un rôle d'exécution.
Paramétrer un client principal
Vous devez attacher une politique d'identité au principal du client pour lui permettre d'appeler l'API des séances interactives. Ce rôle doit avoir un accès iam:PassRole
au rôle d'exécution que vous devez transmettre aux API des séances interactives telles que CreateSession
. Par exemple, vous pouvez associer la politique AWSGlueConsoleFullAccessgérée à un rôle IAM qui permet aux utilisateurs de votre compte auxquels la politique est attachée d'accéder à toutes les sessions créées dans votre compte (comme la déclaration d'exécution ou la déclaration d'annulation).
Si vous souhaitez protéger votre session et la rendre privée uniquement pour certains rôles IAM, tels que ceux associés à l'utilisateur qui a créé la session, vous pouvez utiliser le contrôle d'autorisation basé sur les balises d'AWS GlueInteractive Session appelé TagOnCreate. Pour plus d'informations, découvrez Rendez votre session privée avec TagOnCreate comment une politique gérée délimitée basée sur le tag du propriétaire peut rendre votre session privée avec. TagOnCreate Pour plus d'informations sur les politiques basées sur l'identité, consultez la section Politiques basées sur l'identité pour. AWS Glue
Paramétrer un rôle d'exécution
Vous devez transmettre un rôle IAM à l'opération CreateSession API afin de permettre d'assumer et AWS Glue d'exécuter des instructions dans les sessions interactives. Le rôle doit avoir les mêmes autorisations IAM que celles requises pour exécuter une tâche AWS Glue typique. Par exemple, vous pouvez créer un rôle de service à l'aide de la AWSGlueServiceRolepolitique qui permet AWS Glue d'appeler AWS des services en votre nom. Si vous utilisez la console AWS Glue, il créera automatiquement une fonction du service en votre nom ou en utilisera une existante. Vous pouvez également créer votre propre rôle IAM et attacher votre propre politique IAM pour autoriser des autorisations similaires.
Si vous souhaitez protéger votre session et la rendre privée uniquement pour l'utilisateur qui l'a créée, vous pouvez utiliser le contrôle d'autorisation basé sur les balises d'AWS GlueInteractive Session appelé TagOnCreate. Pour plus d'informations, découvrez Rendez votre session privée avec TagOnCreate comment une politique gérée délimitée basée sur le tag du propriétaire peut rendre votre session privée avec. TagOnCreate Pour plus d'informations sur les stratégies basées sur l'identité, consultez Politiques basées sur l'identité pour Glue AWS. Si vous créez vous-même le rôle d'exécution à partir de la console IAM et que vous souhaitez rendre votre service privé grâce à TagOnCreate une fonctionnalité, suivez les étapes ci-dessous.
-
Créez un rôle IAM avec le type de rôle défini sur
Glue
. -
Joignez cette politique AWS Glue gérée : AwsGlueSessionUserRestrictedServiceRole
-
Préfixez le nom du rôle par le nom de la politique. AwsGlueSessionUserRestrictedServiceRole Par exemple, vous pouvez créer un rôle nommé AwsGlueSessionUserRestrictedServiceRole-myrole et y associer une politique AWS Glue gérée. AwsGlueSessionUserRestrictedServiceRole
-
Attachez une politique d'approbation telle que la politique suivante pour autoriser AWS Glue à endosser le rôle :
Pour une session interactive (noyau Jupyter), vous pouvez spécifier la iam_role
clé dans votre AWS Command Line Interface profil. Pour de plus amples informations, veuillez consulter Configuration de séances avec ~/.aws/config (langue Français non garantie). Si vous interagissez avec des séances interactives à l'aide d'un AWS Glue bloc-notes, vous pouvez ensuite passer le rôle d'exécution dans la magie %iam_role
dans la première cellule que vous exécutez.
Rendez votre session privée avec TagOnCreate
Les séances interactives AWS Glue prennent en charge l'étiquette et l'autorisation basée sur les identifications (TBAC) pour les séances interactives en tant que ressource nommée. Outre l'utilisation du TBAC TagResource et UntagResource APIs, les sessions AWS Glue interactives prennent en charge la TagOnCreate fonctionnalité permettant de « baliser » une session avec une balise donnée uniquement lors de la création et de l' CreateSession exploitation de la session. Cela signifie également que ces balises seront supprimées le DeleteSession, c'est-à-dire UntagOnDelete.
TagOnCreate propose un puissant mécanisme de sécurité pour rendre votre session privée pour le créateur de la session. Par exemple, vous pouvez associer une politique IAM avec « owner » RequestTag et une valeur de $ {aws:userId} à un client principal (tel qu'un utilisateur) afin d'autoriser la création d'une session uniquement si une balise « owner » avec la valeur correspondante à l'identifiant de l'appelant est fournie en tant que balise userID dans la demande. CreateSession Cette politique autorise les séances interactives AWS Glue pour créer une ressource de séance et étiqueter la séance avec l'identification userId uniquement pendant la création de la séance. En outre, vous pouvez limiter l'accès (comme l'exécution d'instructions) à votre session uniquement au créateur (c'est-à-dire au tag owner avec la valeur $ {aws:userId}) de la session en attachant une politique IAM avec « owner » ResourceTag au rôle d'exécution que vous avez transmis au cours de cette session. CreateSession
Afin de faciliter l'utilisation de la TagOnCreate fonctionnalité permettant de rendre une session privée pour le créateur de session, AWS Glue fournit des politiques gérées et des rôles de service spécialisés.
Si vous souhaitez créer une session AWS Glue interactive à l'aide d'un AssumeRole principal IAM (c'est-à-dire en utilisant les informations d'identification fournies en assumant un rôle IAM) et que vous souhaitez rendre la session privée pour le créateur, utilisez des politiques similaires à celles de et respectivement. AWSGlueSessionUserRestrictedNotebookPolicyAWSGlueSessionUserRestrictedNotebookServiceRole Ces politiques permettent AWS Glue d'utiliser $ {aws :PrincipalTag} pour extraire la valeur de la balise du propriétaire. Cela nécessite que vous transmettiez une balise UserID avec la valeur $ {aws:userId} comme SessionTag dans les informations d'identification du rôle d'emprunt. Voir Balises d’identification de séance . Si vous utilisez une EC2 instance Amazon avec un profil d'instance fournissant les informations d'identification et que vous souhaitez créer une session ou interagir avec la session depuis l' EC2 instance Amazon, vous devez transmettre une balise userId avec la valeur $ {aws:userId} comme dans l'identifiant de rôle assumé. SessionTag
Par exemple, si vous créez une session à l'aide d'un identifiant AssumeRole principal IAM et que vous souhaitez rendre votre service privé avec une TagOnCreate fonctionnalité, suivez les étapes ci-dessous.
-
Créez vous-même un rôle d'exécution à partir de la console IAM. Joignez cette politique AWS Glue gérée AwsGlueSessionUserRestrictedNotebookServiceRoleet préfixez le nom du rôle par le nom de la politique. AwsGlueSessionUserRestrictedNotebookServiceRole Par exemple, vous pouvez créer un rôle nommé AwsGlueSessionUserRestrictedNotebookServiceRole-myrole et y associer une politique AWS Glue gérée. AwsGlueSessionUserRestrictedNotebookServiceRole
-
Attachez une politique de confiance telle que celle ci-dessous pour autoriser AWS Glue à endosser le rôle ci-dessous.
-
Créez un autre rôle nommé avec un préfixe AwsGlueSessionUserRestrictedNotebookPolicyet attachez la politique AWS Glue gérée AwsGlueSessionUserRestrictedNotebookPolicypour rendre la session privée. Outre la politique gérée, veuillez joindre la politique en ligne suivante pour autoriser iam : au rôle que vous avez créé PassRole à l'étape 1.
-
Attachez une politique de confiance telle que la suivante à IAM AWS Glue pour endosser ce rôle.
Note
Vous pouvez éventuellement utiliser un seul rôle (par exemple, le rôle bloc-notes) et associer les deux politiques gérées ci-dessus AwsGlueSessionUserRestrictedNotebookServiceRoleet AwsGlueSessionUserRestrictedNotebookPolicy. Attachez également la politique en ligne supplémentaire pour autoriser
iam:passrole
de votre rôle à AWS Glue. Et enfin, attachez la politique de confiance ci-dessus pour autorisersts:AssumeRole
etsts:TagSession
.
AWSGlueSessionUserRestrictedNotebookPolicy
Permet AWSGlue SessionUserRestrictedNotebookPolicy de créer une session AWS Glue interactive à partir d'un bloc-notes uniquement si la clé de balise « propriétaire » et la valeur correspondent à AWS l'identifiant utilisateur du principal (utilisateur ou rôle). Pour plus d'informations, consultez Emplacement où vous pouvez utiliser les variables de politique. Cette politique est attachée au principal (utilisateur ou rôle) qui crée des blocs-notes de séance interactive AWS Glue à partir d'AWS Glue Studio. Cette politique permet également un accès suffisant au AWS Glue Studio bloc-notes pour interagir avec les ressources de session AWS Glue Studio interactive créées avec la valeur de balise « owner » correspondant à l'ID AWS utilisateur du principal. Cette politique rejette l'autorisation de modifier ou de supprimer les identifications « propriétaire » d'une ressource de séance AWS Glue après la création de la séance.
AWSGlueSessionUserRestrictedNotebookServiceRole
AWSGlueSessionUserRestrictedNotebookServiceRoleFournit un accès suffisant au AWS Glue Studio bloc-notes pour interagir avec les ressources de session AWS Glue interactive créées avec la valeur de balise « propriétaire » correspondant à l'ID AWS utilisateur du principal (utilisateur ou rôle) du créateur du bloc-notes. Pour plus d'informations, consultez Emplacement où vous pouvez utiliser les variables de politique. Cette politique de rôle de service est attachée au rôle qui est transmis comme par magie à un bloc-notes ou transmis en tant que rôle d'exécution à l' CreateSession API. Cette politique permet également de créer une session AWS Glue interactive à partir d'un bloc-notes uniquement si une balise clé « propriétaire » et une valeur correspondent à l'ID AWS utilisateur du principal. Cette politique rejette l'autorisation de modifier ou de supprimer une identification « propriétaire » d'une ressource de séance AWS Glue après la création de la séance. Cette politique inclut également les autorisations d'écriture et de lecture à partir de compartiments Amazon S3, de rédaction de CloudWatch journaux, de création et de suppression de balises pour les EC2 ressources Amazon utilisées parAWS Glue.
Rendre votre session privée avec les politiques utilisateur
Vous pouvez associer les rôles IAM AWSGlueSessionUserRestrictedPolicyà chacun des utilisateurs de votre compte pour les empêcher de créer une session uniquement avec un tag de propriétaire dont la valeur correspond à leur propre $ {aws:userId}. Au lieu d'utiliser le AWSGlueSessionUserRestrictedNotebookPolicyet, AWSGlueSessionUserRestrictedNotebookServiceRolevous devez utiliser des politiques similaires au AWSGlueSessionUserRestrictedPolicyet AWSGlueSessionUserRestrictedServiceRolerespectivement. Pour plus d'informations, consultez Using-identity based policies. Cette politique réduit l'accès à une session uniquement au créateur, l'${aws:userId} de l'utilisateur qui a créé la session avec la balise propriétaire portant son propre ${aws:userId}. Si vous avez créé vous-même le rôle d'exécution à l'aide de la console IAM en Paramétrer un rôle d'exécution suivant les étapes décrites dans la section, associez également la politique AwsGlueSessionUserRestrictedPolicygérée ci-dessous à chacun des utilisateurs de votre compte iam:PassRole
pour autoriser le rôle d'exécution que vous avez créé précédemment.
AWSGlueSessionUserRestrictedPolicy
AWSGlueSessionUserRestrictedPolicyPermet de créer une session AWS Glue interactive à l'aide de l' CreateSession API uniquement si une clé de balise « propriétaire » et une valeur correspondant à son ID AWS utilisateur sont fournies. Cette politique d'identité est attachée à l'utilisateur qui appelle l' CreateSession API. Cette politique permet également d'interagir avec les ressources de session AWS Glue interactive créées avec une balise « owner » et une valeur correspondant à leur identifiant AWS utilisateur. Cette politique rejette l'autorisation de modifier ou de supprimer les identifications « propriétaire » d'une ressource de séance AWS Glue après la création de la séance.
AWSGlueSessionUserRestrictedServiceRole
AWSGlueSessionUserRestrictedServiceRoleFournit un accès complet à toutes les AWS Glue ressources, à l'exception des sessions, et permet aux utilisateurs de créer et d'utiliser uniquement les sessions interactives associées à l'utilisateur. Cette politique inclut également d'autres autorisations nécessaires AWS Glue pour gérer les ressources Glue dans d'autres AWS services. La politique permet également d'ajouter des balises aux AWS Glue ressources d'autres AWS services.
Considérations de politique IAM
Les séances interactives sont des ressources IAM dans AWS Glue. Étant donné qu'il s'agit de ressources IAM, l'accès et l'interaction à une séance sont régis par des politiques IAM. Sur la base des politiques IAM attachées à un client principal ou à un rôle d'exécution configuré par un administrateur, un client principal (utilisateur ou rôle) pourra créer de nouvelles séances et interagir avec ses propres séances et d'autres séances.
Si un administrateur a joint une politique IAM telle AWSGlue ServiceRole que AWSGlue ConsoleFullAccess ou qui autorise l'accès à toutes les AWS Glue ressources de ce compte, le client principal pourra collaborer entre eux. Par exemple, un utilisateur sera en mesure d'interagir avec des séances créées par d'autres utilisateurs si les politiques l'autorisent.
Si vous souhaitez configurer une politique adaptée à vos besoins spécifiques, veuillez consulter la documentation IAM sur la configuration des ressources pour une politique. Par exemple, pour isoler les sessions appartenant à un utilisateur, vous pouvez utiliser la TagOnCreate fonctionnalité prise en charge par les sessions AWS Glue interactives. Consultez Rendez votre session privée avec TagOnCreate .
Les sessions interactives prennent en charge la limitation de la création de sessions sur la base de certaines conditions VPC. Consultez Contrôler des politiques qui contrôlent les paramètres à l'aide des clés de condition.