

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.

# Gestion des identités et des accès pour AWS Glue
<a name="security-iam"></a>



Gestion des identités et des accès AWS (IAM) est un outil Service AWS qui permet à un administrateur de contrôler en toute sécurité l'accès aux AWS ressources. Les administrateurs IAM contrôlent qui peut être *authentifié* (connecté) et *autorisé (autorisé*) à utiliser les ressources AWS Glue. IAM est un Service AWS outil que vous pouvez utiliser sans frais supplémentaires.

**Note**  
Vous pouvez autoriser l'accès à vos données dans le catalogue de données AWS Glue en utilisant AWS Glue des méthodes ou AWS Lake Formation des autorisations. Vous pouvez utiliser des politiques Gestion des identités et des accès AWS (IAM) pour définir un contrôle d'accès précis à l'aide de méthodes. AWS Glue Lake Formation utilise un modèle d'autorisations `GRANT/REVOKE` plus simple similaire aux commandes `GRANT/REVOKE` dans un système de base de données relationnelle.  
Cette section inclut des informations sur l'utilisation des méthodes AWS Glue. Pour plus d'informations sur l'utilisation des octrois Lake Formation, veuillez consulter la rubrique [Octroi des autorisations Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/lake-formation-permissions.html) dans le *Guide du développeur AWS Lake Formation *.

**Topics**
+ [Public ciblé](#security_iam_audience)
+ [Authentification par des identités](#security_iam_authentication)
+ [Gestion de l’accès à l’aide de politiques](#security_iam_access-manage)
+ [Comment AWS Glue fonctionne avec IAM](security_iam_service-with-iam.md)
+ [Configuration des autorisations IAM pour AWS Glue](configure-iam-for-glue.md)
+ [AWS Exemples de politiques de contrôle d'accès Glue](glue-policy-examples.md)
+ [Octroi de politiques AWS gérées pour AWS Glue](security-iam-awsmanpol.md)
+ [Octroi de politiques à portée dynamique pour l’exécution des tâches](dynamically-scoped-policies.md)
+ [Spécification de AWS Glue la ressource ARNs](glue-specifying-resource-arns.md)
+ [Octroi d'un accès intercompte](cross-account-access.md)
+ [Résolution des problèmes d'identité et d'accès à AWS Glue](security_iam_troubleshoot.md)

## Public ciblé
<a name="security_iam_audience"></a>

La façon dont vous utilisez Gestion des identités et des accès AWS (IAM) varie en fonction de votre rôle :
+ **Utilisateur du service** : demandez des autorisations à votre administrateur si vous ne pouvez pas accéder aux fonctionnalités (voir [Résolution des problèmes d'identité et d'accès à AWS Glue](security_iam_troubleshoot.md))
+ **Administrateur du service** : déterminez l’accès des utilisateurs et soumettez les demandes d’autorisation (voir [Comment AWS Glue fonctionne avec IAM](security_iam_service-with-iam.md))
+ **Administrateur IAM** : rédigez des politiques pour gérer l’accès (voir [Exemples de politiques basées sur l'identité pour Glue AWS](security_iam_id-based-policy-examples.md))

## Authentification par des identités
<a name="security_iam_authentication"></a>

L'authentification est la façon dont vous vous connectez à AWS l'aide de vos informations d'identification. Vous devez être authentifié en tant qu'utilisateur IAM ou en assumant un rôle IAM. Utilisateur racine d'un compte AWS

Vous pouvez vous connecter en tant qu'identité fédérée à l'aide d'informations d'identification provenant d'une source d'identité telle que AWS IAM Identity Center (IAM Identity Center), d'une authentification unique ou d'informations d'identification. Google/Facebook Pour plus d’informations sur la connexion, consultez [Connexion à votre Compte AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) dans le *Guide de l’utilisateur Connexion à AWS *.

Pour l'accès par programmation, AWS fournit un SDK et une CLI pour signer les demandes de manière cryptographique. Pour plus d’informations, consultez [Signature AWS Version 4 pour les demandes d’API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) dans le *Guide de l’utilisateur IAM*.

### Compte AWS utilisateur root
<a name="security_iam_authentication-rootuser"></a>

 Lorsque vous créez un Compte AWS, vous commencez par une seule identité de connexion appelée *utilisateur Compte AWS root* qui dispose d'un accès complet à toutes Services AWS les ressources. Il est vivement déconseillé d’utiliser l’utilisateur racine pour vos tâches quotidiennes. Pour les tâches qui requièrent des informations d’identification de l’utilisateur racine, consultez [Tâches qui requièrent les informations d’identification de l’utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dans le *Guide de l’utilisateur IAM*. 

### Identité fédérée
<a name="security_iam_authentication-federated"></a>

Il est recommandé d'obliger les utilisateurs humains à utiliser la fédération avec un fournisseur d'identité pour accéder à Services AWS l'aide d'informations d'identification temporaires.

Une *identité fédérée* est un utilisateur provenant de votre annuaire d'entreprise, de votre fournisseur d'identité Web ou Directory Service qui y accède à Services AWS l'aide d'informations d'identification provenant d'une source d'identité. Les identités fédérées assument des rôles qui fournissent des informations d’identification temporaires.

Pour une gestion des accès centralisée, nous vous recommandons d’utiliser AWS IAM Identity Center. Pour plus d’informations, consultez [Qu’est-ce que IAM Identity Center ?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

### Utilisateurs et groupes IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* est une identité qui dispose d’autorisations spécifiques pour une seule personne ou application. Nous vous recommandons d’utiliser ces informations d’identification temporaires au lieu des utilisateurs IAM avec des informations d’identification à long terme. Pour plus d'informations, voir [Exiger des utilisateurs humains qu'ils utilisent la fédération avec un fournisseur d'identité pour accéder à AWS l'aide d'informations d'identification temporaires](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) dans le *guide de l'utilisateur IAM*.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) spécifient une collection d’utilisateurs IAM et permettent de gérer plus facilement les autorisations pour de grands ensembles d’utilisateurs. Pour plus d’informations, consultez [Cas d’utilisation pour les utilisateurs IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) dans le *Guide de l’utilisateur IAM*.

### Rôles IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* est une identité dotée d’autorisations spécifiques qui fournit des informations d’identification temporaires. Vous pouvez assumer un rôle en [passant d'un rôle d'utilisateur à un rôle IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) ou en appelant une opération d' AWS API AWS CLI ou d'API. Pour plus d’informations, consultez [Méthodes pour endosser un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) dans le *Guide de l’utilisateur IAM*.

Les rôles IAM sont utiles pour l’accès des utilisateurs fédérés, les autorisations temporaires des utilisateurs IAM, les accès intercompte, les accès entre services et les applications exécutées sur Amazon EC2. Pour plus d’informations, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.

## Gestion de l’accès à l’aide de politiques
<a name="security_iam_access-manage"></a>

Vous contrôlez l'accès en AWS créant des politiques et en les associant à AWS des identités ou à des ressources. Une politique définit les autorisations lorsqu'elles sont associées à une identité ou à une ressource. AWS évalue ces politiques lorsqu'un directeur fait une demande. La plupart des politiques sont stockées AWS sous forme de documents JSON. Pour plus d’informations les documents de politique JSON, consultez [Vue d’ensemble des politiques JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dans le *Guide de l’utilisateur IAM*.

À l’aide de politiques, les administrateurs précisent qui a accès à quoi en définissant quel **principal** peut effectuer des **actions** sur quelles **ressources** et dans quelles **conditions**.

Par défaut, les utilisateurs et les rôles ne disposent d’aucune autorisation. Un administrateur IAM crée des politiques IAM et les ajoute aux rôles, que les utilisateurs peuvent ensuite assumer. Les politiques IAM définissent les autorisations quelle que soit la méthode que vous utilisez pour exécuter l’opération.

### Politiques basées sur l’identité
<a name="security_iam_access-manage-id-based-policies"></a>

Les stratégies basées sur l’identité sont des documents de stratégie d’autorisations JSON que vous attachez à une identité (utilisateur, groupe ou rôle). Ces politiques contrôlent les actions que peuvent exécuter ces identités, sur quelles ressources et dans quelles conditions. Pour découvrir comment créer une politique basée sur l’identité, consultez [Définition d’autorisations IAM personnalisées avec des politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le *Guide de l’utilisateur IAM*.

Les politiques basées sur l’identité peuvent être des *politiques intégrées* (intégrées directement dans une seule identité) ou des *politiques gérées (politiques* autonomes associées à plusieurs identités). Pour découvrir comment choisir entre des politiques gérées et en ligne, consultez [Choix entre les politiques gérées et les politiques en ligne](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) dans le *Guide de l’utilisateur IAM*.

### Politiques basées sur les ressources
<a name="security_iam_access-manage-resource-based-policies"></a>

Les politiques basées sur les ressources sont des documents de politique JSON que vous attachez à une ressource. Les exemples incluent *les politiques de confiance de rôle* IAM et les *stratégies de compartiment* Amazon S3. Dans les services qui sont compatibles avec les politiques basées sur les ressources, les administrateurs de service peuvent les utiliser pour contrôler l’accès à une ressource spécifique. Vous devez [spécifier un principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dans une politique basée sur les ressources.

Les politiques basées sur les ressources sont des politiques en ligne situées dans ce service. Vous ne pouvez pas utiliser les politiques AWS gérées par IAM dans une stratégie basée sur les ressources.

### Autres types de politique
<a name="security_iam_access-manage-other-policies"></a>

AWS prend en charge des types de politiques supplémentaires qui peuvent définir les autorisations maximales accordées par les types de politiques les plus courants :
+ **Limites d’autorisations** : une limite des autorisations définit le nombre maximum d’autorisations qu’une politique basée sur l’identité peut accorder à une entité IAM. Pour plus d’informations, consultez [Limites d’autorisations pour des entités IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dans le *Guide de l’utilisateur IAM*.
+ **Politiques de contrôle des services (SCPs)** — Spécifiez les autorisations maximales pour une organisation ou une unité organisationnelle dans AWS Organizations. Pour plus d’informations, consultez [Politiques de contrôle de service](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) dans le *Guide de l’utilisateur AWS Organizations *.
+ **Politiques de contrôle des ressources (RCPs)** : définissez le maximum d'autorisations disponibles pour les ressources de vos comptes. Pour plus d'informations, voir [Politiques de contrôle des ressources (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) dans le *guide de AWS Organizations l'utilisateur*.
+ **Politiques de session** : politiques avancées que vous passez en tant que paramètre lorsque vous créez par programmation une session temporaire pour un rôle ou un utilisateur fédéré. Pour plus d’informations, consultez [Politiques de session](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dans le *Guide de l’utilisateur IAM*.

### Plusieurs types de politique
<a name="security_iam_access-manage-multiple-policies"></a>

Lorsque plusieurs types de politiques s’appliquent à la requête, les autorisations en résultant sont plus compliquées à comprendre. Pour savoir comment AWS déterminer s'il faut autoriser une demande lorsque plusieurs types de politiques sont impliqués, consultez la section [Logique d'évaluation des politiques](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) dans le *guide de l'utilisateur IAM*.

# Comment AWS Glue fonctionne avec IAM
<a name="security_iam_service-with-iam"></a>

Avant d'utiliser IAM pour gérer l'accès à AWS Glue, découvrez quelles fonctionnalités IAM peuvent être utilisées avec Glue AWS .






**Fonctionnalités IAM que vous pouvez utiliser avec Glue AWS**  

| Fonctionnalité IAM | AWS Support Glue | 
| --- | --- | 
|  [Politiques basées sur l’identité](#security_iam_service-with-iam-id-based-policies)  |   Oui  | 
|  [Politiques basées sur les ressources](#security_iam_service-with-iam-resource-based-policies)  |   Partielle  | 
|  [Actions de politique](#security_iam_service-with-iam-id-based-policies-actions)  |   Oui  | 
|  [Ressources de politique](#security_iam_service-with-iam-id-based-policies-resources)  |   Oui  | 
|  [Clés de condition de politique (spécifiques au service)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Oui  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   Non   | 
|  [ABAC (identifications dans les politiques)](#security_iam_service-with-iam-tags)  |   Partielle  | 
|  [Informations d’identification temporaires](#security_iam_service-with-iam-roles-tempcreds)  |   Oui  | 
|  [Autorisations de principals](#security_iam_service-with-iam-principal-permissions)  |   Non   | 
|  [Rôles de service](#security_iam_service-with-iam-roles-service)  |   Oui  | 
|  [Rôles liés à un service](#security_iam_service-with-iam-roles-service-linked)  |   Non   | 

Pour obtenir une vue d'ensemble de la façon dont AWS Glue et les autres AWS services fonctionnent avec la plupart des fonctionnalités IAM, consultez la section [AWS Services compatibles avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dans le guide de l'utilisateur *IAM*.

## Politiques basées sur l'identité pour Glue AWS
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Prend en charge les politiques basées sur l’identité :** oui

Les politiques basées sur l’identité sont des documents de politique d’autorisations JSON que vous pouvez attacher à une identité telle qu’un utilisateur, un groupe d’utilisateurs ou un rôle IAM. Ces politiques contrôlent quel type d’actions des utilisateurs et des rôles peuvent exécuter, sur quelles ressources et dans quelles conditions. Pour découvrir comment créer une politique basée sur l’identité, consultez [Définition d’autorisations IAM personnalisées avec des politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le *Guide de l’utilisateur IAM*.

Avec les politiques IAM basées sur l’identité, vous pouvez spécifier des actions et ressources autorisées ou refusées, ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. Pour découvrir tous les éléments que vous utilisez dans une politique JSON, consultez [Références des éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dans le *Guide de l’utilisateur IAM*.

AWS Glue prend en charge les politiques basées sur l'identité (politiques IAM) pour toutes les opérations AWS Glue. En attachant une politique, vous pouvez accorder des autorisations pour créer, consulter ou modifier une ressource AWS Glue telle qu'une table dans le AWS Glue Data Catalog.

### Exemples de politiques basées sur l'identité pour Glue AWS
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Pour consulter des exemples de politiques basées sur l'identité de AWS Glue, consultez. [Exemples de politiques basées sur l'identité pour Glue AWS](security_iam_id-based-policy-examples.md)

## Politiques basées sur les ressources au sein de Glue AWS
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Prise en charge des politiques basées sur les ressources :** partielle

Les politiques basées sur les ressources sont des documents de politique JSON que vous attachez à une ressource. Par exemple, les *politiques de confiance de rôle* IAM et les *politiques de compartiment* Amazon S3 sont des politiques basées sur les ressources. Dans les services qui sont compatibles avec les politiques basées sur les ressources, les administrateurs de service peuvent les utiliser pour contrôler l’accès à une ressource spécifique. Pour la ressource dans laquelle se trouve la politique, cette dernière définit quel type d’actions un principal spécifié peut effectuer sur cette ressource et dans quelles conditions. Vous devez [spécifier un principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dans une politique basée sur les ressources. Les principaux peuvent inclure des comptes, des utilisateurs, des rôles, des utilisateurs fédérés ou. Services AWS

Pour permettre un accès intercompte, vous pouvez spécifier un compte entier ou des entités IAM dans un autre compte en tant que principal dans une politique basée sur les ressources. Pour plus d’informations, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.

**Note**  
Vous ne pouvez utiliser qu'une politique de ressource AWS Glue pour gérer les autorisations des ressources du catalogue de données. Vous ne pouvez pas l'attacher à d'autres ressources AWS Glue telles que les tâches, les déclencheurs, les points de terminaison de développement, les crawlers ou les classificateurs.  
Une *seule* politique basée sur les ressources est autorisée par catalogue et sa taille est limitée à 10 Ko.

Dans AWS Glue, une politique de ressources est attachée à un *catalogue*, qui est un conteneur virtuel pour tous les types de ressources de catalogue de données mentionnés précédemment. Chaque AWS compte possède un seul catalogue dans une AWS région dont l'identifiant du catalogue est le même que celui du AWS compte. Vous ne pouvez pas supprimer ou modifier un catalogue.

Une politique de ressources est évaluée pour tous les appels d'API au catalogue où le principal de l'appelant est inclus dans le bloc `"Principal"` du document de politique.



Pour consulter des exemples de politiques basées sur les ressources de AWS Glue, consultez. [Exemples de politiques basées sur les ressources pour Glue AWS](security_iam_resource-based-policy-examples.md)

## Actions politiques pour AWS Glue
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Prend en charge les actions de politique :** oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément `Action` d’une politique JSON décrit les actions que vous pouvez utiliser pour autoriser ou refuser l’accès à une politique. Intégration d’actions dans une politique afin d’accorder l’autorisation d’exécuter les opérations associées.



Pour consulter la liste des actions AWS Glue, consultez la section [Actions définies par AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html#awsglue-actions-as-permissions) dans le *Service Authorization Reference*.

Les actions politiques dans AWS Glue utilisent le préfixe suivant avant l'action :

```
glue
```

Pour indiquer plusieurs actions dans une seule déclaration, séparez-les par des virgules.

```
"Action": [
      "glue:action1",
      "glue:action2"
         ]
```





Vous pouvez aussi spécifier plusieurs actions à l’aide de caractères génériques (\$1). Par exemple, pour spécifier toutes les actions qui commencent par le mot `Get`, incluez l’action suivante :

```
"Action": "glue:Get*"
```

Pour afficher des exemples de stratégies, veuillez consulter [AWS Exemples de politiques de contrôle d'accès Glue](glue-policy-examples.md).

## Ressources politiques pour AWS Glue
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Prend en charge les ressources de politique :** oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément de politique JSON `Resource` indique le ou les objets auxquels l’action s’applique. Il est recommandé de définir une ressource à l’aide de son [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, utilisez un caractère générique (\$1) afin d’indiquer que l’instruction s’applique à toutes les ressources.

```
"Resource": "*"
```

Pour plus d'informations sur la façon de contrôler l'accès aux ressources AWS Glue à ARNs l'aide de[Spécification de AWS Glue la ressource ARNs](glue-specifying-resource-arns.md).

Pour consulter la liste des types de ressources AWS Glue et leurs caractéristiques ARNs, consultez la section [Ressources définies par AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html#awsglue-resources-for-iam-policies) dans le *Service Authorization Reference*. Pour savoir quelles actions vous pouvez utiliser pour spécifier l'ARN de chaque ressource, consultez la section [Actions définies par AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html#awsglue-actions-as-permissions).



## Clés de conditions de politique pour AWS Glue
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Prend en charge les clés de condition de politique spécifiques au service :** oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément `Condition` indique à quel moment les instructions s’exécutent en fonction de critères définis. Vous pouvez créer des expressions conditionnelles qui utilisent des [opérateurs de condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tels que les signes égal ou inférieur à, pour faire correspondre la condition de la politique aux valeurs de la demande. Pour voir toutes les clés de condition AWS globales, voir les clés de [contexte de condition AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) dans le *guide de l'utilisateur IAM*.

Pour consulter la liste des clés de condition AWS Glue, voir [Clés de condition pour AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html#awsglue-policy-keys) dans le *Service Authorization Reference*. Pour savoir avec quelles actions et ressources vous pouvez utiliser une clé de condition, consultez [Actions définies par AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html#awsglue-actions-as-permissions).

Pour afficher des exemples de stratégies, veuillez consulter [Contrôler les paramètres à l'aide de clés de condition ou de contexte](security_iam_id-based-policy-examples.md#glue-identity-based-policy-condition-keys).

## ACLs dans AWS Glue
<a name="security_iam_service-with-iam-acls"></a>

**Supports ACLs :** Non 

Les listes de contrôle d'accès (ACLs) contrôlent les principaux (membres du compte, utilisateurs ou rôles) autorisés à accéder à une ressource. ACLs sont similaires aux politiques basées sur les ressources, bien qu'elles n'utilisent pas le format de document de politique JSON.

## ABAC avec Glue AWS
<a name="security_iam_service-with-iam-tags"></a>

**Prend en charge ABAC (identifications dans les politiques) :** partiellement

Le contrôle d’accès par attributs (ABAC) est une stratégie d’autorisation qui définit les autorisations en fonction des attributs nommés balise. Vous pouvez associer des balises aux entités et aux AWS ressources IAM, puis concevoir des politiques ABAC pour autoriser les opérations lorsque la balise du principal correspond à la balise de la ressource.

Pour contrôler l’accès basé sur des étiquettes, vous devez fournir les informations d’étiquette dans l’[élément de condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) d’une politique utilisant les clés de condition `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` ou `aws:TagKeys`.

Si un service prend en charge les trois clés de condition pour tous les types de ressources, alors la valeur pour ce service est **Oui**. Si un service prend en charge les trois clés de condition pour certains types de ressources uniquement, la valeur est **Partielle**.

Pour plus d’informations sur ABAC, consultez [Définition d’autorisations avec l’autorisation ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) dans le *Guide de l’utilisateur IAM*. Pour accéder à un didacticiel décrivant les étapes de configuration de l’ABAC, consultez [Utilisation du contrôle d’accès par attributs (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) dans le *Guide de l’utilisateur IAM*.

**Important**  
Les clés de contexte de condition s'appliquent uniquement aux actions d'API AWS Glue sur des crawlers, des tâches, des déclencheurs et des points de terminaison de développement. Pour plus d'informations sur les opérations d'API concernées, consultez la section [Clés de condition pour AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html#awsglue-policy-keys).  
Les opérations d'API du catalogue de données AWS Glue ne prennent actuellement pas en charge les clés de contexte de condition globales `aws:referer` et `aws:UserAgent`.

Pour visualiser un exemple de politique basée sur l’identité permettant de limiter l’accès à une ressource en fonction des balises de cette ressource, consultez [Octoyer l'accès à l'aide de balises](security_iam_id-based-policy-examples.md#tags-control-access-example-triggers-allow).

## Utiliser des informations d'identification temporaires avec AWS Glue
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Prend en charge les informations d’identification temporaires :** oui

Les informations d'identification temporaires fournissent un accès à court terme aux AWS ressources et sont automatiquement créées lorsque vous utilisez la fédération ou que vous changez de rôle. AWS recommande de générer dynamiquement des informations d'identification temporaires au lieu d'utiliser des clés d'accès à long terme. Pour plus d’informations, consultez [Informations d’identification de sécurité temporaires dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) et [Services AWS compatibles avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dans le *Guide de l’utilisateur IAM*.

## Autorisations principales interservices pour AWS Glue
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Prend en charge les sessions d’accès direct (FAS)** : oui 

 Les sessions d'accès direct (FAS) utilisent les autorisations du principal appelant et Service AWS, combinées Service AWS à la demande d'envoi de demandes aux services en aval. Pour plus de détails sur la politique relative à la transmission de demandes FAS, consultez la section [Sessions de transmission d’accès](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Rôles de service pour AWS Glue
<a name="security_iam_service-with-iam-roles-service"></a>

**Prend en charge les rôles de service :** oui

 Un rôle de service est un [rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) qu’un service endosse pour accomplir des actions en votre nom. Un administrateur IAM peut créer, modifier et supprimer un rôle de service à partir d’IAM. Pour plus d’informations, consultez [Création d’un rôle pour la délégation d’autorisations à un Service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le *Guide de l’utilisateur IAM*. 

**Avertissement**  
La modification des autorisations associées à un rôle de service peut perturber les fonctionnalités de AWS Glue. Modifiez les rôles de service uniquement lorsque AWS Glue fournit des instructions à cet effet.

Pour obtenir des instructions détaillées sur la création d'un rôle de service pour AWS Glue, reportez-vous [Étape 1 : créer une politique IAM pour le service AWS Glue](create-service-policy.md) aux sections et[Étape 2 : créer un rôle IAM pour AWS Glue](create-an-iam-role.md).

## Rôles liés à un service pour Glue AWS
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Prend en charge les rôles liés à un service :** non 

 Un rôle lié à un service est un type de rôle de service lié à un. Service AWS Le service peut endosser le rôle afin d’effectuer une action en votre nom. Les rôles liés à un service apparaissent dans votre Compte AWS répertoire et appartiennent au service. Un administrateur IAM peut consulter, mais ne peut pas modifier, les autorisations concernant les rôles liés à un service. 

Pour plus d’informations sur la création ou la gestion des rôles liés à un service, consultez [Services AWS qui fonctionnent avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Recherchez un service dans le tableau qui inclut un `Yes` dans la colonne **Rôle lié à un service**. Choisissez le lien **Oui** pour consulter la documentation du rôle lié à ce service.

# Configuration des autorisations IAM pour AWS Glue
<a name="configure-iam-for-glue"></a>

Vous utilisez Gestion des identités et des accès AWS (IAM) pour définir les politiques et les rôles AWS Glue utilisés pour accéder aux ressources. Les étapes suivantes vous guident à travers les différentes options de configuration des autorisations pour AWS Glue. En fonction de vos besoins professionnels, vous pouvez avoir besoin d’accroître ou de limiter l’accès à vos ressources.

**Note**  
Pour commencer à utiliser les autorisations IAM de base pour la AWS Glue place, consultez[Configuration des autorisations IAM pour AWS Glue](set-up-iam.md).

1. [Créer une politique IAM pour le service AWS Glue](create-service-policy.md) : créez une politique de service qui autorise l’accès aux ressources AWS Glue.

1. [Créer un rôle IAM pour AWS Glue](create-an-iam-role.md) : créez un rôle IAM et attachez la politique du service AWS Glue et une politique pour vos ressources Amazon Simple Storage Service (Amazon S3) utilisées par AWS Glue.

1. [Attacher une politique aux utilisateurs ou groupes ayant accès à AWS Glue](attach-policy-iam-user.md) : attachez des politiques à tous les utilisateurs ou groupes qui se connectent à la console AWS Glue.

1. [Créer une politique IAM pour les blocs-notes](create-notebook-policy.md) : créez une politique de serveur de bloc-notes à utiliser lors de la création de serveurs de bloc-notes sur les points de terminaison de développement.

1. [Créer un rôle IAM pour les blocs-notes](create-an-iam-role-notebook.md) : créez un rôle IAM et attachez la politique de serveur de bloc-notes.

1. [Création d'une politique IAM pour les blocs-notes Amazon SageMaker AI](create-sagemaker-notebook-policy.md) : créez une politique IAM à utiliser lors de la création de blocs-notes Amazon SageMaker AI sur les terminaux de développement.

1. [Création d'un rôle IAM pour les blocs-notes Amazon SageMaker AI](create-an-iam-role-sagemaker-notebook.md) : créez un rôle IAM et joignez la politique d'octroi d'autorisations lors de la création de blocs-notes Amazon SageMaker AI sur les terminaux de développement.

# Étape 1 : créer une politique IAM pour le service AWS Glue
<a name="create-service-policy"></a>

Toute opération qui accède aux données d'une autre AWS ressource, telle que l'accès à vos objets dans Amazon S3, AWS Glue nécessite une autorisation pour accéder à la ressource en votre nom. Vous fournissez ces autorisations en utilisant Gestion des identités et des accès AWS (IAM). 

**Note**  
Vous pouvez ignorer cette étape si vous utilisez la politique AWS gérée`AWSGlueServiceRole`.

Au cours de cette étape, vous créez une politique similaire à `AWSGlueServiceRole`. Vous pouvez consulter la version la plus récente de `AWSGlueServiceRole` sur la console IAM.

**Pour créer une politique IAM pour AWS Glue**

Cette politique autorise certaines actions Amazon S3 à gérer des ressources de votre compte qui sont nécessaires pour AWS Glue lorsque celui-ci endosse le rôle à l'aide de cette politique. Certaines des ressources spécifiées dans cette politique font référence aux noms par défaut utilisés AWS Glue pour les compartiments Amazon S3, les scripts ETL Amazon S3, les CloudWatch journaux et les ressources Amazon EC2. Pour plus de simplicité, AWS Glue écrit certains objets Amazon S3 dans des compartiments de votre compte portant le préfixe `aws-glue-*` par défaut.

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

1. Dans le volet de navigation de gauche, choisissez **Politiques**.

1. Sélectionnez **Créer une politique**.

1. Sur l'écran **Créer une politique**, accédez à un onglet pour modifier le fichier JSON. Créez un document de politique avec les instructions JSON suivantes, puis sélectionnez **Examiner une politique**.
**Note**  
Ajoutez les permissions requises pour les ressources Amazon S3. Vous pouvez vouloir définir la portée de la section des ressources de votre politique d'accès uniquement aux ressources qui sont requises.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "glue:*",
           "s3:GetBucketLocation",
           "s3:ListBucket",
           "s3:ListAllMyBuckets",
           "s3:GetBucketAcl",
           "ec2:DescribeVpcEndpoints",
           "ec2:DescribeRouteTables",
           "ec2:CreateNetworkInterface",
           "ec2:DeleteNetworkInterface",
           "ec2:DescribeNetworkInterfaces",
           "ec2:DescribeSecurityGroups",
           "ec2:DescribeSubnets",
           "ec2:DescribeVpcAttribute",
           "iam:ListRolePolicies",
           "iam:GetRole",
           "iam:GetRolePolicy",
           "cloudwatch:PutMetricData"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:CreateBucket",
           "s3:PutBucketPublicAccessBlock"
         ],
         "Resource": [
           "arn:aws:s3:::aws-glue-*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:PutObject",
           "s3:DeleteObject"
         ],
         "Resource": [
           "arn:aws:s3:::aws-glue-*/*",
           "arn:aws:s3:::*/*aws-glue-*/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject"
         ],
         "Resource": [
           "arn:aws:s3:::crawler-public*",
           "arn:aws:s3:::aws-glue-*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "logs:CreateLogGroup",
           "logs:CreateLogStream",
           "logs:PutLogEvents",
           "logs:AssociateKmsKey"
         ],
         "Resource": [
           "arn:aws:logs:*:*:log-group:/aws-glue/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "ec2:CreateTags",
           "ec2:DeleteTags"
         ],
         "Condition": {
           "ForAllValues:StringEquals": {
             "aws:TagKeys": [
               "aws-glue-service-resource"
             ]
           }
         },
         "Resource": [
           "arn:aws:ec2:*:*:network-interface/*",
           "arn:aws:ec2:*:*:security-group/*",
           "arn:aws:ec2:*:*:instance/*"
         ]
       }
     ]
   }
   ```

------

   Le tableau suivant décrit les autorisations accordées par cette politique.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/create-service-policy.html)

1. Sur l’écran **Review policy** (Examiner la politique), saisissez votre **Policy Name** (Nom de politique), par exemple, **GlueServiceRolePolicy**. Saisissez éventuellement une description, et lorsque vous êtes satisfait de la politique, sélectionnez **Créer une politique**.

# Étape 2 : créer un rôle IAM pour AWS Glue
<a name="create-an-iam-role"></a>

Vous devez accorder à votre rôle IAM des autorisations dont AWS Glue peut disposer lors de l’appel d’autres services en votre nom. Cela inclut l’accès à Amazon S3 pour toutes les sources, cibles, scripts et répertoires temporaires que vous utilisez avec AWS Glue. Une autorisation est requise pour les crawlers, les tâches et les points de terminaison de développement.

Vous fournissez ces autorisations en utilisant Gestion des identités et des accès AWS (IAM). Ajoutez une politique au rôle IAM que vous transmettez à AWS Glue.

****Pour créer un rôle IAM dans l'éditeur de tâches****

1. Lorsque vous créez une tâche dans la AWS Glue console, recherchez la section des rôles.

1. Choisissez **Create New Role** (Créer un nouveau rôle).

1. Un formulaire de création de rôle intégré s'ouvre, vous permettant de :
   + Spécifiez **le nom du rôle** ; par exemple,`AWSGlueServiceRoleDefault`.
   + La politique gérée `AWSGlueServiceRole` est automatiquement sélectionnée.
   + Passez en revue la politique de confiance pour assumer le rôle.
   + Ajoutez des balises facultatives pour les métadonnées.

1. Choisissez **Créer un rôle**.

1. Le rôle nouvellement créé est automatiquement sélectionné pour votre tâche.

Vous pouvez également utiliser la console IAM pour créer le rôle :

****Pour créer un rôle IAM pour AWS Glue utiliser la console IAM****

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

1. Dans le volet de navigation de gauche, choisissez **Rôles**.

1. Choisissez **Créer un rôle**.

1.  Choisissez **Service AWS ** comme type d’entité de confiance. Ensuite, pour le service ou le cas d’utilisation, recherchez et choisissez **AWS Glue**. Choisissez **Suivant**. 

1. Sur la page **Ajouter des autorisations**, choisissez les politiques qui contiennent les autorisations requises ; par exemple, la politique AWS gérée `AWSGlueServiceRole` pour les AWS Glue autorisations générales et la politique AWS gérée **AmazonS3 FullAccess** pour l'accès aux ressources Amazon S3. Ensuite, sélectionnez **Suivant**.
**Note**  
Assurez-vous que l’une des politiques de ce rôle accorde des autorisations à vos sources et cibles Amazon S3. Vous pouvez vouloir fournir votre propre politique pour l’accès à certaines ressources Amazon S3. Les sources de données nécessitent les autorisations `s3:ListBucket` et `s3:GetObject`. Les sources de données nécessitent les autorisations `s3:ListBucket`, `s3:PutObject` et `s3:DeleteObject`. Pour plus d’informations sur la création d’une politique Amazon S3 pour vos ressources, consultez [Spécification des ressources d’une politique](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-arn-format.html). Pour obtenir un exemple de politique Amazon S3, consultez notre billet de blog [Writing IAM Policies: How to Grant Access to an Amazon S3 Bucket](https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/).   
Si vous prévoyez d’accéder à des sources et cibles Amazon S3 chiffrées avec SSE-KMS, attachez une politique permettant aux crawlers, tâches et points de terminaison de développement AWS Glue de déchiffrer les données. Pour plus d'informations, consultez [la section Protection des données à l'aide du chiffrement côté serveur avec des clés AWS KMS gérées (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html).   
Voici un exemple.  

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt"
         ],
         "Resource": [
           "arn:aws:kms:*:111122223333:key/key-id"
         ]
       }
     ]
   }
   ```

1.  Donnez un nom à votre rôle et ajoutez une description (facultatif), puis passez en revue la politique de confiance et les autorisations. Pour **Role name** (Nom du rôle), indiquez le nom de votre rôle, par exemple, `AWSGlueServiceRoleDefault`. Créez le rôle avec un nom portant comme préfixe la chaîne `AWSGlueServiceRole` afin de permettre au rôle d’être transmis entre les utilisateurs de la console et le service. Les politiques fournies par AWS Glue prévoient que les rôles de service IAM commencent par `AWSGlueServiceRole`. Sinon, vous devez ajouter une politique accordant à vos utilisateurs l’autorisation `iam:PassRole` afin que les rôles IAM correspondent à votre convention de dénomination. Choisissez **Create Role** (Créer un rôle).
**Note**  
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.   

****  

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

1.  Ajoutez des balises à votre rôle (facultatif). Les balises sont des paires clé-valeur que vous pouvez ajouter aux AWS ressources pour identifier, organiser ou rechercher des ressources. Puis, choisissez **Créer un rôle**. 

# Étape 3 : attacher une politique aux utilisateurs ou aux groupes accédant à AWS Glue
<a name="attach-policy-iam-user"></a>

L'administrateur doit attribuer des autorisations à tous les utilisateurs, groupes ou rôles à l'aide de la AWS Glue console ou AWS Command Line Interface (AWS CLI). Vous fournissez ces autorisations grâce à Gestion des identités et des accès AWS (IAM) par le biais des politiques. Cette étape décrit l’attribution d’autorisations à des utilisateurs ou groupes.

Une fois cette étape terminée, les politiques suivantes seront associées à votre utilisateur ou groupe :
+ La politique AWS gérée `AWSGlueConsoleFullAccess` ou la politique personnalisée **GlueConsoleAccessPolicy**
+ **`AWSGlueConsoleSageMakerNotebookFullAccess`**
+ **`CloudWatchLogsReadOnlyAccess`**
+ **`AWSCloudFormationReadOnlyAccess`**
+ **`AmazonAthenaFullAccess`**

**Associer une politique en ligne et l’intégrer à un utilisateur ou à un groupe**

Vous pouvez associer une politique AWS gérée ou une politique intégrée à un utilisateur ou à un groupe pour accéder à la AWS Glue console. Certaines des ressources spécifiées dans cette politique font référence aux noms par défaut utilisés AWS Glue pour les compartiments Amazon S3, les scripts ETL Amazon S3 CloudFormation, CloudWatch les journaux et les ressources Amazon EC2. Pour plus de simplicité, AWS Glue écrit certains objets Amazon S3 dans des compartiments de votre compte portant le préfixe `aws-glue-*` par défaut. 
**Note**  
Vous pouvez ignorer cette étape si vous utilisez la politique AWS gérée **`AWSGlueConsoleFullAccess`**.
**Important**  
AWS Glue a besoin d’une autorisation pour endosser un rôle utilisé pour effectuer des tâches en votre nom. **Pour cela, vous ajoutez les autorisations `iam:PassRole` à vos utilisateurs ou groupes AWS Glue.** Cette politique accorde l’autorisation aux rôles commençant par `AWSGlueServiceRole` pour les rôles de service AWS Glue et `AWSGlueServiceNotebookRole` pour les rôles qui sont requis lorsque vous créez un serveur de bloc-notes. Vous pouvez également créer votre propre politique pour les autorisations `iam:PassRole`, conforme à votre convention de dénomination.  
Conformément aux meilleures pratiques de sécurité, il est recommandé de restreindre l'accès en renforçant les politiques afin de restreindre davantage l'accès aux compartiments et aux groupes de Amazon CloudWatch journaux Amazon S3. Pour obtenir un exemple de politique Amazon S3, consultez notre billet de blog [Writing IAM Policies: How to Grant Access to an Amazon S3 Bucket](https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/). 

Au cours de cette étape, vous créez une politique similaire à `AWSGlueConsoleFullAccess`. Vous pouvez consulter la version la plus récente de `AWSGlueConsoleFullAccess` sur la console IAM.

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

1. Dans le volet de navigation, choisissez **Utilisateurs** ou **Groupes d’utilisateurs**.

1. Dans la liste, sélectionnez le nom de l’utilisateur ou du groupe auquel intégrer une politique.

1. Sélectionnez l’onglet **Autorisations** et, si nécessaire, développez la section **Politiques d’autorisations**.

1. Cliquez sur le lien **Add Inline policy** (Ajouter une politique en ligne).

1. Sur l’écran **Créer une politique**, accédez à un onglet pour modifier le fichier JSON. Créez un document de politique avec les instructions JSON suivantes, puis sélectionnez **Examiner une politique**.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "glue:*",
           "redshift:DescribeClusters",
           "redshift:DescribeClusterSubnetGroups",
           "iam:ListRoles",
           "iam:ListUsers",
           "iam:ListGroups",
           "iam:ListRolePolicies",
           "iam:GetRole",
           "iam:GetRolePolicy",
           "iam:ListAttachedRolePolicies",
           "ec2:DescribeSecurityGroups",
           "ec2:DescribeSubnets",
           "ec2:DescribeVpcs",
           "ec2:DescribeVpcEndpoints",
           "ec2:DescribeRouteTables",
           "ec2:DescribeVpcAttribute",
           "ec2:DescribeKeyPairs",
           "ec2:DescribeInstances",
           "rds:DescribeDBInstances",
           "rds:DescribeDBClusters",
           "rds:DescribeDBSubnetGroups",
           "s3:ListAllMyBuckets",
           "s3:ListBucket",
           "s3:GetBucketAcl",
           "s3:GetBucketLocation",
           "cloudformation:DescribeStacks",
           "cloudformation:GetTemplateSummary",
           "dynamodb:ListTables",
           "kms:ListAliases",
           "kms:DescribeKey",
           "cloudwatch:GetMetricData",
           "cloudwatch:ListDashboards"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:PutObject"
         ],
         "Resource": [
           "arn:aws:s3:::*/*aws-glue-*/*",
           "arn:aws:s3:::aws-glue-*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "tag:GetResources"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:CreateBucket",
           "s3:PutBucketPublicAccessBlock"
         ],
         "Resource": [
           "arn:aws:s3:::aws-glue-*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "logs:GetLogEvents"
         ],
         "Resource": [
           "arn:aws:logs:*:*:/aws-glue/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "cloudformation:CreateStack",
           "cloudformation:DeleteStack"
         ],
         "Resource": "arn:aws:cloudformation:*:*:stack/aws-glue*/*"
       },
       {
         "Effect": "Allow",
         "Action": [
           "ec2:RunInstances"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:instance/*",
           "arn:aws:ec2:*:*:key-pair/*",
           "arn:aws:ec2:*:*:image/*",
           "arn:aws:ec2:*:*:security-group/*",
           "arn:aws:ec2:*:*:network-interface/*",
           "arn:aws:ec2:*:*:subnet/*",
           "arn:aws:ec2:*:*:volume/*"
         ]
       },
       {
         "Action": [
           "iam:PassRole"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:iam::*:role/AWSGlueServiceRole*",
         "Condition": {
           "StringLike": {
             "iam:PassedToService": [
               "glue.amazonaws.com"
             ]
           }
         }
       },
       {
         "Action": [
           "iam:PassRole"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:iam::*:role/AWSGlueServiceNotebookRole*",
         "Condition": {
           "StringLike": {
             "iam:PassedToService": [
               "ec2.amazonaws.com"
             ]
           }
         }
       },
       {
         "Action": [
           "iam:PassRole"
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:iam::*:role/service-role/AWSGlueServiceRole*"
         ],
         "Condition": {
           "StringLike": {
             "iam:PassedToService": [
               "glue.amazonaws.com"
             ]
           }
         }
       }
     ]
   }
   ```

------

   Le tableau suivant décrit les autorisations accordées par cette politique.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/attach-policy-iam-user.html)

1. Sur l'écran **Réviser la politique**, entrez le nom de la politique, par exemple **GlueConsoleAccessPolicy**. Lorsque vous êtes satisfait de la politique, sélectionnez **Create policy (Créer une politique)**. Assurez-vous qu’aucune erreur ne s’affiche dans un cadre rouge en haut de l’écran. Corrigez les erreurs signalées.
**Note**  
Si l’option **Use autoformatting** est sélectionnée, la politique est reformatée chaque fois que vous ouvrez une politique ou sélectionnez **Validate Policy**.

**Pour joindre la politique AWSGlue ConsoleFullAccess gérée**

Vous pouvez attacher la politique `AWSGlueConsoleFullAccess` afin d’accorder les autorisations requises par l’utilisateur de la console AWS Glue.
**Note**  
Vous pouvez ignorer cette étape si vous avez créé votre propre politique pour l’accès à la console AWS Glue.

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

1. Dans le panneau de navigation, choisissez **Politiques**.

1. Dans la liste des politiques, cochez la case à côté de **AWSGlueConsoleFullAccess**. Vous pouvez utiliser le menu **Filtre** et la zone de recherche pour filtrer la liste de politiques.

1. Sélectionnez **Policy Actions** (Actions de politique), puis sélectionnez **Attach** (Attacher).

1. Sélectionnez l'utilisateur auquel attacher la politique. Vous pouvez utiliser le menu **Filtre** et la zone de recherche pour filtrer la liste des entités du principal. Après avoir choisi l'utilisateur auquel attacher la politique, sélectionnez **Attacher la politique**.

**Pour attacher la politique gérée par `AWSGlueConsoleSageMakerNotebookFullAccess`**

Vous pouvez associer la `AWSGlueConsoleSageMakerNotebookFullAccess` politique à un utilisateur pour gérer les blocs-notes SageMaker IA créés sur la AWS Glue console. Outre les autres autorisations de AWS Glue console requises, cette politique accorde l'accès aux ressources nécessaires à la gestion des blocs-notes SageMaker AI. 

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

1. Dans le panneau de navigation, choisissez **Politiques**. 

1. Dans la liste des politiques, cochez la case à côté de **AWSGlueConsoleSageMakerNotebookFullAccess**. Vous pouvez utiliser le menu **Filtre** et la zone de recherche pour filtrer la liste de politiques.

1. Sélectionnez **Policy Actions** (Actions de politique), puis sélectionnez **Attach** (Attacher).

1. Sélectionnez l'utilisateur auquel attacher la politique. Vous pouvez utiliser le menu **Filtre** et la zone de recherche pour filtrer la liste des entités du principal. Après avoir choisi l'utilisateur auquel attacher la politique, sélectionnez **Attach policy** (Attacher la politique).

**Pour joindre la politique CloudWatchLogsReadOnlyAccess gérée**

Vous pouvez associer la **CloudWatchLogsReadOnlyAccess**politique à un utilisateur pour consulter les journaux créés par AWS Glue la console CloudWatch Logs.

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

1. Dans le panneau de navigation, choisissez **Politiques**. 

1. Dans la liste des politiques, cochez la case à côté de **CloudWatchLogsReadOnlyAccess**. Vous pouvez utiliser le menu **Filtre** et la zone de recherche pour filtrer la liste de politiques.

1. Sélectionnez **Policy Actions** (Actions de politique), puis sélectionnez **Attach** (Attacher).

1. Sélectionnez l'utilisateur auquel attacher la politique. Vous pouvez utiliser le menu **Filtre** et la zone de recherche pour filtrer la liste des entités du principal. Après avoir choisi l'utilisateur auquel attacher la politique, sélectionnez **Attach policy** (Attacher la politique).

**Pour joindre la politique AWSCloud FormationReadOnlyAccess gérée**

Vous pouvez associer la **AWSCloudFormationReadOnlyAccess**politique à un utilisateur pour afficher les CloudFormation piles utilisées par celui-ci AWS Glue sur la CloudFormation console.

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

1. Dans le panneau de navigation, choisissez **Politiques**. 

1. Dans la liste des politiques, cochez la case à côté de **AWSCloudFormationReadOnlyAccess**. Vous pouvez utiliser le menu **Filtre** et la zone de recherche pour filtrer la liste de politiques.

1. Sélectionnez **Policy Actions** (Actions de politique), puis sélectionnez **Attach** (Attacher).

1. Sélectionnez l'utilisateur auquel attacher la politique. Vous pouvez utiliser le menu **Filtre** et la zone de recherche pour filtrer la liste des entités du principal. Après avoir choisi l'utilisateur auquel attacher la politique, sélectionnez **Attach policy** (Attacher la politique).

**Pour joindre la politique AmazonAthenaFullAccess gérée**

Vous pouvez associer la **AmazonAthenaFullAccess**politique à un utilisateur pour qu'il puisse consulter les données Amazon S3 dans la console Athena.

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

1. Dans le panneau de navigation, choisissez **Politiques**. 

1. Dans la liste des politiques, cochez la case à côté de **AmazonAthenaFullAccess**. Vous pouvez utiliser le menu **Filtre** et la zone de recherche pour filtrer la liste de politiques.

1. Sélectionnez **Policy Actions** (Actions de politique), puis sélectionnez **Attach** (Attacher).

1. Sélectionnez l'utilisateur auquel attacher la politique. Vous pouvez utiliser le menu **Filtre** et la zone de recherche pour filtrer la liste des entités du principal. Après avoir choisi l'utilisateur auquel attacher la politique, sélectionnez **Attach policy** (Attacher la politique).

# Étape 4 : créer une politique IAM pour les serveurs de blocs-notes
<a name="create-notebook-policy"></a>

Si vous prévoyez d'utiliser des bloc-notes avec des points de terminaison de développement, vous devez spécifier des autorisations lorsque vous créez le serveur de bloc-notes. Vous fournissez ces autorisations à l'aide d' Gestion des identités et des accès AWS (IAM).

Cette politique autorise certaines actions Amazon S3 à gérer des ressources de votre compte qui sont nécessaires pour AWS Glue lorsque celui-ci endosse le rôle à l'aide de cette politique. Certaines des ressources spécifiées dans cette politique font référence aux noms par défaut utilisés par AWS Glue pour les compartiments Amazon S3, les scripts ETL Amazon S3 et les ressources Amazon EC2. Pour plus de simplicité, AWS Glue écrit par défaut certains objets Amazon S3 dans des compartiments de votre compte portant le préfixe `aws-glue-*`. 

**Note**  
Vous pouvez ignorer cette étape si vous utilisez la politique AWS gérée **`AWSGlueServiceNotebookRole`**.

Au cours de cette étape, vous créez une politique similaire à `AWSGlueServiceNotebookRole`. Vous pouvez consulter la version la plus récente de `AWSGlueServiceNotebookRole` sur la console IAM.

**Pour créer une politique IAM pour les bloc-notes**

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

1. Dans le volet de navigation de gauche, choisissez **Politiques**.

1. Sélectionnez **Créer une politique**.

1. Sur l'écran **Créer une politique**, accédez à un onglet pour modifier le fichier JSON. Créez un document de politique avec les instructions JSON suivantes, puis sélectionnez **Examiner une politique**.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "glue:CreateDatabase",
           "glue:CreatePartition",
           "glue:CreateTable",
           "glue:DeleteDatabase",
           "glue:DeletePartition",
           "glue:DeleteTable",
           "glue:GetDatabase",
           "glue:GetDatabases",
           "glue:GetPartition",
           "glue:GetPartitions",
           "glue:GetTable",
           "glue:GetTableVersions",
           "glue:GetTables",
           "glue:UpdateDatabase",
           "glue:UpdatePartition",
           "glue:UpdateTable",
           "glue:GetJobBookmark",
           "glue:ResetJobBookmark",
           "glue:CreateConnection",
           "glue:CreateJob",
           "glue:DeleteConnection",
           "glue:DeleteJob",
           "glue:GetConnection",
           "glue:GetConnections",
           "glue:GetDevEndpoint",
           "glue:GetDevEndpoints",
           "glue:GetJob",
           "glue:GetJobs",
           "glue:UpdateJob",
           "glue:BatchDeleteConnection",
           "glue:UpdateConnection",
           "glue:GetUserDefinedFunction",
           "glue:UpdateUserDefinedFunction",
           "glue:GetUserDefinedFunctions",
           "glue:DeleteUserDefinedFunction",
           "glue:CreateUserDefinedFunction",
           "glue:BatchGetPartition",
           "glue:BatchDeletePartition",
           "glue:BatchCreatePartition",
           "glue:BatchDeleteTable",
           "glue:UpdateDevEndpoint",
           "s3:GetBucketLocation",
           "s3:ListBucket",
           "s3:ListAllMyBuckets",
           "s3:GetBucketAcl"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject"
         ],
         "Resource": [
           "arn:aws:s3:::crawler-public*",
           "arn:aws:s3:::aws-glue*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:DeleteObject"
         ],
         "Resource": [
           "arn:aws:s3:::aws-glue*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "ec2:CreateTags",
           "ec2:DeleteTags"
         ],
         "Condition": {
           "ForAllValues:StringEquals": {
             "aws:TagKeys": [
               "aws-glue-service-resource"
             ]
           }
         },
         "Resource": [
           "arn:aws:ec2:*:*:network-interface/*",
           "arn:aws:ec2:*:*:security-group/*",
           "arn:aws:ec2:*:*:instance/*"
         ]
       }
     ]
   }
   ```

------

   Le tableau suivant décrit les autorisations accordées par cette politique.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/create-notebook-policy.html)

1. Sur l’écran **Review policy** (Examiner la politique), saisissez votre **Policy Name** (Nom de politique), par exemple, **GlueServiceNotebookPolicyDefault**. Saisissez éventuellement une description, et lorsque vous êtes satisfait de la politique, sélectionnez **Créer une politique**.

# Étape 5 : créer un rôle IAM pour les serveurs de blocs-notes
<a name="create-an-iam-role-notebook"></a>

Si vous prévoyez d'utiliser des bloc-notes avec des points de terminaison de développement, vous devez accorder les autorisations de rôles IAM. Vous fournissez ces autorisations à l'aide d' Gestion des identités et des accès AWS IAM, via un rôle IAM.

**Note**  
Lorsque vous créez un rôle IAM à l'aide de la console IAM, celle-ci crée automatiquement un profil d'instance et lui attribue le même nom qu'au rôle auquel il correspond.

**Pour créer un rôle IAM pour des bloc-notes**

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

1. Dans le volet de navigation de gauche, choisissez **Rôles**.

1. Choisissez **Créer un rôle**.

1. Pour le type de rôle, sélectionnez **Service AWS **, recherchez et sélectionnez **EC2**, sélectionnez le cas d'utilisation **EC2**, puis **Suivant : autorisations**.

1. Sur la page **Joindre la politique d'autorisations**, choisissez les politiques qui contiennent les autorisations requises ; par exemple, **AWSGlueServiceNotebookRole**pour les AWS Glue autorisations générales et la politique AWS gérée **AmazonS3 FullAccess** pour l'accès aux ressources Amazon S3. Choisissez ensuite **Next: Review**.
**Note**  
Assurez-vous que l'une des politiques de ce rôle accorde des autorisations à vos sources et cibles Amazon S3. Confirmez également que votre politique autorise un accès complet à l'emplacement dans lequel vous stockez votre bloc-notes lors de la création d'un serveur de bloc-notes. Vous pouvez vouloir fournir votre propre politique pour l'accès à certaines ressources Amazon S3. Pour plus d'informations sur la création d'une politique Amazon S3 pour vos ressources, consultez [Spécification des ressources d'une politique](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-arn-format.html).  
Si vous prévoyez d'accéder à des sources et cibles Amazon S3 chiffrées avec SSE-KMS, attachez une politique permettant aux bloc-notes de déchiffrer les données. Pour plus d'informations, consultez [la section Protection des données à l'aide du chiffrement côté serveur avec des clés AWS KMS gérées (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html).   
Voici un exemple.  

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt"
         ],
         "Resource": [
           "arn:aws:kms:*:111122223333:key/key-id"
         ]
       }
     ]
   }
   ```

1. Dans le champ **Role name** (Nom de rôle), saisissez un nom pour votre rôle. Créez le rôle avec un nom portant comme préfixe la chaîne `AWSGlueServiceNotebookRole` afin de permettre au rôle d'être transmis entre les utilisateurs de la console et le serveur de bloc-notes. Les politiques fournies par AWS Glue prévoient que les rôles de service IAM commencent par `AWSGlueServiceNotebookRole`. Sinon, vous devez ajouter une politique à vos utilisateurs accordant l'autorisation `iam:PassRole` aux rôles IAM de correspondre à votre convention de dénomination. Par exemple, saisissez `AWSGlueServiceNotebookRoleDefault`. Puis choisissez **Create role (Créer un rôle)**. 

# Étape 6 : créer une politique IAM pour les ordinateurs portables dotés d' SageMaker intelligence artificielle
<a name="create-sagemaker-notebook-policy"></a>

Si vous envisagez d'utiliser des blocs-notes SageMaker AI avec des terminaux de développement, vous devez spécifier des autorisations lors de la création du bloc-notes. Vous fournissez ces autorisations à l’aide d’ Gestion des identités et des accès AWS (IAM).

**Pour créer une politique IAM pour les ordinateurs portables dotés d' SageMaker intelligence artificielle**

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

1. Dans le volet de navigation de gauche, choisissez **Politiques**.

1. Sélectionnez **Créer une politique**.

1. Sur la page **Créer une politique**, accédez à un onglet pour modifier le fichier JSON. Créez votre document de politique avec les instructions JSON suivantes. Modifiez *bucket-name**region-code*, et *account-id* pour votre environnement.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:ListBucket"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket"
               ]
           },
           {
               "Action": [
                   "s3:GetObject"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket*"
               ]
           },
           {
               "Action": [
                   "logs:CreateLogStream",
                   "logs:DescribeLogStreams",
                   "logs:PutLogEvents",
                   "logs:CreateLogGroup"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/*",
                   "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/*:log-stream:aws-glue-*"
               ]
           },
           {
               "Action": [
                   "glue:UpdateDevEndpoint",
                   "glue:GetDevEndpoint",
                   "glue:GetDevEndpoints"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:glue:us-east-1:111122223333:devEndpoint/*"
               ]
           },
           {
               "Action": [
                   "sagemaker:ListTags"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:sagemaker:us-east-1:111122223333:notebook-instance/*"
               ]
           }
       ]
   }
   ```

------

   Sélectionnez ensuite **Examiner une politique**. 

   Le tableau suivant décrit les autorisations accordées par cette politique.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/create-sagemaker-notebook-policy.html)

1. Sur l’écran **Review policy** (Examiner la politique), saisissez votre **Policy Name** (Nom de politique), par exemple, `AWSGlueSageMakerNotebook`. Saisissez éventuellement une description, et lorsque vous êtes satisfait de la politique, sélectionnez **Créer une politique**.

# Étape 7 : créer un rôle IAM pour les blocs-notes SageMaker AI
<a name="create-an-iam-role-sagemaker-notebook"></a>

Si vous envisagez d'utiliser des blocs-notes SageMaker AI avec des points de terminaison de développement, vous devez accorder des autorisations au rôle IAM. Vous fournissez ces autorisations en utilisant Gestion des identités et des accès AWS (IAM), via un rôle IAM.

**Pour créer un rôle IAM pour les blocs-notes SageMaker AI**

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

1. Dans le volet de navigation de gauche, choisissez **Rôles**.

1. Choisissez **Créer un rôle**.

1. Pour le type de rôle, choisissez **AWS Service**, recherchez et choisissez **SageMaker**, puis choisissez le cas **d'utilisation SageMaker - Exécution**. Choisissez ensuite **Suivant : Autorisations**.

1. Sur la page **Joindre une politique d'autorisations**, choisissez les politiques contenant les autorisations requises ; par exemple, **AmazonSageMakerFullAccess**. Choisissez **Suivant : Vérification**.

   Si vous prévoyez d’accéder à des sources et cibles Amazon S3 qui sont chiffrées avec SSE-KMS, vous devrez attacher une politique permettant aux blocs-notes de déchiffrer les données, comme illustré dans l’exemple suivant. Pour plus d'informations, voir [Protection des données à l'aide du chiffrement côté serveur avec des clés AWS KMS gérées (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html). 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt"
         ],
         "Resource": [
           "arn:aws:kms:*:111122223333:key/key-id"
         ]
       }
     ]
   }
   ```

------

1. Dans le champ **Role name** (Nom de rôle), saisissez un nom pour votre rôle. Pour autoriser le transfert du rôle des utilisateurs de la console à l' SageMaker IA, utilisez un nom préfixé par la chaîne`AWSGlueServiceSageMakerNotebookRole`. AWS Glueà condition que les politiques prévoient que les rôles IAM commencent `AWSGlueServiceSageMakerNotebookRole` par. Sinon, vous devez ajouter une politique à vos utilisateurs accordant l’autorisation `iam:PassRole` aux rôles IAM de correspondre à votre convention de dénomination. 

   Par exemple, saisissez `AWSGlueServiceSageMakerNotebookRole-Default`, puis sélectionnez **Create role** (Créer le rôle). 

1. Après avoir créé le rôle, joignez la politique qui autorise les autorisations supplémentaires requises pour créer des blocs-notes SageMaker AI à partir deAWS Glue.

   Ouvrez le rôle que vous venez de créer, `AWSGlueServiceSageMakerNotebookRole-Default`, puis sélectionnez **Attach policies** (Attacher des politiques). Attachez la politique nommée `AWSGlueSageMakerNotebook` que vous avez créée au rôle. 

# AWS Exemples de politiques de contrôle d'accès Glue
<a name="glue-policy-examples"></a>

Cette section contient des exemples de politiques de contrôle d'accès basées sur l'identité (IAM) et de politiques basées sur les ressources AWS Glue.

**Contents**
+ [Exemples de politiques basées sur l'identité pour Glue AWS](security_iam_id-based-policy-examples.md)
  + [Bonnes pratiques en matière de politiques](security_iam_id-based-policy-examples.md#security_iam_service-with-iam-policy-best-practices)
  + [Les autorisations au niveau des ressources s'appliquent uniquement à des objets AWS Glue spécifiques](security_iam_id-based-policy-examples.md#glue-identity-based-policy-limitations)
  + [Utilisation de la console AWS Glue](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-console)
  + [Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-view-own-permissions)
  + [Octroyer une autorisation en lecture seule à une table](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-read-only-table-access)
  + [Filtrer les tables par GetTables autorisation](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-filter-tables)
  + [Octroyer un accès complet à une table et à toutes les partitions](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-full-access-tables-partitions)
  + [Contrôler l'accès par préfixe du nom et refus explicite](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-deny-by-name-prefix)
  + [Octoyer l'accès à l'aide de balises](security_iam_id-based-policy-examples.md#tags-control-access-example-triggers-allow)
  + [Refuser l'accès à l'aide de balises](security_iam_id-based-policy-examples.md#tags-control-access-example-triggers-deny)
  + [Utiliser des balises avec les opérations d'API de liste et de lot](security_iam_id-based-policy-examples.md#tags-control-access-example-triggers-list-batch)
  + [Contrôler les paramètres à l'aide de clés de condition ou de contexte](security_iam_id-based-policy-examples.md#glue-identity-based-policy-condition-keys)
    + [Contrôler des politiques qui contrôlent les paramètres à l'aide des clés de condition](security_iam_id-based-policy-examples.md#glue-identity-based-policy-condition-key-vpc)
    + [Contrôler des politiques qui contrôlent les paramètres à l'aide des clés de contexte](security_iam_id-based-policy-examples.md#glue-identity-based-policy-context-key-glue)
  + [Refus de la possibilité de créer des sessions d’aperçu des données à une identité](security_iam_id-based-policy-examples.md#deny-data-preview-sessions-per-identity)
+ [Exemples de politiques basées sur les ressources pour Glue AWS](security_iam_resource-based-policy-examples.md)
  + [Considérations relatives à l'utilisation de politiques basées sur les ressources avec Glue AWS](security_iam_resource-based-policy-examples.md#security_iam_resource-based-policy-examples-considerations)
  + [Utiliser une politique de ressource pour contrôler l'accès dans le même compte](security_iam_resource-based-policy-examples.md#glue-policy-resource-policies-example-same-account)

# Exemples de politiques basées sur l'identité pour Glue AWS
<a name="security_iam_id-based-policy-examples"></a>

Par défaut, les utilisateurs et les rôles ne sont pas autorisés à créer ou à modifier les ressources AWS Glue. Pour octroyer aux utilisateurs des autorisations d’effectuer des actions sur les ressources dont ils ont besoin, un administrateur IAM peut créer des politiques IAM.

Pour apprendre à créer une politique basée sur l’identité IAM à l’aide de ces exemples de documents de politique JSON, consultez [Création de politiques IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) dans le *Guide de l’utilisateur IAM*.

Pour plus de détails sur les actions et les types de ressources définis par AWS Glue, y compris le ARNs format de chaque type de ressource, voir [Actions, ressources et clés de condition pour AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html) dans le *Service Authorization Reference*.

**Note**  
Les exemples fournis dans cette section utilisent tous la région `us-west-2`. Vous pouvez le remplacer par la AWS région que vous souhaitez utiliser.

**Topics**
+ [Bonnes pratiques en matière de politiques](#security_iam_service-with-iam-policy-best-practices)
+ [Les autorisations au niveau des ressources s'appliquent uniquement à des objets AWS Glue spécifiques](#glue-identity-based-policy-limitations)
+ [Utilisation de la console AWS Glue](#security_iam_id-based-policy-examples-console)
+ [Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Octroyer une autorisation en lecture seule à une table](#security_iam_id-based-policy-examples-read-only-table-access)
+ [Filtrer les tables par GetTables autorisation](#security_iam_id-based-policy-examples-filter-tables)
+ [Octroyer un accès complet à une table et à toutes les partitions](#security_iam_id-based-policy-examples-full-access-tables-partitions)
+ [Contrôler l'accès par préfixe du nom et refus explicite](#security_iam_id-based-policy-examples-deny-by-name-prefix)
+ [Octoyer l'accès à l'aide de balises](#tags-control-access-example-triggers-allow)
+ [Refuser l'accès à l'aide de balises](#tags-control-access-example-triggers-deny)
+ [Utiliser des balises avec les opérations d'API de liste et de lot](#tags-control-access-example-triggers-list-batch)
+ [Contrôler les paramètres à l'aide de clés de condition ou de contexte](#glue-identity-based-policy-condition-keys)
+ [Refus de la possibilité de créer des sessions d’aperçu des données à une identité](#deny-data-preview-sessions-per-identity)

## Bonnes pratiques en matière de politiques
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Les politiques basées sur l'identité déterminent si quelqu'un peut créer, accéder ou supprimer les ressources AWS Glue de votre compte. Ces actions peuvent entraîner des frais pour votre Compte AWS. Lorsque vous créez ou modifiez des politiques basées sur l’identité, suivez ces instructions et recommandations :
+ **Commencez AWS par les politiques gérées et passez aux autorisations du moindre privilège : pour commencer à accorder des autorisations** à vos utilisateurs et à vos charges de travail, utilisez les *politiques AWS gérées* qui accordent des autorisations pour de nombreux cas d'utilisation courants. Ils sont disponibles dans votre Compte AWS. Nous vous recommandons de réduire davantage les autorisations en définissant des politiques gérées par les AWS clients spécifiques à vos cas d'utilisation. Pour plus d’informations, consultez [politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [politiques gérées par AWS pour les activités professionnelles](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dans le *Guide de l’utilisateur IAM*.
+ **Accordez les autorisations de moindre privilège** : lorsque vous définissez des autorisations avec des politiques IAM, accordez uniquement les autorisations nécessaires à l’exécution d’une seule tâche. Pour ce faire, vous définissez les actions qui peuvent être entreprises sur des ressources spécifiques dans des conditions spécifiques, également appelées *autorisations de moindre privilège*. Pour plus d’informations sur l’utilisation d’IAM pour appliquer des autorisations, consultez [politiques et autorisations dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez des conditions dans les politiques IAM pour restreindre davantage l’accès** : vous pouvez ajouter une condition à vos politiques afin de limiter l’accès aux actions et aux ressources. Par exemple, vous pouvez écrire une condition de politique pour spécifier que toutes les demandes doivent être envoyées via SSL. Vous pouvez également utiliser des conditions pour accorder l'accès aux actions de service si elles sont utilisées par le biais d'un service spécifique Service AWS, tel que CloudFormation. Pour plus d’informations, consultez [Conditions pour éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez l’Analyseur d’accès IAM pour valider vos politiques IAM afin de garantir des autorisations sécurisées et fonctionnelles** : l’Analyseur d’accès IAM valide les politiques nouvelles et existantes de manière à ce que les politiques IAM respectent le langage de politique IAM (JSON) et les bonnes pratiques IAM. IAM Access Analyzer fournit plus de 100 vérifications de politiques et des recommandations exploitables pour vous aider à créer des politiques sécurisées et fonctionnelles. Pour plus d’informations, consultez [Validation de politiques avec IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dans le *Guide de l’utilisateur IAM*.
+ **Exiger l'authentification multifactorielle (MFA**) : si vous avez un scénario qui nécessite des utilisateurs IAM ou un utilisateur root, activez l'authentification MFA pour une sécurité accrue. Compte AWS Pour exiger la MFA lorsque des opérations d’API sont appelées, ajoutez des conditions MFA à vos politiques. Pour plus d’informations, consultez [Sécurisation de l’accès aux API avec MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dans le *Guide de l’utilisateur IAM*.

Pour plus d’informations sur les bonnes pratiques dans IAM, consultez [Bonnes pratiques de sécurité dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dans le *Guide de l’utilisateur IAM*.

## Les autorisations au niveau des ressources s'appliquent uniquement à des objets AWS Glue spécifiques
<a name="glue-identity-based-policy-limitations"></a>

Vous pouvez uniquement définir un contrôle précis pour certains objets dans AWS Glue. Vous devez donc écrire la politique IAM de votre client afin que les opérations d'API qui autorisent Amazon Resource Names (ARNs) pour l'`Resource`instruction ne soient pas mélangées avec les opérations d'API qui ne l'autorisent ARNs pas. 

Par exemple, la politique IAM suivante autorise les opérations d'API pour `GetClassifier` et `GetJobRun`. Il le définit `Resource` comme `*` étant donné qu'il AWS Glue n'autorise pas ARNs les classificateurs et les exécutions de tâches. Parce que ARNs sont autorisées pour des opérations d'API spécifiques telles que `GetDatabase` et`GetTable`, ARNs peuvent être spécifiées dans la seconde moitié de la politique.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:GetClassifier*",
        "glue:GetJobRun*"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "glue:Get*"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/default",
        "arn:aws:glue:us-east-1:111122223333:table/default/e*1*",
        "arn:aws:glue:us-east-1:111122223333:connection/connection2"
      ]
    }
  ]
}
```

------

Pour obtenir la liste des AWS Glue objets autorisés ARNs, voir[Spécification de AWS Glue la ressource ARNs](glue-specifying-resource-arns.md). 

## Utilisation de la console AWS Glue
<a name="security_iam_id-based-policy-examples-console"></a>

Pour accéder à la console AWS Glue, vous devez disposer d'un minimum d'autorisations. Ces autorisations doivent vous permettre de répertorier et de consulter les détails des ressources AWS Glue de votre Compte AWS. Si vous créez une politique basée sur l’identité qui est plus restrictive que l’ensemble minimum d’autorisations requis, la console ne fonctionnera pas comme prévu pour les entités (utilisateurs ou rôles) tributaires de cette politique.

Il n'est pas nécessaire d'accorder des autorisations de console minimales aux utilisateurs qui appellent uniquement l'API AWS CLI ou l' AWS API. Autorisez plutôt l’accès à uniquement aux actions qui correspondent à l’opération d’API qu’ils tentent d’effectuer.

Pour garantir que les utilisateurs et les rôles peuvent toujours utiliser la console AWS Glue, associez également la AWS Glue `ConsoleAccess` ou la politique `ReadOnly` AWS gérée aux entités. Pour plus d’informations, consultez [Ajout d’autorisations à un utilisateur](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dans le *Guide de l’utilisateur IAM*.

Pour qu'un utilisateur puisse utiliser la AWS Glue console, il doit disposer d'un ensemble minimal d'autorisations lui permettant d'utiliser les AWS Glue ressources de son AWS compte. Outre ces autorisations AWS Glue, la console nécessite les autorisations des services suivants :
+ Autorisations Amazon CloudWatch Logs pour afficher les journaux.
+ Gestion des identités et des accès AWS (IAM) autorisations permettant de répertorier et de transmettre des rôles.
+ AWS CloudFormation autorisations pour travailler avec des piles.
+ Autorisations Amazon Elastic Compute Cloud (Amazon EC2) permettant de VPCs répertorier des sous-réseaux, des groupes de sécurité, des instances et d'autres objets.
+ Autorisations Amazon Simple Storage Service (Amazon S3) pour répertorier les compartiments et les objets, et pour récupérer et enregistrer les scripts.
+ Autorisations Amazon Redshift requises pour travailler avec des clusters.
+ Autorisations Amazon Relational Database Service (Amazon RDS) pour répertorier les instances.

Pour plus d'informations sur les autorisations dont vos utilisateurs ont besoin pour afficher la console AWS Glue et l'utiliser, consultez [Étape 3 : attacher une politique aux utilisateurs ou aux groupes accédant à AWS Glue](attach-policy-iam-user.md).

Si vous créez une politique IAM plus restrictive que les autorisations minimales requises, la console ne fonctionnera pas comme prévu pour les utilisateurs dotés de cette politique IAM. Pour garantir que ces utilisateurs pourront continuer à utiliser la console AWS Glue, attachez également la politique gérée par `AWSGlueConsoleFullAccess`, comme décrit dans [AWS politiques gérées (prédéfinies) pour AWS Glue](security-iam-awsmanpol.md#access-policy-examples-aws-managed).

## Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Cet exemple montre comment créer une politique qui permet aux utilisateurs IAM d’afficher les politiques en ligne et gérées attachées à leur identité d’utilisateur. Cette politique inclut les autorisations permettant d'effectuer cette action sur la console ou par programmation à l'aide de l'API AWS CLI or AWS .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Octroyer une autorisation en lecture seule à une table
<a name="security_iam_id-based-policy-examples-read-only-table-access"></a>

La politique suivante accorde une autorisation en lecture seule à une table nommée `books` dans la base de données nommée `db1`. Pour plus d'informations sur la ressource Amazon Resource Names (ARNs), consultez[Catalogue de données ARNs](glue-specifying-resource-arns.md#data-catalog-resource-arns).

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GetTablesActionOnBooks",
      "Effect": "Allow",
      "Action": [
        "glue:GetTables",
        "glue:GetTable"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:table/db1/books"
      ]
    }
  ]
}
```

------

Cette politique accorde l'autorisation en lecture seule à une table nommée `books` dans la base de données nommée `db1`. Pour accorder une autorisation `Get` à une table, cette autorisation est également requise pour le catalogue et les ressources de base de données. 

La politique suivante accorde les autorisations nécessaires minimales pour créer la table `tb1` dans la base de données `db1` :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:CreateTable"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:table/db1/tbl1",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:catalog"
      ]
    }
  ]
}
```

------

## Filtrer les tables par GetTables autorisation
<a name="security_iam_id-based-policy-examples-filter-tables"></a>

Supposons qu'il y ait trois tables, `customers`, `stores` et `store_sales` dans la base de données `db1`. La politique suivante octroie l'autorisation `GetTables` à `stores` et `store_sales`, mais pas à `customers`. Lorsque vous appelez `GetTables` avec cette politique, le résultat contient uniquement les deux tables autorisées (la table `customers` n'est pas renvoyée).

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GetTablesExample",
      "Effect": "Allow",
      "Action": [
        "glue:GetTables"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:table/db1/store_sales",
        "arn:aws:glue:us-east-1:111122223333:table/db1/stores"
      ]
    }
  ]
}
```

------

Vous pouvez simplifier la politique précédente en utilisant `store*` pour correspondre à tous les noms de table qui commencent par `store`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GetTablesExample2",
      "Effect": "Allow",
      "Action": [
        "glue:GetTables"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:table/db1/store*"
      ]
    }
  ]
}
```

------

De même, si vous utilisez `/db1/*` pour une correspondance avec toutes les tables `db1`, la politique suivante accorde l'accès `GetTables` à toutes les tables de `db1`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GetTablesReturnAll",
      "Effect": "Allow",
      "Action": [
        "glue:GetTables"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:table/db1/*"
      ]
    }
  ]
}
```

------

Si aucun ARN de table n'est fourni, un appel de `GetTables` réussit, mais renvoie une liste vide.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GetTablesEmptyResults",
      "Effect": "Allow",
      "Action": [
        "glue:GetTables"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1"
      ]
    }
  ]
}
```

------

Si l'ARN de la base de données est manquant dans la politique, un appel à `GetTables` échoue avec une erreur`AccessDeniedException`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GetTablesAccessDeny",
      "Effect": "Allow",
      "Action": [
        "glue:GetTables"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:table/db1/*"
      ]
    }
  ]
}
```

------

## Octroyer un accès complet à une table et à toutes les partitions
<a name="security_iam_id-based-policy-examples-full-access-tables-partitions"></a>

La politique suivante accorde toutes les autorisations sur une table nommée `books` dans la base de données `db1`. Cela inclut les autorisations de lecture et d'écriture sur la table elle-même, sur les versions archivées et sur toutes ses partitions.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "FullAccessOnTable",
      "Effect": "Allow",
      "Action": [
        "glue:CreateTable",
        "glue:GetTable",
        "glue:GetTables",
        "glue:UpdateTable",
        "glue:DeleteTable",
        "glue:BatchDeleteTable",
        "glue:GetTableVersion",
        "glue:GetTableVersions",
        "glue:DeleteTableVersion",
        "glue:BatchDeleteTableVersion",
        "glue:CreatePartition",
        "glue:BatchCreatePartition",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:BatchGetPartition",
        "glue:UpdatePartition",
        "glue:DeletePartition",
        "glue:BatchDeletePartition"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:table/db1/books"
      ]
    }
  ]
}
```

------

La politique précédente peut être simplifiée dans la pratique.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "FullAccessOnTable",
      "Effect": "Allow",
      "Action": [
        "glue:*Table*",
        "glue:*Partition*"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:table/db1/books"
      ]
    }
  ]
}
```

------

Notez que la granularité minimum d'un contrôle d'accès précis se trouve au niveau de la table. Cela signifie que vous ne pouvez pas accorder à un utilisateur l'accès à certaines partitions dans une table, mais pas à d'autres, ou à certaines colonnes de la table, mais pas à d'autres. Un utilisateur a soit accès à toute la table, soit à aucune partie de la table.

## Contrôler l'accès par préfixe du nom et refus explicite
<a name="security_iam_id-based-policy-examples-deny-by-name-prefix"></a>

Dans cet exemple, supposons que les bases de données et les tables de votre AWS Glue Data Catalog soient organisées à l'aide de préfixes de nom. Les bases de données à l'étape de développement ont le préfixe de nom `dev-` et celles en production ont le préfixe de nom `prod-`. Vous pouvez utiliser la politique suivante pour accorder aux développeurs un accès complet à toutes les bases de données UDFs, tables, etc., qui portent le `dev-` préfixe. Mais vous accordez un accès en lecture seule à tout avec le préfixe `prod-`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DevAndProdFullAccess",
      "Effect": "Allow",
      "Action": [
        "glue:*Database*",
        "glue:*Table*",
        "glue:*Partition*",
        "glue:*UserDefinedFunction*",
        "glue:*Connection*"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/dev-*",
        "arn:aws:glue:us-east-1:111122223333:database/prod-*",
        "arn:aws:glue:us-east-1:111122223333:table/dev-*/*",
        "arn:aws:glue:us-east-1:111122223333:table/*/dev-*",
        "arn:aws:glue:us-east-1:111122223333:table/prod-*/*",
        "arn:aws:glue:us-east-1:111122223333:table/*/prod-*",
        "arn:aws:glue:us-east-1:111122223333:userDefinedFunction/dev-*/*",
        "arn:aws:glue:us-east-1:111122223333:userDefinedFunction/*/dev-*",
        "arn:aws:glue:us-east-1:111122223333:userDefinedFunction/prod-*/*",
        "arn:aws:glue:us-east-1:111122223333:userDefinedFunction/*/prod-*",
        "arn:aws:glue:us-east-1:111122223333:connection/dev-*",
        "arn:aws:glue:us-east-1:111122223333:connection/prod-*"
      ]
    },
    {
      "Sid": "ProdWriteDeny",
      "Effect": "Deny",
      "Action": [
        "glue:*Create*",
        "glue:*Update*",
        "glue:*Delete*"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:database/prod-*",
        "arn:aws:glue:us-east-1:111122223333:table/prod-*/*",
        "arn:aws:glue:us-east-1:111122223333:table/*/prod-*",
        "arn:aws:glue:us-east-1:111122223333:userDefinedFunction/prod-*/*",
        "arn:aws:glue:us-east-1:111122223333:userDefinedFunction/*/prod-*",
        "arn:aws:glue:us-east-1:111122223333:connection/prod-*"
      ]
    }
  ]
}
```

------

La deuxième instruction de la politique précédente utilise le explicite `deny`. Vous pouvez utiliser le `deny` explicite pour remplacer toutes les autorisations `allow` qui sont accordées au principal. Cela vous permet de verrouiller l'accès aux ressources critiques et d'éviter qu'une autre politique accorde un accès à celles-ci par accident.

Dans l'exemple précédent, même si la première instruction accorde un accès complet aux ressources `prod-`, la deuxième instruction révoque explicitement l'accès en écriture à celles-ci, laissant uniquement l'accès en lecture aux ressources `prod-`.

## Octoyer l'accès à l'aide de balises
<a name="tags-control-access-example-triggers-allow"></a>

Par exemple, supposons que vous souhaitiez limiter l'accès à un déclencheur `t2` à un utilisateur spécifique nommé `Tom` dans votre compte. Tous les autres utilisateurs, y compris `Sam`, ont accès au déclencheur `t1`. Les déclencheurs `t1` et `t2` ont les propriétés suivantes. 

```
aws glue get-triggers
{
    "Triggers": [
        {
            "State": "CREATED",
            "Type": "SCHEDULED",
            "Name": "t1",
            "Actions": [
                {
                    "JobName": "j1"
                }
            ],
            "Schedule": "cron(0 0/1 * * ? *)"
        },
        {
            "State": "CREATED",
            "Type": "SCHEDULED",
            "Name": "t2",
            "Actions": [
                {
                    "JobName": "j1"
                }
            ],
            "Schedule": "cron(0 0/1 * * ? *)"
        }
    ]
}
```

L'administrateur AWS Glue a attaché une valeur de balise `Tom` (`aws:ResourceTag/Name": "Tom"`) au déclencheur `t2`. L'administrateur AWS Glue a également donné à Tom une politique IAM avec une instruction de condition basée sur la balise. Par conséquent, Tom peut uniquement utiliser une opération AWS Glue qui agit sur les ressources avec la valeur de balise `Tom`. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "glue:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Name": "Tom"
        }
      }
    }
  ]
}
```

------

Lorsque Tom essaie d'accéder au déclencheur `t1`, il reçoit un message d'accès refusé. Dans le même temps, il parvient à récupérer le déclencheur `t2`. 

```
aws glue get-trigger --name t1

An error occurred (AccessDeniedException) when calling the GetTrigger operation: User: Tom is not authorized to perform: glue:GetTrigger on resource: arn:aws:glue:us-east-1:123456789012:trigger/t1

aws glue get-trigger --name t2
{
    "Trigger": {
        "State": "CREATED",
        "Type": "SCHEDULED",
        "Name": "t2",
        "Actions": [
            {
                "JobName": "j1"
            }
        ],
        "Schedule": "cron(0 0/1 * * ? *)"
    }
}
```

Tom ne peut pas utiliser l'opération d'API plurielle `GetTriggers` pour répertorier les déclencheurs, car celle-ci ne prend pas en charge le filtrage des balises.

Pour accorder à Tom l'accès à `GetTriggers`, l'administrateur AWS Glue crée une politique qui fractionne les autorisations en deux sections. Une section autorise Tom à accéder à tous les déclencheurs avec l'opération d'API `GetTriggers`. La deuxième section autorise Tom à accéder aux opérations d'API qui sont balisées avec la valeur `Tom`. Avec cette politique, Tom est autorisé à accéder à la fois à `GetTriggers` et à `GetTrigger` pour déclencher `t2`. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "glue:GetTriggers",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "glue:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Name": "Tom"
        }
      }
    }
  ]
}
```

------

## Refuser l'accès à l'aide de balises
<a name="tags-control-access-example-triggers-deny"></a>

Une autre approche de politique de ressource consiste à refuser explicitement l'accès aux ressources.

**Important**  
Une politique de refus explicite ne fonctionne pas pour les opérations d'API plurielles telles que `GetTriggers`. 

Dans l'exemple de politique suivant, toutes les opérations de tâche AWS Glue sont autorisées. Cependant, la deuxième instruction `Effect` refuse *explicitement* l'accès aux tâches balisées avec la clé `Team` et la valeur `Special`. 

Lorsqu'un administrateur attache la politique suivante à une identité, cette dernière peut accéder à toutes les tâches, *sauf* celles balisées avec la clé `Team` et la valeur `Special`. 

## Utiliser des balises avec les opérations d'API de liste et de lot
<a name="tags-control-access-example-triggers-list-batch"></a>

Une troisième approche possible pour écrire une politique de ressource consiste à autoriser l'accès aux ressources à l'aide d'une opération d'API `List` pour répertorier les ressources pour une valeur de balise. Ensuite, utilisez l'opération d'API `Batch` correspondante pour autoriser l'accès aux détails des ressources spécifiques. Avec cette approche, l'administrateur n'a pas besoin d'autoriser l'accès aux opérations d'API `GetCrawlers`, `GetDevEndpoints`, `GetJobs` ou `GetTriggers` plurielles. Au lieu de cela, vous pouvez permettre de répertorier les ressources avec les opérations d'API suivantes :
+ `ListCrawlers`
+ `ListDevEndpoints`
+ `ListJobs`
+ `ListTriggers`

De plus, vous pouvez permettre d'obtenir des détails sur les ressources individuelles avec les opérations d'API suivantes :
+ `BatchGetCrawlers`
+ `BatchGetDevEndpoints`
+ `BatchGetJobs`
+ `BatchGetTriggers`

En tant qu'administrateur, pour utiliser cette approche, vous pouvez effectuer les opérations suivantes :

1. Ajouter des balises à vos crawlers, points de terminaison de développement, tâches et déclencheurs.

1. Refuser l'accès utilisateur aux opérations d'API `Get` telles que `GetCrawlers`, `GetDevEndponts`, `GetJobs` et `GetTriggers`.

1. Pour permettre aux utilisateurs de déterminer à quelles ressources balisées ils ont accès, autorisez l'accès utilisateur aux opérations d'API `List` telles que `ListCrawlers`, `ListDevEndponts`, `ListJobs` et `ListTriggers`.

1. Refusez l'accès des utilisateurs au AWS Glue balisage APIs, tel que `TagResource` et`UntagResource`.

1. Autorisez l'utilisateur à accéder aux détails de ressources à l'aide des opérations d'API `BatchGet` telles que `BatchGetCrawlers`, `BatchGetDevEndponts`, `BatchGetJobs` et `BatchGetTriggers`.

Par exemple, lorsque vous appelez l'opération `ListCrawlers`, fournissez une valeur de balise pour correspondre au nom d'utilisateur. Ensuite, le résultat est une liste d'crawlers qui correspondent aux valeurs de balise fournies. Fournissez la liste de noms à `BatchGetCrawlers` pour obtenir des détails sur chaque crawler avec la balise donnée.

Par exemple, si Tom ne doit être en mesure de récupérer que les détails des déclencheurs balisés avec `Tom`, l'administrateur peut ajouter des balises aux déclencheurs pour `Tom`, refuser à tous les utilisateurs l'accès à l'opération d'API `GetTriggers` et autoriser tous les utilisateurs à accéder à `ListTriggers` et à `BatchGetTriggers`. 

Voici la politique de ressources que l'administrateur AWS Glue accorde à Tom. Dans la première section de la politique, les opérations d'API AWS Glue sont refusées pour `GetTriggers`. Dans la deuxième section de la politique, les opérations `ListTriggers` sont autorisées pour toutes les ressources. Toutefois, dans la troisième section, les ressources balisées avec `Tom` sont autorisées à accéder avec l'accès `BatchGetTriggers`. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "glue:GetTriggers",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListTriggers"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "glue:BatchGetTriggers"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Name": "Tom"
        }
      }
    }
  ]
}
```

------

En utilisant les mêmes déclencheurs que dans l'exemple précédent, Tom peut accéder au déclencheur `t2`, mais pas au déclencheur `t1`. L'exemple suivant montre les résultats lorsque Tom essaie d'accéder à `t1` et `t2` avec `BatchGetTriggers`. 

```
aws glue batch-get-triggers --trigger-names t2
{
    "Triggers": {
        "State": "CREATED",
        "Type": "SCHEDULED",
        "Name": "t2",
        "Actions": [
            {
                "JobName": "j2"
            }
        ],
        "Schedule": "cron(0 0/1 * * ? *)"
    }
}

aws glue batch-get-triggers  --trigger-names t1

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

L'exemple suivant montre les résultats lorsque Tom essaie d'accéder au déclencheur `t2` et au déclencheur `t3` (qui n'existe pas) dans le même appel `BatchGetTriggers`. Notez que, comme Tom a accès au déclencheur `t2` et qu'il existe, seul `t2` est renvoyé. Tom est autorisé à accéder au déclencheur `t3`, mais le déclencheur `t3` n'existe pas, si bien que `t3` est renvoyé comme réponse dans une liste de `"TriggersNotFound": []`. 

```
aws glue batch-get-triggers --trigger-names t2 t3
{
    "Triggers": {
        "State": "CREATED",
        "Type": "SCHEDULED",
        "Name": "t2",
        "Actions": [
            {
                "JobName": "j2"
            }
        ],
        "TriggersNotFound": ["t3"],
        "Schedule": "cron(0 0/1 * * ? *)"
    }
}
```

## Contrôler les paramètres à l'aide de clés de condition ou de contexte
<a name="glue-identity-based-policy-condition-keys"></a>

Vous pouvez utiliser des clés de condition ou des clés contextuelles lorsque vous accordez des autorisations de création et de mise à jour de tâches. Ces sections traitent des clés :
+ [Contrôler des politiques qui contrôlent les paramètres à l'aide des clés de condition](#glue-identity-based-policy-condition-key-vpc)
+ [Contrôler des politiques qui contrôlent les paramètres à l'aide des clés de contexte](#glue-identity-based-policy-context-key-glue)

### Contrôler des politiques qui contrôlent les paramètres à l'aide des clés de condition
<a name="glue-identity-based-policy-condition-key-vpc"></a>

AWS Glue fournit trois clés de condition IAM `glue:VpcIds``glue:SubnetIds`, et`glue:SecurityGroupIds`. Vous pouvez utiliser les clés de condition dans les politiques IAM lorsque vous accordez des autorisations de création et de mise à jour de tâches. Vous pouvez utiliser ce paramètre pour vous assurer que les tâches ou les sessions ne sont pas créées (ou mises à jour vers) pour s'exécuter en dehors de l'environnement VPC souhaité. Les informations sur les paramètres du VPC ne sont pas une entrée directe provenant de la demande `CreateJob`, mais déduites du champ « connexions » de la tâche qui pointe vers une connexion AWS Glue.

**Exemple d’utilisation**  
Créez une connexion de type AWS Glue réseau nommée « traffic-monitored-connection » avec le VpcId « vpc-id1234 » souhaité, et. SubnetIds SecurityGroupIds

Spécifiez la condition des clés de condition pour le `CreateJob` et `UpdateJob` dans la politique IAM.

```
{
  "Effect": "Allow",
  "Action": [
    "glue:CreateJob",
    "glue:UpdateJob"
  ],
  "Resource": [
    "*"
  ],
  "Condition": {
    "ForAnyValue:StringLike": {
      "glue:VpcIds": [
        "vpc-id1234"
      ]
    }
  }
}
```

 Vous pouvez créer une politique IAM similaire pour interdire la création d'une tâche AWS Glue sans spécifier d'informations de connexion. 

**Restreindre les sessions sur VPCs**

 Pour obliger les sessions créées à s'exécuter au sein d'un VPC spécifique, vous limitez l'autorisation des rôles en ajoutant un effet `Deny` sur l'action `glue:CreateSession` à la condition que le glue:vpc-id ne soit pas égal à vpc-<123>. Par exemple : 

```
"Effect": "Deny",
"Action": [
    "glue:CreateSession"
 ],
"Condition": {
    "StringNotEquals" : {"glue:VpcIds" : ["vpc-123"]} 
}
```

 Vous pouvez également obliger les sessions créées à s'exécuter au sein d'un VPC en ajoutant un effet `Deny` sur l'action `glue:CreateSession` à la condition que le `glue:vpc-id` soit nul. Par exemple : 

```
{
    "Effect": "Deny",
    "Action": [
        "glue:CreateSession"
    ],
      "Condition": {
        "Null": {"glue:VpcIds": true}
    }
}, 
{
    "Effect": "Allow",
    "Action": [
        "glue:CreateSession"
    ],
    "Resource": ["*"]
}
```

### Contrôler des politiques qui contrôlent les paramètres à l'aide des clés de contexte
<a name="glue-identity-based-policy-context-key-glue"></a>

AWS Glue fournit une clé de contexte (`glue:CredentialIssuingService= glue.amazonaws.com`) à chaque session de rôle, qui est mise à la AWS Glue disposition du poste de travail et du point de terminaison du développeur. Cela vous permet de mettre en œuvre des contrôles de sécurité pour les actions entreprises par les AWS Glue scripts. AWS Gluefournit une autre clé de contexte (`glue:RoleAssumedBy=glue.amazonaws.com`) à chaque session de rôle AWS Glue qui appelle un autre AWS service au nom du client (pas par un job/dev point de terminaison, mais directement par le AWS Glue service). 

**Exemple d’utilisation**  
Indiquez l'autorisation conditionnelle dans la politique IAM et attachez-la au rôle à utiliser par une tâche AWS Glue. Cela garantit que certaines actions sont allowed/denied basées sur le fait que la session de rôle est utilisée ou non pour un environnement d'exécution de AWS Glue tâches.

```
{
    "Effect": "Allow",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
    "Condition": {
        "StringEquals": {
            "glue:CredentialIssuingService": "glue.amazonaws.com"
        }
    }
}
```

## Refus de la possibilité de créer des sessions d’aperçu des données à une identité
<a name="deny-data-preview-sessions-per-identity"></a>

Cette section contient un exemple de politique IAM utilisé pour refuser à une identité la possibilité de créer des sessions d’aperçu des données. Associez cette politique à l’identité, qui est distincte du rôle utilisé par la session d’aperçu des données lors de son exécution.

```
{
    "Sid": "DatapreviewDeny",
    "Effect": "Deny",
     "Action": [
           "glue:CreateSession"
     ],
     "Resource": [
          "arn:aws:glue:*:*:session/glue-studio-datapreview*"
      ]
 }
```

# Exemples de politiques basées sur les ressources pour Glue AWS
<a name="security_iam_resource-based-policy-examples"></a>

Cette section contient des exemples de politiques basées sur les ressources, y compris les politiques qui accordent l'accès intercompte.

Les exemples utilisent le AWS Command Line Interface (AWS CLI) pour interagir avec les opérations AWS Glue de l'API de service. Vous pouvez effectuer les mêmes opérations sur la AWS Glue console ou à l'aide de l'un des AWS SDKs.

**Important**  
En modifiant une politique de ressource AWS Glue, vous pouvez accidentellement annuler les autorisations des utilisateurs AWS Glue existants dans votre compte et provoquer des interruptions inattendues. Essayez ces exemples uniquement dans les comptes de développement ou de test et assurez-vous qu'ils n'interrompent aucun workflow existant avant d'apporter des modifications.

**Topics**
+ [Considérations relatives à l'utilisation de politiques basées sur les ressources avec Glue AWS](#security_iam_resource-based-policy-examples-considerations)
+ [Utiliser une politique de ressource pour contrôler l'accès dans le même compte](#glue-policy-resource-policies-example-same-account)

## Considérations relatives à l'utilisation de politiques basées sur les ressources avec Glue AWS
<a name="security_iam_resource-based-policy-examples-considerations"></a>

**Note**  
Les politiques IAM et la politique de ressource AWS Glue prennent quelques secondes pour être appliquées. Une fois que vous avez attaché une nouvelle politique, vous pouvez remarquer que l'ancienne politique est toujours en vigueur jusqu'à ce que la nouvelle politique ait été appliquée à tout le système.

Vous utilisez un document de politique écrit au format JSON pour créer ou modifier une politique de ressource. La syntaxe de la politique est la même que pour une politique IAM basée sur l'identité (veuillez consulter la [Référence de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)), avec les exceptions suivantes :
+ Un bloc `"Principal"` ou `"NotPrincipal"` est requis pour chaque déclaration de politique.
+ Le `"Principal"` ou `"NotPrincipal"` doit identifier les principaux existants valides. Les modèles de caractères génériques (tels que `arn:aws:iam::account-id:user/*`) ne sont pas autorisés.
+ Le `"Resource"` bloc de la politique nécessite que toutes les ressources correspondent ARNs à la syntaxe d'expression régulière suivante (où la première `%s` est le*region*, et la seconde `%s` est le*account-id*) :

  ```
  *arn:aws:glue:%s:%s:(\*|[a-zA-Z\*]+\/?.*)
  ```

  Par exemple, `arn:aws:glue:us-west-2:account-id:*` et `arn:aws:glue:us-west-2:account-id:database/default` sont autorisés, mais `*` est pas autorisé.
+ Contrairement aux politiques basées sur l'identité, une politique de AWS Glue ressources ne doit contenir que les Amazon Resource Names (ARNs) des ressources appartenant au catalogue auquel la politique est attachée. Cela commence ARNs toujours par`arn:aws:glue:`.
+ Une politique ne peut pas faire en sorte que l'identité qui la crée ne puisse pas créer ou modifier de politiques.
+ La taille d'un document JSON de politique de ressource ne peut pas dépasser 10 Ko.

## Utiliser une politique de ressource pour contrôler l'accès dans le même compte
<a name="glue-policy-resource-policies-example-same-account"></a>

Dans cet exemple, un utilisateur administrateur du Compte A crée une politique de ressource qui accorde à l'utilisateur IAM `Alice` du Compte A un accès complet au catalogue. Alice n'a aucune politique IAM attachée.

Pour ce faire, l'utilisateur admin exécute la AWS CLI commande suivante.

```
# Run as admin of Account A
$ aws glue put-resource-policy --profile administrator-name --region us-west-2 --policy-in-json '{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Principal": {
        "AWS": [
          "arn:aws:iam::account-A-id:user/Alice"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:*"
      ],
      "Resource": [
        "arn:aws:glue:us-west-2:account-A-id:*"
      ]
    }
  ]
}'
```

Au lieu de saisir le document de politique JSON dans le cadre de votre AWS CLI commande, vous pouvez enregistrer un document de politique dans un fichier et référencer le chemin du fichier dans la AWS CLI commande, préfixé par`file://`. Voici un exemple de la façon dont vous pourriez procéder :

```
$ echo '{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Principal": {
        "AWS": [
          "arn:aws:iam::account-A-id:user/Alice"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:*"
      ],
      "Resource": [
        "arn:aws:glue:us-west-2:account-A-id:*"
      ]
    }
  ]
}' > /temp/policy.json

$ aws glue put-resource-policy --profile admin1 \
    --region us-west-2 --policy-in-json file:///temp/policy.json
```

Une fois que cette politique de ressource a été propagée, Alice peut accéder à toutes les ressources AWS Glue du Compte A, comme suit.

```
# Run as user Alice
$ aws glue create-database --profile alice --region us-west-2 --database-input '{
    "Name": "new_database",
    "Description": "A new database created by Alice",
    "LocationUri": "s3://amzn-s3-demo-bucket"
}'

$ aws glue get-table --profile alice --region us-west-2 --database-name "default" --table-name "tbl1"}
```

En réponse à l'appel `get-table` d'Alice, le service AWS Glue renvoie ce qui suit.

```
{
  "Table": {
    "Name": "tbl1",
    "PartitionKeys": [],
    "StorageDescriptor": {
        ......
    },
    ......
  }
}
```

# Octroi de politiques AWS gérées pour AWS Glue
<a name="security-iam-awsmanpol"></a>

Une politique AWS gérée est une politique autonome créée et administrée par AWS. AWS les politiques gérées sont conçues pour fournir des autorisations pour de nombreux cas d'utilisation courants afin que vous puissiez commencer à attribuer des autorisations aux utilisateurs, aux groupes et aux rôles.

N'oubliez pas que les politiques AWS gérées peuvent ne pas accorder d'autorisations de moindre privilège pour vos cas d'utilisation spécifiques, car elles sont accessibles à tous les AWS clients. Nous vous recommandons de réduire encore les autorisations en définissant des [politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) qui sont propres à vos cas d’utilisation.

Vous ne pouvez pas modifier les autorisations définies dans les politiques AWS gérées. Si les autorisations définies dans une politique AWS gérée sont AWS mises à jour, la mise à jour affecte toutes les identités principales (utilisateurs, groupes et rôles) auxquelles la politique est attachée. AWS est le plus susceptible de mettre à jour une politique AWS gérée lorsqu'une nouvelle politique Service AWS est lancée ou lorsque de nouvelles opérations d'API sont disponibles pour les services existants.

Pour plus d’informations, consultez [Politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dans le *Guide de l’utilisateur IAM*.

## AWS politiques gérées (prédéfinies) pour AWS Glue
<a name="access-policy-examples-aws-managed"></a>

AWS répond à de nombreux cas d'utilisation courants en fournissant des politiques IAM autonomes créées et administrées par. AWS Ces politiques AWS gérées accordent les autorisations nécessaires pour les cas d'utilisation courants afin que vous puissiez éviter d'avoir à rechercher les autorisations nécessaires. Pour plus d’informations, consultez [Politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dans le *Guide de l’utilisateur IAM*. 

Les politiques AWS gérées suivantes, que vous pouvez associer aux identités de votre compte, sont spécifiques à chaque scénario d'utilisation AWS Glue et sont regroupées par scénario d'utilisation :
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Accorde un accès complet aux AWS Glue ressources lorsqu'une identité à laquelle la politique est attachée utilise le AWS Management Console. Si vous suivez la convention de dénomination pour les ressources spécifiées dans la politique, les utilisateurs bénéficient des capacités totales de la console. Cette politique est généralement attachée aux utilisateurs de la console AWS Glue.
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Accorde l'accès aux ressources dont AWS Glue les différents processus ont besoin pour s'exécuter en votre nom. Ces ressources incluent AWS Glue Amazon S3, IAM, CloudWatch Logs et Amazon EC2. Si vous suivez la convention de dénomination des ressources spécifiées dans la politique, les processus AWS Glue ont les autorisations requises. Cette politique est généralement attachée aux rôles spécifiés lorsque vous définissez les crawlers, les tâches et les points de terminaison de développement.
+ [AwsGlueSessionUserRestrictedServiceRole](https://console.aws.amazon.com/iam/home#policies/details/arn:aws:iam::aws:policy%2Fservice-role%2FAwsGlueSessionUserRestrictedServiceRole)— Fournit un accès complet à toutes les AWS Glue ressources, à l'exception des sessions. Elle permet aux utilisateurs de créer et d'utiliser uniquement les séances interactives associées à l'utilisateur. Cette politique inclut les autres autorisations nécessaires AWS Glue pour gérer les AWS Glue ressources d'autres AWS services. La politique permet également d'ajouter des balises aux AWS Glue ressources d'autres AWS services.
**Note**  
Pour bénéficier de tous les avantages de la sécurité, n'accordez pas cette politique à un utilisateur qui a reçu la politique `AWSGlueServiceRole`, `AWSGlueConsoleFullAccess`, ou `AWSGlueConsoleSageMakerNotebookFullAccess`.
+ [AwsGlueSessionUserRestrictedPolicy](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AwsGlueSessionUserRestrictedPolicy)— Permet de créer des sessions AWS Glue interactives à l'aide de l'opération `CreateSession` API uniquement si une clé de balise « propriétaire » et une valeur correspondant à l'ID AWS utilisateur du destinataire sont fournies. Cette politique d'identité est associée à l'utilisateur IAM qui appelle l'opération d'API `CreateSession`. Cette politique permet également à la personne assignée d'interagir avec les ressources de session AWS Glue interactives créées avec une balise « propriétaire » et une valeur correspondant à son ID AWS utilisateur. Cette politique refuse l'autorisation de modifier ou de supprimer les balises « propriétaire » d'une ressource AWS Glue de séance après la création de la séance.
**Note**  
Pour bénéficier de tous les avantages de la sécurité, n'accordez pas cette politique à un utilisateur qui a reçu la politique `AWSGlueServiceRole`, `AWSGlueConsoleFullAccess`, ou `AWSGlueConsoleSageMakerNotebookFullAccess`.
+ [AwsGlueSessionUserRestrictedNotebookServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AwsGlueSessionUserRestrictedNotebookServiceRole)— Fournit un accès suffisant à la session du AWS Glue Studio bloc-notes pour interagir avec des ressources de session AWS Glue interactives spécifiques. Il s'agit de ressources créées avec la valeur de balise « owner » qui correspond à l'ID AWS utilisateur du principal (utilisateur ou rôle IAM) qui crée le bloc-notes. Pour en savoir plus sur ces balises, veuillez consulter le diagramme [Valeurs de la clé du principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#policy-vars-infotouse) dans le *Guide de l'utilisateur IAM*.

  Cette politique de fonction du service est attachée au rôle spécifié par une commande magique dans le bloc-notes ou transmise en tant que rôle à l'opération d'API `CreateSession`. Cette politique permet également au principal de créer une session AWS Glue interactive à partir de l'interface du AWS Glue Studio bloc-notes uniquement si la clé de balise « propriétaire » et la valeur correspondent à AWS l'ID utilisateur du principal. Cette politique refuse l'autorisation de modifier ou de supprimer les balises « propriétaire » d'une ressource AWS Glue de séance 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, ainsi que de création et de suppression de balises pour les ressources Amazon EC2 utilisées par. AWS Glue
**Note**  
Pour obtenir tous les avantages en matière de sécurité, n'accordez pas cette politique à un rôle qui a été attribué à la politique `AWSGlueServiceRole`, `AWSGlueConsoleFullAccess`, ou `AWSGlueConsoleSageMakerNotebookFullAccess`.
+ [AwsGlueSessionUserRestrictedNotebookPolicy](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AwsGlueSessionUserRestrictedNotebookPolicy)— Permet de créer une session AWS Glue interactive à partir de l'interface du AWS Glue Studio bloc-notes uniquement s'il existe une clé de balise « propriétaire » et une valeur correspondant à IDof l' AWS utilisateur principal (utilisateur ou rôle IAM) qui crée le bloc-notes. Pour en savoir plus sur ces balises, veuillez consulter le diagramme [Valeurs de la clé du principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#policy-vars-infotouse) dans le *Guide de l'utilisateur IAM*.

  Cette politique est attachée au principal (utilisateur ou rôle IAM) qui crée des séances à partir de l'interface de bloc-notes AWS Glue Studio. Cette politique permet également un accès suffisant au bloc-notes AWS Glue Studio pour interagir avec des ressources de séances interactives AWS Glue spécifiques. Il s'agit de ressources créées avec la valeur de balise « owner » qui correspond à AWS l'ID utilisateur du principal. Cette politique refuse l'autorisation de modifier ou de supprimer les balises « propriétaire » d'une ressource AWS Glue de séance après la création de la séance.
+ [AWSGlueServiceNotebookRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceNotebookRole)— Accorde l'accès aux AWS Glue sessions démarrées dans un AWS Glue Studio bloc-notes. Cette politique permet de répertorier et d'obtenir des informations de session pour toutes les sessions, mais permet uniquement aux utilisateurs de créer et d'utiliser les sessions étiquetées avec leur ID AWS utilisateur. Cette politique refuse l'autorisation de modifier ou de supprimer les balises « propriétaire » des ressources de AWS Glue session étiquetées avec leur AWS ID. 

  Attribuez cette politique à l' AWS utilisateur qui crée des tâches à l'aide de l'interface du bloc-notes dansAWS Glue Studio. 
+ [AWSGlueConsoleSageMakerNotebookFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleSageMakerNotebookFullAccess)— Accorde un accès complet à AWS Glue et aux ressources d' SageMaker IA lorsque l'identité à laquelle la politique est attachée utilise le AWS Management Console. Si vous suivez la convention de dénomination pour les ressources spécifiées dans la politique, les utilisateurs bénéficient des capacités totales de la console. Cette politique s'applique généralement aux utilisateurs de la AWS Glue console qui gèrent des blocs-notes dotés d' SageMaker intelligence artificielle.
+ [AWSGlueSchemaRegistryFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueSchemaRegistryFullAccess)— Accorde un accès complet aux ressources du registre des AWS Glue schémas lorsque l'identité à laquelle la politique est attachée utilise le AWS Management Console ou AWS CLI. Si vous suivez la convention de dénomination pour les ressources spécifiées dans la politique, les utilisateurs bénéficient des capacités totales de la console. Cette politique est généralement attachée aux utilisateurs de la AWS Glue console ou aux utilisateurs AWS CLI qui gèrent le registre des AWS Glue schémas.
+ [AWSGlueSchemaRegistryReadonlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueSchemaRegistryReadonlyAccess)— Accorde un accès en lecture seule aux ressources du registre des AWS Glue schémas lorsqu'une identité à laquelle la politique est attachée utilise le AWS Management Console ou. AWS CLI Si vous suivez la convention de dénomination pour les ressources spécifiées dans la politique, les utilisateurs bénéficient des capacités totales de la console. Cette politique s'applique généralement aux utilisateurs de la AWS Glue console ou à AWS CLI ceux qui utilisent le registre des AWS Glue schémas.

**Note**  
Vous pouvez consulter ces politiques d'autorisations en vous connectant à la console IAM et en y recherchant des politiques spécifiques.

Vous pouvez également créer vos propres stratégies IAM personnalisées afin d'accorder des autorisations pour les actions et les ressources AWS Glue. Vous pouvez attacher ces politiques personnalisées aux utilisateurs ou groupes IAM qui nécessitent ces autorisations. 

Pour créer une connexion avec une configuration VPC tout en utilisant un rôle IAM personnalisé, celui-ci doit disposer des actions d’accès VPC suivantes :
+ responsable des secrets : GetSecretValue
+ responsable des secrets : PutSecretValue
+ responsable des secrets : DescribeSecret
+ EC2 : CreateNetworkInterface
+ EC2 : DeleteNetworkInterface
+ EC2 : DescribeNetworkInterfaces
+ EC2 : DescribeSubnets

## AWS Glue les mises à jour dans les politiques AWS gérées
<a name="security-iam-awsmanpol-updates"></a>



Consultez les détails des mises à jour apportées aux politiques AWS gérées pour AWS Glue depuis que ce service a commencé à suivre ces modifications. Pour recevoir des alertes automatiques concernant les modifications apportées à cette page, abonnez-vous au flux RSS sur la page d'historique du document AWS Glue.




| Modifier | Description | Date | 
| --- | --- | --- | 
| AwsGlueSessionUserRestrictedNotebookPolicy — Mise à jour mineure d'une politique existante. | Ajoutez une action d’autorisation pour glue:TagResource sur la clé de l’identification propriétaire. Nécessaire tag-on-create pour la prise en charge des sessions avec clé d'identification du propriétaire. | 30 août 2024 | 
| AwsGlueSessionUserRestrictedNotebookServiceRole — Mise à jour mineure d'une politique existante. | Ajoutez une action d’autorisation pour glue:TagResource sur la clé de l’identification propriétaire. Nécessaire tag-on-create pour la prise en charge des sessions avec clé d'identification du propriétaire. | 30 août 2024 | 
| AwsGlueSessionUserRestrictedPolicy — Mise à jour mineure d'une politique existante. | Ajoutez une action d’autorisation pour glue:TagResource sur la clé de l’identification propriétaire. Nécessaire tag-on-create pour la prise en charge des sessions avec clé d'identification du propriétaire. | 5 août 2024 | 
| AwsGlueSessionUserRestrictedServiceRole — Mise à jour mineure d'une politique existante. | Ajoutez une action d’autorisation pour glue:TagResource sur la clé de l’identification propriétaire. Nécessaire tag-on-create pour la prise en charge des sessions avec clé d'identification du propriétaire. | 5 août 2024 | 
| AwsGlueSessionUserRestrictedPolicy — Mise à jour mineure d'une politique existante. | Ajout de glue:StartCompletion et de glue:GetCompletion à la politique. Nécessaire pour l'intégration des données Amazon Q dans AWS Glue. | 30 avril 2024 | 
| AwsGlueSessionUserRestrictedNotebookServiceRole — Mise à jour mineure d'une politique existante. | Ajout de glue:StartCompletion et de glue:GetCompletion à la politique. Nécessaire pour l'intégration des données Amazon Q dans AWS Glue. | 30 avril 2024 | 
| AwsGlueSessionUserRestrictedServiceRole — Mise à jour mineure d'une politique existante. | Ajout de glue:StartCompletion et de glue:GetCompletion à la politique. Nécessaire pour l'intégration des données Amazon Q dans AWS Glue. | 30 avril 2024 | 
| AWSGlueServiceNotebookRole — Mise à jour mineure d'une politique existante. | Ajout de glue:StartCompletion et de glue:GetCompletion à la politique. Nécessaire pour l'intégration des données Amazon Q dans AWS Glue. | 30 janvier 2024 | 
| AwsGlueSessionUserRestrictedNotebookPolicy — Mise à jour mineure d'une politique existante. | Ajout de glue:StartCompletion et de glue:GetCompletion à la politique. Nécessaire pour l'intégration des données Amazon Q dans AWS Glue. | 29 novembre 2023 | 
| AWSGlueServiceNotebookRole — Mise à jour mineure d'une politique existante. | Ajouter une stratégie codewhisperer:GenerateRecommendations Nécessaire pour une nouvelle fonctionnalité dans laquelle AWS Glue génère CodeWhisperer des recommandations. | 9 octobre 2023 | 
|  AWSGlueServiceRole — Mise à jour mineure d'une politique existante.  |  Resserrez la portée des CloudWatch autorisations pour mieux refléter AWS la journalisation de Glue.  | 4 août 2023 | 
|  AWSGlueConsoleFullAccess — Mise à jour mineure d'une politique existante.  |  Ajoutez les autorisations Lister et Décrire de la recette databrew à la stratégie. Nécessaire pour fournir un accès administratif complet aux nouvelles fonctionnalités permettant à AWS Glue d'accéder aux recettes.  | 9 mai 2023 | 
|  AWSGlueConsoleFullAccess — Mise à jour mineure d'une politique existante.  |  Ajouter une stratégie cloudformation:ListStacks Préserve les fonctionnalités existantes après modification des exigences CloudFormation d'autorisation.  | 28 mars 2023 | 
|  Nouvelles politiques gérées ajoutées pour la fonctionnalité de séances interactives : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/security-iam-awsmanpol.html)  |  Ces politiques ont été conçues pour fournir une sécurité supplémentaire pour les séances interactives et les blocs-notes dans AWS Glue Studio. Les politiques limitent l'accès à l'opération d'API `CreateSession` pour que seul le propriétaire ait accès.  | 30 novembre 2021 | 
|  AWSGlueConsoleSageMakerNotebookFullAccess — Mise à jour d'une politique existante.  |  Suppression d'un ARN de ressource redondant (`arn:aws:s3:::aws-glue-*/*`) pour l'action qui accorde des read/write autorisations sur les compartiments Amazon S3 AWS Glue utilisés pour stocker des scripts et des fichiers temporaires. Correction d'un problème de syntaxe en remplaçant `"StringEquals"` par `"ForAnyValue:StringLike"`, et changement de place des lignes ` "Effect": "Allow"` pour qu'elles précèdent la ligne `"Action":` dans chaque endroit où elles n'étaient pas dans l'ordre.  | 15 juillet 2021 | 
|  AWSGlueConsoleFullAccess — Mise à jour d'une politique existante.  | Suppression d'un ARN de ressource redondant (arn:aws:s3:::aws-glue-\$1/\$1) pour l'action qui accorde des read/write autorisations sur les compartiments Amazon S3 AWS Glue utilisés pour stocker des scripts et des fichiers temporaires. | 15 juillet 2021 | 
|  AWS Glue a démarré le suivi des modifications.  | AWS Gluea commencé à suivre les modifications apportées AWS à ses politiques gérées. | 10 juin 2021 | 

# Octroi de politiques à portée dynamique pour l’exécution des tâches
<a name="dynamically-scoped-policies"></a>

AWS Glue propose une nouvelle fonctionnalité puissante : des politiques de session dynamiques pour l'exécution des tâches. Cette fonctionnalité vous permet de définir des autorisations personnalisées et détaillées pour chaque tâche exécutée sans créer plusieurs rôles IAM.

Lorsque vous démarrez une tâche Glue à l’aide de l’API `StartJobRun`, vous pouvez inclure une politique de session intégrée. Cette politique modifie temporairement les autorisations du rôle d’exécution de la tâche pendant la durée de l’exécution de cette tâche spécifique. Cela revient à utiliser des informations d'identification temporaires avec l'`AssumeRole`API dans d'autres AWS services.
+ **Sécurité renforcée** : vous pouvez limiter les autorisations de la tâche au minimum nécessaire pour chaque exécution.
+ **Gestion simplifiée** : élimine le besoin de créer et de gérer de nombreux rôles IAM pour différents scénarios.
+ **Flexibilité** : vous pouvez ajuster les autorisations de manière dynamique en fonction des paramètres d’exécution ou des besoins propres au locataire.
+ **Capacité de mise à l’échelle** : cette méthode excelle dans les environnements à locataires multiples où vous devez isoler les ressources entre les locataires.

**Exemples d’autorisation d’utilisation de politiques à portée dynamique :**

Les exemples suivants montrent comment accorder aux tâches un accès en *lecture* et en *écriture* uniquement à un chemin d’accès au compartiment Amazon S3 spécifique, le chemin étant déterminé dynamiquement par l’ID d’exécution de la tâche. Ils montrent comment mettre en œuvre des autorisations granulaires propres à l’exécution pour chaque tâche exécutée.

**À partir de la CLI**

```
aws glue start-job-run \
    --job-name "your-job-name" \
    --execution-role-session-policy '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "s3:GetObject",
                    "s3:PutObject"
                ],
                "Resource": [
                    "arn:aws:s3:::specific-bucket/${JobRunId}/*"
                ]
            }
        ]
    }'
```

# Spécification de AWS Glue la ressource ARNs
<a name="glue-specifying-resource-arns"></a>

DansAWS Glue, vous pouvez contrôler l'accès aux ressources à l'aide d'une politique Gestion des identités et des accès AWS (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 charge ARNs.

**Topics**
+ [Catalogue de données ARNs](#data-catalog-resource-arns)
+ [ARNs pour les objets hors catalogue dans AWS Glue](#non-catalog-resource-arns)
+ [Contrôle d'accès pour les opérations d'API uniques AWS Glue non liées à un catalogue](#non-catalog-singular-apis)
+ [Contrôle d'accès pour les opérations d'API AWS Glue non liées à un catalogue qui extraient plusieurs éléments](#non-catalog-plural-apis)
+ [Contrôle d'accès pour les AWS Glue opérations d' BatchGet API hors catalogue](#non-catalog-batch-get-apis)

## Catalogue de données ARNs
<a name="data-catalog-resource-arns"></a>

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**  |  **Format ARN**  | 
| --- | --- | 
| 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`  | 
| Table |  `arn:aws:glue:region:account-id:table/database name/table name` Par exemple : `arn:aws:glue:us-east-1:123456789012:table/db1/tbl1`  | 
| Catalogue de tables S3 fédérées (tous les compartiments de tables) |   `arn:aws:glue:region:account-id:catalog/s3tablescatalog`  Par exemple : `arn:aws:glue:us-east-1:123456789012:catalog/s3tablescatalog`  | 
| Catalogue de compartiments de tables S3 fédérées (catalogue enfant) |   `arn:aws:glue:region:account-id:catalog/s3tablescatalog/bucket name`  Par exemple : `arn:aws:glue:us-east-1:123456789012:catalog/s3tablescatalog/amzn-s3-demo-bucket1`  | 
| Base de données de tables S3 fédérées |   `arn:aws:glue:region:account-id:database/s3tablescatalog/child catalog name/database name`  Par exemple : `arn:aws:glue:us-east-1:123456789012:database/s3tablescatalog/amzn-s3-demo-bucket1/nsdb1`  | 
| Table S3 fédérée |   `arn:aws:glue:region:account-id:table/s3tablescatalog/child catalog name/database name/table name`  Par exemple : `arn:aws:glue:us-east-1:123456789012:table/s3tablescatalog/amzn-s3-demo-bucket1/nsdb1/s3tbl1`  | 
| Catalogue de tables S3 fédérées (un compartiment de tables unique enregistré avec Lake Formation) | `arn:aws:glue:region:account-id:catalog`/*catalog name*  Par exemple : `arn:aws:glue:us-east-1:123456789012:catalog/amzn-s3-demo-bucket1`   | 
| Base de données de tables S3 fédérées  | `arn:aws:glue:region:account-id:catalog`/*catalog name*/*database name* Par exemple : `arn:aws:glue:us-east-1:123456789012:database/amzn-s3-demo-bucket1/nsdb1`  | 
| Table S3 fédérée | `arn:aws:glue:region:account-id:catalog`/*catalog name*/*database name*/*table name*  Par exemple : `arn:aws:glue:us-east-1:123456789012:table/amzn-s3-demo-bucket1/nsdb1/s3tbl1`   | 
| Catalogue fédéré ou géré (catalogue de premier niveau dans un catalogue multiple) |   `arn:aws:glue:region:account-id:catalog/top-level catalog name`  Par exemple : `arn:aws:glue:us-east-1:123456789012:catalog/nscatalog` Le format ARN d’un catalogue géré suit la même structure.  | 
| Catalogue fédéré à plusieurs niveaux (catalogue enfant dans un catalogue à plusieurs niveaux) |   `arn:aws:glue:region:account-id:catalog/top-level catalog name/child catalog name`  Par exemple : `arn:aws:glue:us-east-1:123456789012:catalog/nscatalog/dbcatalog`  | 
| Base de données fédérée |   `arn:aws:glue:region:account-id:database/name space catalog name/child catalog name/database name`  Par exemple : `arn:aws:glue:us-east-1:123456789012:database/nscatalog/dbcatalog/schemadb`  | 
| Table fédérée |   `arn:aws:glue:region:account-id:table/name space catalog name/child catalog name/database name/table name`  Par exemple : `arn:aws:glue:us-east-1:123456789012:table/nscatalog/dbcatalog/schemadb/rstbl1`  | 
| Conteneur de liens du catalogue | `arn:aws:glue:region:account-id:catalog`/*link container name* Par exemple : `arn:aws:glue:glue:us-east-1:123456789012:catalog`/linkcontainer-example   | 
| Base de données | `arn:aws:glue:region:account-id:catalog`/*link container name*/*database name* Par exemple : `arn:aws:glue:glue:us-east-1:123456789012:database`/linkcontainer-example/link-db  | 
| 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 politiques IAM et vos 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, l'ARN suivant correspond à toutes les tables de la base de données `default`.

```
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.

## ARNs pour les objets hors catalogue dans AWS Glue
<a name="non-catalog-resource-arns"></a>

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


| **Type de ressource**  |  **Format ARN**  | 
| --- | --- | 
| 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 opérations d'API uniques AWS Glue non liées à un catalogue
<a name="non-catalog-singular-apis"></a>

Les opérations d'API AWS Glue non liées à un catalogue *uniques* 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 nom de l'API dans le bloc `"action"` et l'ARN de la ressource dans le bloc `"resource"`.

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`.

------
#### [ JSON ]

****  

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

------

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

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "PermissionWithWildcard",
      "Effect": "Allow",
      "Action": "glue:UpdateDevEndpoint",
      "Resource": "arn:aws:glue:us-east-1:111122223333: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.

------
#### [ JSON ]

****  

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

------

## Contrôle d'accès pour les opérations d'API AWS Glue non liées à un catalogue qui extraient plusieurs éléments
<a name="non-catalog-plural-apis"></a>

Certaines opérations d'API AWS Glue extraient plusieurs éléments (par exemple, 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 (\$1), et non une ressource spécifique ARNs.

Par exemple, pour inclure `GetDevEndpoints` dans la politique, la ressource doit être définie avec le caractère générique (\$1). Les opérations uniques (`GetDevEndpoint`, `CreateDevEndpoint` et `DeleteDevendpoint`) sont également définies pour toutes les ressources (\$1) 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 d' BatchGet API hors catalogue
<a name="non-catalog-batch-get-apis"></a>

Certaines opérations d'API AWS Glue extraient plusieurs éléments (par exemple, plusieurs points de terminaison de développement) ; par exemple, `BatchGetDevEndpoints`. Pour cette opération, vous pouvez spécifier un ARN pour limiter la portée des ressources qui sont accessibles.

Par exemple, pour autoriser l'accès à un point de terminaison de développement spécifique, incluez `BatchGetDevEndpoints` dans la politique avec son ARN de ressource.

```
{
            "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 la configuration des politiques IAM, telles que l'utilisation des opérations d'API `List` et `BatchGet`, consultez [Exemples de politiques basées sur l'identité pour Glue AWS](security_iam_id-based-policy-examples.md). 

# Octroi d'un accès intercompte
<a name="cross-account-access"></a>

L'octroi d'un accès intercompte aux ressources du catalogue de données permet à vos tâches Extract-transform-load (ETL) d'interroger et de joindre des données provenant de comptes différents.

**Topics**
+ [Méthodes d'octroi d'un accès intercompte dans AWS Glue](#cross-account-how-works)
+ [Ajouter ou mettre à jour la politique de ressource du catalogue de données](#cross-account-adding-resource-policy)
+ [Créer un appel d'API intercompte](#cross-account-calling)
+ [Créez un appel ETL intercompte](#cross-account-calling-etl)
+ [Journalisation entre comptes CloudTrail](#cross-account-ct-logs)
+ [Propriété et facturation des ressources intercomptes](#cross-account-ownership-and-billing)
+ [Limitations des accès inter-comptes](#cross-account-limitations)

## Méthodes d'octroi d'un accès intercompte dans AWS Glue
<a name="cross-account-how-works"></a>

Vous pouvez accorder l'accès à vos données à des AWS comptes externes en utilisant AWS Glue des méthodes ou en utilisant des AWS Lake Formation subventions entre comptes. Les AWS Glue méthodes utilisent des politiques Gestion des identités et des accès AWS (IAM) pour obtenir un contrôle d'accès précis. Lake Formation utilise un modèle d'autorisations `GRANT/REVOKE` plus simple similaire aux commandes `GRANT/REVOKE` dans un système de base de données relationnelle.

Cette section décrit l'utilisation des méthodes AWS Glue. Pour de plus amples informations sur l'utilisation des autorisations intercomptes Lake Formation, consultez [Octroi des autorisations Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/lake-formation-permissions.html) dans le *Guide du développeur AWS Lake Formation *.

Il existe deux méthodes AWS Glue pour accorder un accès intercompte à une ressource :
+ Utilisation d'une politique de ressources de catalogue de données
+ Utilisation d'un rôle IAM

**Octroi d'un accès intercompte à l'aide d'une politique de ressource**  
Voici les étapes générales d'octroi d'un accès intercompte à l'aide d'une politique de ressource de catalogue de données :

1. Un administrateur (ou toute autre identité autorisée) d'un compte A attache une politique de ressource au catalogue de données dans le compte A. Cette politique accorde au compte B des autorisations intercomptes spécifiques pour effectuer des opérations sur une ressource dans le catalogue du compte A.

1. Un administrateur du compte B attache une politique IAM à une identité IAM dans le compte B qui délègue les autorisations reçues du compte A.

   L'identité du compte B a désormais accès à la ressource spécifiée dans le compte A.

   L'identité a besoin d'une autorisation accordée *à la fois* par le propriétaire de la ressource (compte A) *et* son compte parent (compte B) afin d'être en mesure d'accéder à la ressource.

**Octroi d'un accès intercompte avec un rôle IAM**  
Voici les étapes générales d'octroi d'un accès intercompte à l'aide d'un rôle IAM :

1. Un administrateur (ou toute autre identité autorisée) dans le compte qui possède la ressource (compte A) crée un rôle IAM.

1. L'administrateur du Compte A attache une politique au rôle qui accorde des autorisations intercomptes pour l'accès à la ressource en question.

1. L'administrateur du compte A attache une politique d'approbation au rôle qui identifie une identité IAM dans un compte différent (compte B) comme principal pouvant assumer le rôle.

   Le principal de la politique de confiance peut également être un directeur de AWS service si vous souhaitez accorder à un AWS service l'autorisation d'assumer ce rôle.

1. Un administrateur dans le compte B délègue désormais des autorisations à une ou plusieurs identités IAM du compte B afin qu'elle puisse assumer ce rôle. Cela donne à ces identités du compte B l'accès à la ressource du compte A.

Pour plus d'informations sur l'utilisation d'IAM pour déléguer des autorisations, veuillez consulter la section [Access management](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) (français non garanti) dans le *Guide de l'utilisateur IAM*. Pour plus d’informations sur les utilisateurs, les groupes, les rôles et les autorisations, consultez [Identités (utilisateurs, groupes et rôles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) dans le *Guide de l’utilisateur IAM*.

Pour une comparaison entre ces deux approches, veuillez consulter la rubrique [Différence entre les rôles IAM et les politiques basées sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html) dans le *Guide de l'utilisateur IAM*. AWS Glue prend en charge les deux options, avec la restriction qu'une politique de ressources peut uniquement accorder l'accès aux ressources du catalogue de données.

Par exemple, pour accorder au rôle `Dev` du compte B l'accès à la base de données `db1` du compte A, attachez la politique de ressources suivante au catalogue du compte A.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:GetDatabase"
      ],
      "Principal": {
        "AWS": [
          "arn:aws:iam::111122223333:role/Dev"
        ]
      },
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1"
      ]
    }
  ]
}
```

------

En outre, le compte B devrait attacher la politique IAM suivante au rôle `Dev` avant d'obtenir l'accès à `db1` sur le compte A.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:GetDatabase"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1"
      ]
    }
  ]
}
```

------

## Ajouter ou mettre à jour la politique de ressource du catalogue de données
<a name="cross-account-adding-resource-policy"></a>

Vous pouvez ajouter ou mettre à jour la politique de ressources du catalogue de AWS Glue données à l'aide de la console, de l'API ou AWS Command Line Interface (AWS CLI).

**Important**  
Si vous avez déjà accordé des autorisations intercomptes à partir de votre compte avec AWS Lake Formation, l'ajout ou la mise à jour de la politique de ressource du catalogue de données nécessite une étape supplémentaire. Pour en savoir plus, veuillez consulter la rubrique [Gestion des autorisations intercomptes avec AWS Glue et Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/hybrid-cross-account.html) dans le *Guide du développeur AWS Lake Formation *.  
Pour déterminer s'il existe des octrois intercomptes Lake Formation, utilisez l'opération d'API `glue:GetResourcePolicies` ou l' AWS CLI. Si `glue:GetResourcePolicies` renvoie des politiques autres qu'une politique de catalogue de données existante, les octrois Lake Formation existent. Pour plus d'informations, consultez la section [Affichage de toutes les subventions entre comptes à l'aide du fonctionnement de l' GetResourcePolicies API](https://docs.aws.amazon.com/lake-formation/latest/dg/cross-account-getresourcepolicies.html) dans le *Guide du AWS Lake Formation développeur*.

**Pour ajouter ou mettre à jour la politique de ressource du catalogue de données (console)**

1. Ouvrez la console AWS Glue à l’adresse [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

   Connectez-vous en tant qu'utilisateur administratif Gestion des identités et des accès AWS (IAM) `glue:PutResourcePolicy` autorisé.

1. Dans le panneau de navigation, sélectionnez **Settings** (Paramètres).

1. Dans la page **Paramètres du catalogue de données**, sous **Permissions (Autorisations)**, collez une politique de ressource dans la zone de texte. Ensuite, choisissez **Save** (Enregistrer).

   Si la console affiche une alerte indiquant que les autorisations de la politique s'ajouteront aux autorisations accordées à l'aide de Lake Formation, sélectionnez **Proceed (Continuer)**.

**Pour ajouter ou mettre à jour la politique de ressource du catalogue de données (AWS CLI)**
+ Soumettez une commande `aws glue put-resource-policy`. Si des autorisations Lake Formation existent déjà, assurez-vous d'inclure l'option `--enable-hybrid` avec la valeur `'TRUE'`.

  Pour obtenir des exemples d'utilisation de cette commande, veuillez consulter [Exemples de politiques basées sur les ressources pour Glue AWS](security_iam_resource-based-policy-examples.md).

## Créer un appel d'API intercompte
<a name="cross-account-calling"></a>

Toutes les opérations AWS Glue Data Catalog ont un champ `CatalogId`. Si les autorisations requises ont été accordées pour activer l'accès intercompte, un utilisateur peut créer des appels d'API du catalogue de données intercompte. L'appelant effectue cette opération en transmettant l'ID de compte AWS cible dans `CatalogId` afin d'accéder à la ressource de ce compte de destination.

Si aucune valeur `CatalogId` n'est fournie, AWS Glue utilise l'ID de compte de l'appelant par défaut, et l'appel n'est pas intercompte.

## Créez un appel ETL intercompte
<a name="cross-account-calling-etl"></a>

Certains AWS Glue PySpark et Scala APIs ont un champ d'ID de catalogue. Si toutes les autorisations requises ont été accordées pour permettre l'accès entre comptes, une tâche ETL peut effectuer PySpark et Scala appeler des opérations d'API entre comptes en transmettant l'ID du AWS compte cible dans le champ ID du catalogue pour accéder aux ressources du catalogue de données d'un compte cible.

Si aucun ID de catalogue n'est fourni, AWS Glue utilise l'ID de compte de l'appelant par défaut, et l'appel n'est pas intercompte.

Pour PySpark APIs ce support`catalog_id`, voir[GlueContext classe](aws-glue-api-crawler-pyspark-extensions-glue-context.md). Pour APIs ce support Scala`catalogId`, voir[AWS GlueScala GlueContext APIs](glue-etl-scala-apis-glue-gluecontext.md).

L'exemple suivant montre les autorisations requises par le bénéficiaire pour exécuter une tâche ETL. Dans cet exemple, *grantee-account-id* est `catalog-id` le client qui exécute le travail et *grantor-account-id* le propriétaire de la ressource. Cet exemple accorde l'autorisation à toutes les ressources de catalogue dans le compte du concédant. Pour limiter l'étendue des ressources accordées, vous pouvez fournir des informations spécifiques au catalogue, ARNs à la base de données, à la table et à la connexion.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:GetConnection",
        "glue:GetDatabase",
        "glue:GetTable",
        "glue:GetPartition"
      ],
      "Principal": {
        "AWS": [
          "arn:aws:iam::111122223333:root"
        ]
      },
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:*"
      ]
    }
  ]
}
```

------

**Note**  
Si la table dans le compte du concédant pointe vers un emplacement Amazon S3, qui est également dans le compte du concédant, le rôle IAM utilisé pour exécuter une tâche ETL dans le compte du concédant doit avoir l'autorisation de répertorier et d'obtenir les objets à partir du compte du concédant.

Étant donné que le client du Compte A est déjà autorisé à créer et exécuter des tâches ETL, les étapes élémentaires de configuration d'une tâche ETL pour l'accès intercompte sont les suivantes :

1. Autorisez l'accès intercompte aux données (ignorez cette étape si l'accès intercompte Amazon S3 est déjà configuré).

   1. Mettez à jour la politique de compartiment Amazon S3 du compte B pour autoriser un accès intercompte à partir du compte A.

   1. Mettez à jour la politique IAM du compte A pour autoriser l'accès au compartiment du Compte B.

1. Autoriser l'accès intercompte aux catalogues de données.

   1. Créez ou mettez à jour la politique de ressource attachée au catalogue de données dans le compte B pour autoriser l'accès depuis le compte A.

   1. Mettez à jour la politique IAM du compte A pour autoriser l'accès au catalogue de données dans le compte B.

## Journalisation entre comptes CloudTrail
<a name="cross-account-ct-logs"></a>

Lorsqu'une tâche d'AWS Glueextraction, de transformation et de chargement (ETL) accède aux données sous-jacentes d'une table de catalogue de données partagée via des autorisations AWS Lake Formation entre comptes, il existe un comportement de AWS CloudTrail journalisation supplémentaire.

Aux fins de cette discussion, le AWS compte qui a partagé la table est le compte propriétaire, et le compte avec lequel la table a été partagée est le compte destinataire. Lorsqu'une tâche ETL du compte destinataire accède aux données de la table du compte propriétaire, l' CloudTrail événement d'accès aux données ajouté aux journaux du compte destinataire est copié dans les journaux du CloudTrail compte propriétaire. Cela permet aux comptes propriétaires de suivre les accès aux données par les différents comptes destinataires. Par défaut, les CloudTrail événements n'incluent pas d'identifiant principal lisible par l'homme (ARN principal). Un administrateur du compte destinataire peut choisir d'inclure l'ARN du principal dans les journaux.

Pour plus d'informations, consultez la section [ CloudTrailConnexion entre comptes](https://docs.aws.amazon.com/lake-formation/latest/dg/cross-account-logging.html) dans le *Guide du AWS Lake Formation développeur*.

**Voir aussi**  
[Connexion et surveillance AWS Glue](logging-and-monitoring.md)

## Propriété et facturation des ressources intercomptes
<a name="cross-account-ownership-and-billing"></a>

Lorsqu'un utilisateur d'un AWS compte (compte A) crée une nouvelle ressource telle qu'une base de données dans un autre compte (compte B), cette ressource appartient alors au compte B, le compte sur lequel elle a été créée. L'administrateur du Compte B obtient automatiquement des autorisations complètes pour accéder à la nouvelle ressource, y compris la lecture, l'écriture et l'octroi d'autorisations d'accès à un compte tiers. L'utilisateur du Compte A peut accéder à la ressource qu'il vient de créer uniquement s'il dispose des autorisations appropriées accordées par le Compte B.

Les coûts de stockage et les autres coûts directement liés à la nouvelle ressource sont facturés au Compte B, le propriétaire de la ressource. Le coût des demandes de l'utilisateur qui a créé la ressource est facturé au compte du demandeur, le Compte A.

 Pour plus d'informations sur la AWS Glue facturation et la tarification, consultez la section [Fonctionnement de la AWS tarification](https://d0.awsstatic.com/whitepapers/aws_pricing_overview.pdf).

## Limitations des accès inter-comptes
<a name="cross-account-limitations"></a>

AWS GlueL'accès intercompte à a les limitations suivantes :
+ Permettre l'accès entre comptes à AWS Glue n'est pas autorisé si vous avez créé des bases de données et des tables à l'aide d'Amazon Athena ou d'Amazon Redshift Spectrum avant la prise en charge d'une région pour AWS Glue et le propriétaire de la ressource compte n'a pas migré le catalogue de données Amazon Athena vers AWS Glue. Vous pouvez trouver l'état actuel de la migration à l'aide de [GetCatalogImportStatus (get\$1catalog\$1import\$1status)](aws-glue-api-catalog-migration.md#aws-glue-api-catalog-migration-GetCatalogImportStatus). Pour plus d'informations sur la migration d'un catalogue Athena vers leAWS Glue, consultez la section [Mise à niveau vers le AWS Glue Data Catalog step-by-step dans le guide](https://docs.aws.amazon.com/athena/latest/ug/glue-upgrade.html) de l'utilisateur d'*Amazon Athena*.
+ L'accès intercompte est *uniquement* pris en charge pour les ressources du catalogue de données, y compris les bases de données, les tables, les fonctions définies par l'utilisateur et les connexions.
+ L'accès entre comptes au catalogue de données depuis Athena nécessite que vous enregistrez le catalogue en tant que ressource `DataCatalog` d'Athena. Pour obtenir des instructions, veuillez consulter la rubrique [Enregistrement d'un AWS Glue Data Catalog à partir d'un autre compte](https://docs.aws.amazon.com/athena/latest/ug/data-sources-glue-cross-account.html) dans le *Guide de l'utilisateur Amazon Athena*.

# Résolution des problèmes d'identité et d'accès à AWS Glue
<a name="security_iam_troubleshoot"></a>

Utilisez les informations suivantes pour diagnostiquer et résoudre les problèmes courants que vous pouvez rencontrer lorsque vous travaillez avec AWS Glue et IAM.

**Topics**
+ [Je ne suis pas autorisé à effectuer une action dans AWS Glue](#security_iam_troubleshoot-no-permissions)
+ [Je ne suis pas autorisé à effectuer iam : PassRole](#security_iam_troubleshoot-passrole)
+ [Je souhaite autoriser des personnes extérieures à moi Compte AWS à accéder à mes ressources AWS Glue](#security_iam_troubleshoot-cross-account-access)

## Je ne suis pas autorisé à effectuer une action dans AWS Glue
<a name="security_iam_troubleshoot-no-permissions"></a>

Si vous recevez une erreur qui indique que vous n’êtes pas autorisé à effectuer une action, vos politiques doivent être mises à jour afin de vous permettre d’effectuer l’action.

L’exemple d’erreur suivant se produit quand l’utilisateur IAM `mateojackson` tente d’utiliser la console pour afficher des informations détaillées sur une ressource `my-example-widget` fictive, mais ne dispose pas des autorisations `glue:GetWidget` fictives.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: glue:GetWidget on resource: my-example-widget
```

Dans ce cas, la politique qui s’applique à l’utilisateur `mateojackson` doit être mise à jour pour autoriser l’accès à la ressource `my-example-widget` à l’aide de l’action `glue:GetWidget`.

Si vous avez besoin d'aide, contactez votre AWS administrateur. Votre administrateur vous a fourni vos informations d’identification de connexion.

## Je ne suis pas autorisé à effectuer iam : PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Si vous recevez un message d'erreur indiquant que vous n'êtes pas autorisé à effectuer l'`iam:PassRole`action, vos politiques doivent être mises à jour pour vous permettre de transmettre un rôle à AWS Glue.

Certains vous Services AWS permettent de transmettre un rôle existant à ce service au lieu de créer un nouveau rôle de service ou un rôle lié à un service. Pour ce faire, vous devez disposer des autorisations nécessaires pour transmettre le rôle au service.

L'exemple d'erreur suivant se produit lorsqu'un utilisateur IAM nommé `marymajor` essaie d'utiliser la console pour effectuer une action dans AWS Glue. Toutefois, l’action nécessite que le service ait des autorisations accordées par un rôle de service. Mary n'est pas autorisée à transmettre le rôle au service.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Dans ce cas, les politiques de Mary doivent être mises à jour pour lui permettre d’exécuter l’action `iam:PassRole`.

Si vous avez besoin d'aide, contactez votre AWS administrateur. Votre administrateur vous a fourni vos informations d’identification de connexion.

## Je souhaite autoriser des personnes extérieures à moi Compte AWS à accéder à mes ressources AWS Glue
<a name="security_iam_troubleshoot-cross-account-access"></a>

Vous pouvez créer un rôle que les utilisateurs provenant d’autres comptes ou les personnes extérieures à votre organisation pourront utiliser pour accéder à vos ressources. Vous pouvez spécifier qui est autorisé à assumer le rôle. Pour les services qui prennent en charge les politiques basées sur les ressources ou les listes de contrôle d'accès (ACLs), vous pouvez utiliser ces politiques pour autoriser les utilisateurs à accéder à vos ressources.

Pour plus d’informations, consultez les éléments suivants :
+ Pour savoir si AWS Glue prend en charge ces fonctionnalités, consultez[Comment AWS Glue fonctionne avec IAM](security_iam_service-with-iam.md).
+ Pour savoir comment fournir l'accès à vos ressources sur celles Comptes AWS que vous possédez, consultez la section [Fournir l'accès à un utilisateur IAM dans un autre utilisateur Compte AWS que vous possédez](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) dans le Guide de l'*utilisateur IAM*.
+ Pour savoir comment fournir l'accès à vos ressources à des tiers Comptes AWS, consultez la section [Fournir un accès à des ressources Comptes AWS détenues par des tiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dans le *guide de l'utilisateur IAM*.
+ Pour savoir comment fournir un accès par le biais de la fédération d’identité, consultez [Fournir un accès à des utilisateurs authentifiés en externe (fédération d’identité)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) dans le *Guide de l’utilisateur IAM*.
+ Pour en savoir plus sur la différence entre l’utilisation des rôles et des politiques basées sur les ressources pour l’accès intercompte, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.