

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 IoT Greengrass
<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 AWS IoT Greengrass les ressources. IAM est un Service AWS outil que vous pouvez utiliser sans frais supplémentaires.

**Note**  
Cette rubrique décrit les concepts et fonctionnalités de l'IAM. Pour plus d'informations sur les fonctionnalités IAM prises en charge par AWS IoT Greengrass, consultez[Comment AWS IoT Greengrass fonctionne avec IAM](security_iam_service-with-iam.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 pour AWS IoT Greengrass](security_iam_troubleshoot.md))
+ **Administrateur du service** : déterminez l’accès des utilisateurs et soumettez les demandes d’autorisation (voir [Comment AWS IoT Greengrass 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 AWS IoT Greengrass](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*. 

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

### Listes de contrôle d'accès (ACLs)
<a name="security_iam_access-manage-acl"></a>

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.

Amazon S3 et AWS WAF Amazon VPC sont des exemples de services compatibles. ACLs Pour en savoir plus ACLs, consultez la [présentation de la liste de contrôle d'accès (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) dans le *guide du développeur Amazon Simple Storage Service*.

### 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*.

## Consultez aussi
<a name="security_iam_service-see-also"></a>
+ [Comment AWS IoT Greengrass fonctionne avec IAM](security_iam_service-with-iam.md)
+ [Exemples de politiques basées sur l'identité pour AWS IoT Greengrass](security_iam_id-based-policy-examples.md)
+ [Résolution des problèmes d'identité et d'accès pour AWS IoT Greengrass](security_iam_troubleshoot.md)

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

Avant d'utiliser IAM pour gérer l'accès AWS IoT Greengrass, vous devez comprendre les fonctionnalités IAM que vous pouvez utiliser. AWS IoT Greengrass


| Fonctionnalité IAM | Prise en charge par Greengrass ? | 
| --- | --- | 
| [Stratégies basées sur l'identité avec autorisations au niveau des ressources](#security_iam_service-with-iam-id-based-policies) | Oui | 
| [Politiques basées sur les ressources](#security_iam_service-with-iam-resource-based-policies) | Non | 
| [Listes de contrôle d'accès (ACLs)](#security_iam_service-with-iam-acls) | Non | 
| [Autorisation basée sur les balises](#security_iam_service-with-iam-tags) | Oui | 
| [Informations d’identification temporaires](#security_iam_service-with-iam-roles-tempcreds) | Oui | 
| [Rôles liés à un service](#security_iam_service-with-iam-roles-service-linked) | Non | 
| [Rôles de service](#security_iam_service-with-iam-roles-service-linked) | Oui | 

Pour obtenir une vue d'ensemble de la façon dont les autres AWS services fonctionnent avec 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 d'*IAM*.

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

Avec les politiques basées sur l'identité IAM, vous pouvez spécifier les actions et les ressources autorisées ou refusées, ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. AWS IoT Greengrass prend en charge des actions, des ressources et des clés de condition spécifiques. Pour en savoir plus sur tous les éléments que vous utilisez dans une politique, consultez la [référence des éléments de stratégie IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dans le guide de l'*utilisateur IAM*.

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

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.

Actions de stratégie pour AWS IoT Greengrass utiliser le `greengrass:` préfixe avant l'action. Par exemple, pour permettre à quelqu'un d'utiliser l'opération d'`ListCoreDevices`API pour répertorier les principaux appareils dans sa politique Compte AWS, vous devez inclure l'`greengrass:ListCoreDevices`action dans sa politique. Les déclarations de politique doivent inclure un `NotAction` élément `Action` ou. AWS IoT Greengrass définit son propre ensemble d'actions décrivant les tâches que vous pouvez effectuer avec ce service.

Pour spécifier plusieurs actions dans une seule instruction, listez-les entre crochets (`[``]`) et séparez-les par des virgules, comme suit :

```
"Action": [
  "greengrass:action1",
  "greengrass:action2",
  "greengrass:action3"
]
```

Vous pouvez utiliser des caractères génériques (`*`) pour spécifier plusieurs actions. Par exemple, pour spécifier toutes les actions qui commencent par le mot `List`, incluez l’action suivante :

```
"Action": "greengrass:List*"
```

**Note**  
Nous vous recommandons d'éviter d’utiliser des caractères génériques pour spécifier toutes les actions disponibles pour un service. La bonne pratique consiste à applique le principe du moindre privilège et à accorder des autorisations de portée limitée dans une stratégie. Pour de plus amples informations, veuillez consulter [Accorder le moins d’autorisations possibles](security-best-practices.md#least-privilege).

Pour la liste complète des AWS IoT Greengrass actions, voir [Actions définies par AWS IoT Greengrass](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsiotgreengrass.html#awsiotgreengrass-actions-as-permissions) dans le *guide de l'utilisateur IAM*.

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

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": "*"
```

Le tableau suivant contient la AWS IoT Greengrass ressource ARNs qui peut être utilisée dans l'`Resource`élément d'une déclaration de politique. Pour un mappage des autorisations prises en charge au niveau des ressources pour les AWS IoT Greengrass actions, voir [Actions définies par AWS IoT Greengrass](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsiotgreengrass.html#awsiotgreengrass-actions-as-permissions) dans le guide de l'utilisateur *IAM*.

Certaines AWS IoT Greengrass actions (par exemple, certaines opérations de liste) ne peuvent pas être effectuées sur une ressource spécifique. Dans ce cas, vous devez utiliser le caractère générique seul.

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

Pour spécifier plusieurs ressources ARNs dans une instruction, listez-les entre crochets (`[``]`) et séparez-les par des virgules, comme suit :

```
"Resource": [
  "resource-arn1",
  "resource-arn2",
  "resource-arn3"
]
```

Pour plus d'informations sur les formats ARN, consultez [Amazon Resource Names (ARNs) et les espaces de noms de AWS service](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) dans le *Référence générale d'Amazon Web Services*.

### Clés de condition
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

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

### Exemples
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



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

## Politiques basées sur les ressources pour AWS IoT Greengrass
<a name="security_iam_service-with-iam-resource-based-policies"></a>

AWS IoT Greengrass ne prend pas en charge les [politiques basées sur les ressources](security-iam.md#security_iam_access-manage-resource-based-policies).

## Listes de contrôle d'accès (ACLs)
<a name="security_iam_service-with-iam-acls"></a>

AWS IoT Greengrass ne prend pas en charge [ACLs](security-iam.md#security_iam_access-manage-acl).

## Autorisation basée sur les AWS IoT Greengrass tags
<a name="security_iam_service-with-iam-tags"></a>

Vous pouvez associer des balises aux AWS IoT Greengrass ressources prises en charge ou transmettre des balises dans une demande à AWS IoT Greengrass. Pour contrôler l'accès basé sur des balises, vous devez fournir les informations de balise dans l'[élément Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) d'une stratégie utilisant les clés de condition `aws:ResourceTag/${TagKey}`, `aws:RequestTag/${TagKey}` ou `aws:TagKeys`. Pour de plus amples informations, veuillez consulter [Marquez vos AWS IoT Greengrass Version 2 ressources](tag-resources.md).

## Rôles IAM pour AWS IoT Greengrass
<a name="security_iam_service-with-iam-roles"></a>

Un [rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) est une entité au sein de votre Compte AWS qui dispose d'autorisations spécifiques.

### Utilisation d'informations d'identification temporaires avec AWS IoT Greengrass
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Les informations d'identification temporaires sont utilisées pour se connecter à la fédération, assumer un rôle IAM ou assumer un rôle entre comptes. Vous obtenez des informations d'identification de sécurité temporaires en appelant des opérations d' AWS STS API telles que [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)ou [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html).

Sur le noyau de Greengrass, des informations d'identification temporaires pour le [rôle d'appareil](device-service-role.md) sont mises à la disposition des composants de Greengrass. Si vos composants utilisent le AWS SDK, vous n'avez pas besoin d'ajouter de logique pour obtenir les informations d'identification, car le AWS SDK le fait pour vous.

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

AWS IoT Greengrass ne prend pas en charge les [rôles liés à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role).

### Rôles du service
<a name="security_iam_service-with-iam-roles-service"></a>

Cette fonction permet à un service d’endosser une [fonction du service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) en votre nom. Ce rôle autorise le service à accéder à des ressources d’autres services pour effectuer une action en votre nom. Les rôles de service s’affichent dans votre compte IAM et sont la propriété du compte. Cela signifie qu’un administrateur IAM peut modifier les autorisations associées à ce rôle. Toutefois, une telle action peut perturber le bon fonctionnement du service.

AWS IoT Greengrass les appareils principaux utilisent un rôle de service pour permettre aux composants Greengrass et aux fonctions Lambda d'accéder à certaines de vos AWS ressources en votre nom. Pour de plus amples informations, veuillez consulter [Autoriser les appareils principaux à interagir avec les AWS services](device-service-role.md).

AWS IoT Greengrass utilise un rôle de service pour accéder à certaines de vos AWS ressources en votre nom. Pour de plus amples informations, veuillez consulter [Rôle de service Greengrass](greengrass-service-role.md).

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

Par défaut, les utilisateurs et les rôles IAM ne sont pas autorisés à créer ou modifier les ressources AWS IoT Greengrass . Ils ne peuvent pas non plus effectuer de tâches à l'aide de l' AWS API AWS Management Console AWS CLI, ou. Un administrateur IAM doit créer des politiques IAM autorisant les utilisateurs et les rôles à exécuter des opérations d'API spécifiques sur les ressources spécifiées dont ils ont besoin. Il doit ensuite attacher ces politiques aux utilisateurs ou aux groupes IAM ayant besoin de ces autorisations.

## 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 AWS IoT Greengrass des ressources dans 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 le AWS client 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*.

## Exemples de politiques
<a name="security_iam_id-based-policy-examples-list"></a>

Les exemples de stratégie définie par le client suivants accordent des autorisations pour des scénarios courants.

**Topics**
+ [Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations](#security_iam_id-based-policy-examples-view-own-permissions)

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 dans l’onglet JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) dans le *Guide de l’utilisateur IAM*.

### 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": "*"
        }
    ]
}
```

# Autoriser les appareils principaux à interagir avec les AWS services
<a name="device-service-role"></a>

AWS IoT Greengrass les appareils principaux utilisent le fournisseur AWS IoT Core d'informations d'identification pour autoriser les appels aux AWS services. Le fournisseur AWS IoT Core d'informations d'identification permet aux appareils d'utiliser leurs certificats X.509 comme identité d'appareil unique pour authentifier les demandes. AWS Il n'est donc plus nécessaire de stocker un identifiant de clé d' AWS accès et une clé d'accès secrète sur vos AWS IoT Greengrass principaux appareils. Pour plus d'informations, consultez la section [Autorisation des appels directs vers AWS des services](https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html) dans le *Guide du AWS IoT Core développeur*.

Lorsque vous exécutez le logiciel AWS IoT Greengrass Core, vous pouvez choisir de fournir les AWS ressources dont le périphérique principal a besoin. Cela inclut le rôle Gestion des identités et des accès AWS (IAM) que votre appareil principal assume par le biais du fournisseur AWS IoT Core d'informations d'identification. Utilisez l'`--provision true`argument pour configurer un rôle et des politiques permettant au périphérique principal d'obtenir des AWS informations d'identification temporaires. Cet argument configure également un alias de AWS IoT rôle qui pointe vers ce rôle IAM. Vous pouvez spécifier le nom du rôle IAM et l'alias de AWS IoT rôle à utiliser. Si vous spécifiez `--provision true` sans ces autres paramètres de nom, le périphérique principal de Greengrass crée et utilise les ressources par défaut suivantes :
+ Rôle IAM : `GreengrassV2TokenExchangeRole`

  Ce rôle possède une politique nommée `GreengrassV2TokenExchangeRoleAccess` et une relation de confiance qui permet `credentials.iot.amazonaws.com` d'assumer le rôle. La politique inclut les autorisations minimales pour le périphérique principal.
**Important**  
Cette politique n'inclut pas l'accès aux fichiers dans les compartiments S3. Vous devez ajouter des autorisations au rôle pour permettre aux appareils principaux de récupérer les artefacts des composants à partir des compartiments S3. Pour de plus amples informations, veuillez consulter [Autoriser l'accès aux compartiments S3 pour les artefacts des composants](#device-service-role-access-s3-bucket).
+ AWS IoT alias de rôle : `GreengrassV2TokenExchangeRoleAlias`

  Cet alias de rôle fait référence au rôle IAM.

Pour de plus amples informations, veuillez consulter [Étape 3 : Installation du logiciel AWS IoT Greengrass principal](install-greengrass-v2.md).

Vous pouvez également définir l'alias de rôle pour un appareil principal existant. Pour ce faire, configurez le paramètre de `iotRoleAlias` configuration du composant [Greengrass nucleus](greengrass-nucleus-component.md).

Vous pouvez obtenir des AWS informations d'identification temporaires pour ce rôle IAM afin d'effectuer AWS des opérations dans vos composants personnalisés. Pour de plus amples informations, veuillez consulter [Interagissez avec les AWS services](interact-with-aws-services.md).

**Topics**
+ [Autorisations de rôle de service pour les appareils principaux](#device-service-role-permissions)
+ [Autoriser l'accès aux compartiments S3 pour les artefacts des composants](#device-service-role-access-s3-bucket)

## Autorisations de rôle de service pour les appareils principaux
<a name="device-service-role-permissions"></a>

Le rôle permet au service suivant d'assumer le rôle :
+ `credentials.iot.amazonaws.com`

Si vous utilisez le logiciel AWS IoT Greengrass Core pour créer ce rôle, il utilise la politique d'autorisation suivante pour autoriser les appareils principaux à se connecter et à envoyer des journaux à AWS. Le nom de la politique est par défaut le nom du rôle IAM se terminant par. `Access` Par exemple, si vous utilisez le nom de rôle IAM par défaut, le nom de cette politique est`GreengrassV2TokenExchangeRoleAccess`.

------
#### [ Greengrass nucleus v2.5.0 and later ]

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogStreams",
        "s3:GetBucketLocation"
      ],
      "Resource": "*"
    }
  ]
}
```

------

------
#### [ v2.4.x ]

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iot:DescribeCertificate",
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogStreams",
        "s3:GetBucketLocation"
      ],
      "Resource": "*"
    }
  ]
}
```

------

------
#### [ Earlier than v2.4.0 ]

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iot:DescribeCertificate",
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogStreams",
        "iot:Connect",
        "iot:Publish",
        "iot:Subscribe",
        "iot:Receive",
        "s3:GetBucketLocation"
      ],
      "Resource": "*"
    }
  ]
}
```

------

------

## Autoriser l'accès aux compartiments S3 pour les artefacts des composants
<a name="device-service-role-access-s3-bucket"></a>

Le rôle de périphérique principal par défaut ne permet pas aux appareils principaux d'accéder aux compartiments S3. Pour déployer des composants contenant des artefacts dans des compartiments S3, vous devez ajouter l'`s3:GetObject`autorisation permettant aux appareils principaux de télécharger des artefacts de composants. Vous pouvez ajouter une nouvelle politique au rôle principal de l'appareil pour accorder cette autorisation.

**Pour ajouter une politique qui autorise l'accès aux artefacts des composants dans Amazon S3**

1. Créez un fichier appelé `component-artifact-policy.json` et copiez-y le code JSON suivant. Cette politique permet d'accéder à tous les fichiers d'un compartiment S3. Remplacez amzn-s3-demo-bucket par le nom du compartiment S3 pour autoriser l'accès au périphérique principal.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
       }
     ]
   }
   ```

------

1. Exécutez la commande suivante pour créer la politique à partir du document de stratégie dans`component-artifact-policy.json`.

------
#### [ Linux or Unix ]

   ```
   aws iam create-policy \
     --policy-name MyGreengrassV2ComponentArtifactPolicy \
     --policy-document file://component-artifact-policy.json
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   aws iam create-policy ^
     --policy-name MyGreengrassV2ComponentArtifactPolicy ^
     --policy-document file://component-artifact-policy.json
   ```

------
#### [ PowerShell ]

   ```
   aws iam create-policy `
     --policy-name MyGreengrassV2ComponentArtifactPolicy `
     --policy-document file://component-artifact-policy.json
   ```

------

   Copiez le nom Amazon Resource Name (ARN) de la politique à partir des métadonnées de la politique dans la sortie. Vous utilisez cet ARN pour associer cette politique au rôle principal de l'appareil à l'étape suivante.

1. Exécutez la commande suivante pour associer la politique au rôle principal de l'appareil. *GreengrassV2TokenExchangeRole*Remplacez-le par le nom du rôle que vous avez spécifié lors de l'exécution du logiciel AWS IoT Greengrass Core. Remplacez ensuite l'ARN de la politique par l'ARN de l'étape précédente.

------
#### [ Linux or Unix ]

   ```
   aws iam attach-role-policy \
     --role-name GreengrassV2TokenExchangeRole \
     --policy-arn arn:aws:iam::123456789012:policy/MyGreengrassV2ComponentArtifactPolicy
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   aws iam attach-role-policy ^
     --role-name GreengrassV2TokenExchangeRole ^
     --policy-arn arn:aws:iam::123456789012:policy/MyGreengrassV2ComponentArtifactPolicy
   ```

------
#### [ PowerShell ]

   ```
   aws iam attach-role-policy `
     --role-name GreengrassV2TokenExchangeRole `
     --policy-arn arn:aws:iam::123456789012:policy/MyGreengrassV2ComponentArtifactPolicy
   ```

------

   Si la commande n'a aucune sortie, elle a réussi et votre appareil principal peut accéder aux artefacts que vous téléchargez dans ce compartiment S3.

# Politique IAM minimale permettant au programme d'installation de provisionner les ressources
<a name="provision-minimal-iam-policy"></a>

Lorsque vous installez le logiciel AWS IoT Greengrass Core, vous pouvez fournir les AWS ressources requises, telles qu'un AWS IoT objet ou un rôle IAM pour votre appareil. Vous pouvez également déployer des outils de développement locaux sur l'appareil. Le programme d'installation a besoin AWS d'informations d'identification pour pouvoir effectuer ces actions dans votre Compte AWS. Pour de plus amples informations, veuillez consulter [Installation du logiciel AWS IoT Greengrass de base](install-greengrass-core-v2.md).

L'exemple de politique suivant inclut l'ensemble minimal d'actions dont le programme d'installation a besoin pour provisionner ces ressources. Ces autorisations sont requises si vous spécifiez l'`--provision`argument du programme d'installation. *account-id*Remplacez-le par votre Compte AWS ID et remplacez-le *GreengrassV2TokenExchangeRole* par le nom du rôle d'échange de jetons que vous spécifiez avec l'[argument du `--tes-role-name` programme d'installation](configure-installer.md).

**Note**  
La déclaration `DeployDevTools` de politique n'est requise que si vous spécifiez l'`--deploy-dev-tools`argument du programme d'installation.

------
#### [ Greengrass nucleus v2.5.0 and later ]

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateTokenExchangeRole",
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:CreatePolicy",
                "iam:CreateRole",
                "iam:GetPolicy",
                "iam:GetRole",
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole",
                "arn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess",
                "arn:aws:iam::aws:policy/GreengrassV2TokenExchangeRoleAccess"
            ]
        },
        {
            "Sid": "CreateIoTResources",
            "Effect": "Allow",
            "Action": [
                "iot:AddThingToThingGroup",
                "iot:AttachPolicy",
                "iot:AttachThingPrincipal",
                "iot:CreateKeysAndCertificate",
                "iot:CreatePolicy",
                "iot:CreateRoleAlias",
                "iot:CreateThing",
                "iot:CreateThingGroup",
                "iot:DescribeEndpoint",
                "iot:DescribeRoleAlias",
                "iot:DescribeThingGroup",
                "iot:GetPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "DeployDevTools",
            "Effect": "Allow",
            "Action": [
                "greengrass:CreateDeployment",
                "iot:CancelJob",
                "iot:CreateJob",
                "iot:DeleteThingShadow",
                "iot:DescribeJob",
                "iot:DescribeThing",
                "iot:DescribeThingGroup",
                "iot:GetThingShadow",
                "iot:UpdateJob",
                "iot:UpdateThingShadow"
            ],
            "Resource": "*"
        }
    ]
}
```

------

------
#### [ Earlier than v2.5.0 ]

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateTokenExchangeRole",
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:CreatePolicy",
                "iam:CreateRole",
                "iam:GetPolicy",
                "iam:GetRole",
                "iam:PassRole"
            ],
            "Resource": [
            "arn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole",
    "arn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess",
                "arn:aws:iam::aws:policy/GreengrassV2TokenExchangeRoleAccess"
            ]
        },
        {
            "Sid": "CreateIoTResources",
            "Effect": "Allow",
            "Action": [
                "iot:AddThingToThingGroup",
                "iot:AttachPolicy",
                "iot:AttachThingPrincipal",
                "iot:CreateKeysAndCertificate",
                "iot:CreatePolicy",
                "iot:CreateRoleAlias",
                "iot:CreateThing",
                "iot:CreateThingGroup",
                "iot:DescribeEndpoint",
                "iot:DescribeRoleAlias",
                "iot:DescribeThingGroup",
                "iot:GetPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "DeployDevTools",
            "Effect": "Allow",
            "Action": [
                "greengrass:CreateDeployment",
                "iot:CancelJob",
                "iot:CreateJob",
                "iot:DeleteThingShadow",
                "iot:DescribeJob",
                "iot:DescribeThing",
                "iot:DescribeThingGroup",
                "iot:GetThingShadow",
                "iot:UpdateJob",
                "iot:UpdateThingShadow"
            ],
            "Resource": "*"
        }
    ]
}
```

------

------

# Rôle de service Greengrass
<a name="greengrass-service-role"></a>

<a name="greengrass-service-role-intro"></a>Le rôle de service Greengrass est un rôle de service Gestion des identités et des accès AWS (IAM) qui autorise l'accès AWS IoT Greengrass aux ressources des AWS services en votre nom. Ce rôle permet de vérifier l'identité AWS IoT Greengrass des appareils clients et de gérer les informations de connectivité de base des appareils.

**Note**  
AWS IoT Greengrass V1 utilise également ce rôle pour effectuer des tâches essentielles. Pour plus d'informations, voir le [rôle de service Greengrass](https://docs.aws.amazon.com/greengrass/v1/developerguide/service-role.html) dans le Guide du *AWS IoT Greengrass V1 développeur*.

Pour autoriser AWS IoT Greengrass l'accès à vos ressources, le rôle de service Greengrass doit être associé à votre rôle Compte AWS et spécifié en AWS IoT Greengrass tant qu'entité de confiance. Le rôle doit inclure la politique [AWSGreengrassResourceAccessRolePolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy)gérée ou une politique personnalisée qui définit des autorisations équivalentes pour les AWS IoT Greengrass fonctionnalités que vous utilisez. AWS applique cette politique, qui définit l'ensemble des autorisations AWS IoT Greengrass utilisées pour accéder à vos AWS ressources. Pour de plus amples informations, veuillez consulter [AWS politique gérée : AWSGreengrass ResourceAccessRolePolicy](security-iam-aws-managed-policies.md#aws-managed-policies-AWSGreengrassResourceAccessRolePolicy).

Vous pouvez réutiliser le même rôle de service Greengrass partout Régions AWS, mais vous devez l'associer à votre compte partout Région AWS où vous l'utilisez. AWS IoT Greengrass Si le rôle de service n'est pas configuré actuellement Région AWS, les appareils principaux ne vérifient pas les appareils clients et ne mettent pas à jour les informations de connectivité.

Les sections suivantes décrivent comment créer et gérer le rôle de service Greengrass avec le AWS Management Console ou. AWS CLI

**Topics**
+ [Gérer le rôle de service Greengrass (console)](#manage-greengrass-service-role-console)
+ [Gérer le rôle de service Greengrass (CLI)](#manage-service-role-cli)
+ [Consultez aussi](#service-role-see-also)

**Note**  
Outre le rôle de service qui autorise l'accès au niveau de service, vous attribuez un rôle d'*échange de jetons aux appareils principaux de* Greengrass. Le rôle d'échange de jetons est un rôle IAM distinct qui contrôle la manière dont les composants Greengrass et les fonctions Lambda du périphérique principal peuvent accéder aux services. AWS Pour de plus amples informations, veuillez consulter [Autoriser les appareils principaux à interagir avec les AWS services](device-service-role.md).

## Gérer le rôle de service Greengrass (console)
<a name="manage-greengrass-service-role-console"></a>

La AWS IoT console facilite la gestion de votre rôle dans le service Greengrass. Par exemple, lorsque vous configurez la découverte des appareils clients pour un appareil principal, la console vérifie si vous êtes Compte AWS actuellement attaché à un rôle de service Greengrass. Région AWS Si ce n'est pas le cas, la console peut créer et configurer un rôle de service pour vous. Pour de plus amples informations, veuillez consulter [Créer le rôle de service Greengrass (console)](#create-greengrass-service-role-console).

Vous pouvez utiliser la console pour les tâches de gestion des rôles suivantes :

**Topics**
+ [Rechercher votre rôle de service Greengrass (console)](#get-greengrass-service-role-console)
+ [Créer le rôle de service Greengrass (console)](#create-greengrass-service-role-console)
+ [Modifier le rôle de service Greengrass (console)](#update-greengrass-service-role-console)
+ [Détacher le rôle de service Greengrass (console)](#remove-greengrass-service-role-console)

**Note**  
L'utilisateur qui est connecté à la console doit disposer d'autorisations pour afficher, créer ou modifier le rôle de service.

### Rechercher votre rôle de service Greengrass (console)
<a name="get-greengrass-service-role-console"></a>

Suivez les étapes ci-dessous pour trouver le rôle de service AWS IoT Greengrass utilisé dans le courant Région AWS.

1. <a name="open-iot-console"></a>Accédez à la [console AWS IoT](https://console.aws.amazon.com/iot).

1. <a name="open-iot-settings"></a>Dans le panneau de navigation, sélectionnez **Settings** (Paramètres).

1. Faites défiler l'écran jusqu'à la section **Greengrass service role (Rôle de service Greengrass)** pour afficher votre rôle de service et ses stratégies.

   Si aucun rôle de service n'apparaît, la console peut en créer ou en configurer un pour vous. Pour de plus amples informations, veuillez consulter [Créer le rôle de service Greengrass](#create-greengrass-service-role-console).

### Créer le rôle de service Greengrass (console)
<a name="create-greengrass-service-role-console"></a>

La console peut créer et configurer un rôle de service Greengrass par défaut pour vous. Ce rôle a les propriétés suivantes :


| Propriété | Value | 
| --- | --- | 
| Nom | Greengrass\$1ServiceRole | 
| Entité de confiance | AWS service: greengrass | 
| Politique | [AWSGreengrassResourceAccessRolePolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy) | 

**Note**  
Si vous créez ce rôle à l'aide du [script de configuration de l'AWS IoT Greengrass V1 appareil](https://docs.aws.amazon.com/greengrass/v1/developerguide/quick-start.html), le nom du rôle est`GreengrassServiceRole_random-string`.

Lorsque vous configurez la découverte des appareils clients pour un appareil principal, la console vérifie si un rôle de service Greengrass est associé à votre rôle Compte AWS dans le service actuel. Région AWS Si ce n'est pas le cas, la console vous invite AWS IoT Greengrass à autoriser les AWS services à lire et à écrire en votre nom.

Si vous accordez l'autorisation, la console vérifie si un rôle nommé `Greengrass_ServiceRole` existe dans votre Compte AWS.
+ Si le rôle existe, la console attache le rôle de service à votre rôle Compte AWS dans le courant Région AWS.
+ Si le rôle n'existe pas, la console crée un rôle de service Greengrass par défaut et l'attache à votre rôle Compte AWS dans le service actuel. Région AWS

**Note**  
Si vous souhaitez créer un rôle de service avec des politiques de rôle personnalisées, utilisez la console IAM pour créer ou modifier le rôle. Pour plus d'informations, voir [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) ou [Modification d'un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) dans le *Guide de l'utilisateur IAM*. Assurez-vous que le rôle accorde des autorisations équivalentes à la stratégie `AWSGreengrassResourceAccessRolePolicy` gérée pour les fonctions et les ressources que vous utilisez. Nous vous recommandons également d'inclure les clés `aws:SourceArn` contextuelles et les clés de contexte de condition `aws:SourceAccount` globale dans votre politique de confiance afin d'éviter le problème *de sécurité secondaire confus*. Les clés contextuelles de condition limitent l'accès pour autoriser uniquement les demandes provenant du compte spécifié et de l'espace de travail Greengrass. Pour de plus amples informations sur le problème de l’adjoint confus, veuillez consulter [Prévention du problème de l’adjoint confus entre services](cross-service-confused-deputy-prevention.md).  
Si vous créez un rôle de service, retournez à la AWS IoT console et associez le rôle à votre Compte AWS. Vous pouvez le faire sous le **rôle de service Greengrass** sur la page **Paramètres.**

### Modifier le rôle de service Greengrass (console)
<a name="update-greengrass-service-role-console"></a>

Utilisez la procédure suivante pour choisir un autre rôle de service Greengrass à associer à votre rôle Compte AWS dans le rôle Région AWS actuellement sélectionné dans la console.

1. <a name="open-iot-console"></a>Accédez à la [console AWS IoT](https://console.aws.amazon.com/iot).

1. <a name="open-iot-settings"></a>Dans le panneau de navigation, sélectionnez **Settings** (Paramètres).

1. Sous le rôle de **service Greengrass, sélectionnez **Modifier** le rôle**.

   La boîte de dialogue **Mettre à jour le rôle de service Greengrass** s'ouvre et indique les rôles IAM Compte AWS que vous définissez AWS IoT Greengrass comme une entité de confiance.

1. Choisissez le rôle de service Greengrass à associer.

1. Choisissez **Attacher un rôle**.

### Détacher le rôle de service Greengrass (console)
<a name="remove-greengrass-service-role-console"></a>

Suivez la procédure ci-dessous pour dissocier le rôle de service Greengrass de AWS votre compte à l'heure actuelle. Région AWS Cela révoque les autorisations AWS IoT Greengrass d'accès aux AWS services actuels Région AWS.

**Important**  
Le détachement du rôle de service peut interrompre les opérations actives.

1. <a name="open-iot-console"></a>Accédez à la [console AWS IoT](https://console.aws.amazon.com/iot).

1. <a name="open-iot-settings"></a>Dans le panneau de navigation, sélectionnez **Settings** (Paramètres).

1. Sous le rôle de **service Greengrass, choisissez **Detach** role**.

1. Dans la boîte de dialogue de confirmation, choisissez **Détacher**.

**Note**  
Si vous n'avez plus besoin du rôle, vous pouvez le supprimer dans la console IAM. Pour plus d'informations, consultez [Suppression de rôles ou de profils d'instance](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) dans le *guide de l'utilisateur IAM*.  
D'autres rôles peuvent vous AWS IoT Greengrass permettre d'accéder à vos ressources. Pour trouver tous les rôles qui permettent AWS IoT Greengrass d'assumer des autorisations en votre nom, dans la console IAM, sur la page **Rôles**, recherchez les rôles incluant **AWS service : greengrass** dans la colonne **Entités fiables**.

## Gérer le rôle de service Greengrass (CLI)
<a name="manage-service-role-cli"></a>

Dans les procédures suivantes, nous partons du principe que le AWS Command Line Interface est installé et configuré pour utiliser votre Compte AWS. Pour plus d'informations, consultez les [sections Installation, mise à jour et désinstallation du AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) et [Configuration du AWS CLI dans le](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) *guide de l'AWS Command Line Interface utilisateur*.

Vous pouvez utiliser le AWS CLI pour les tâches de gestion des rôles suivantes :

**Topics**
+ [Obtenir le rôle de service Greengrass (interface de ligne de commande)](#get-service-role)
+ [Créer le rôle de service Greengrass (interface de ligne de commande)](#create-service-role)
+ [Supprimer le rôle de service Greengrass (interface de ligne de commande)](#remove-service-role)

### Obtenir le rôle de service Greengrass (interface de ligne de commande)
<a name="get-service-role"></a>

Utilisez la procédure suivante pour savoir si un rôle de service Greengrass vous est associé Compte AWS dans un. Région AWS
+ Obtenez le rôle de service. *region*Remplacez-le par votre Région AWS (par exemple,`us-west-2`).

  ```
  aws greengrassv2 get-service-role-for-account --region region
  ```

  Si un rôle de service Greengrass est déjà associé à votre compte, la demande renvoie les métadonnées de rôle suivantes.

  ```
  {
    "associatedAt": "timestamp",
    "roleArn": "arn:aws:iam::account-id:role/path/role-name"
  }
  ```

  Si la demande ne renvoie pas les métadonnées du rôle, vous devez créer le rôle de service (s'il n'existe pas) et l'associer à votre compte dans le Région AWS.

### Créer le rôle de service Greengrass (interface de ligne de commande)
<a name="create-service-role"></a>

Suivez les étapes ci-dessous pour créer un rôle et l'associer à votre Compte AWS.

**Pour créer le rôle de service à l'aide d'IAM**

1. Créez un rôle avec une politique de confiance qui permet AWS IoT Greengrass d'assumer le rôle. Cet exemple crée un rôle nommé `Greengrass_ServiceRole`, mais vous pouvez utiliser un autre nom. Nous vous recommandons également d'inclure les clés `aws:SourceArn` contextuelles et les clés de contexte de condition `aws:SourceAccount` globale dans votre politique de confiance afin d'éviter le problème *de sécurité secondaire confus*. Les clés contextuelles de condition limitent l'accès pour autoriser uniquement les demandes provenant du compte spécifié et de l'espace de travail Greengrass. Pour de plus amples informations sur le problème de l’adjoint confus, veuillez consulter [Prévention du problème de l’adjoint confus entre services](cross-service-confused-deputy-prevention.md).

------
#### [ Linux or Unix ]

   ```
   aws iam create-role --role-name Greengrass_ServiceRole --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "greengrass.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "ArnLike": {
             "aws:SourceArn": "arn:aws:greengrass:region:account-id:*"
           },
           "StringEquals": {
             "aws:SourceAccount": "account-id"
           }
         }
       }
     ]
   }'
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   aws iam create-role --role-name Greengrass_ServiceRole --assume-role-policy-document "{\"Version\":\"2012-10-17\",		 	 	 \"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"greengrass.amazonaws.com\"},\"Action\":\"sts:AssumeRole\",\"Condition\":{\"ArnLike\":{\"aws:SourceArn\":\"arn:aws:greengrass:region:account-id:*\"},\"StringEquals\":{\"aws:SourceAccount\":\"account-id\"}}}]}"
   ```

------
#### [ PowerShell ]

   ```
   aws iam create-role --role-name Greengrass_ServiceRole --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "greengrass.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "ArnLike": {
             "aws:SourceArn": "arn:aws:greengrass:region:account-id:*"
           },
           "StringEquals": {
             "aws:SourceAccount": "account-id"
           }
         }
       }
     ]
   }'
   ```

------

1. Copiez l'ARN de rôle du rôle des métadonnées dans la sortie. Vous utilisez l'ARN pour associer le rôle à votre compte.

1. Attachez la stratégie `AWSGreengrassResourceAccessRolePolicy` au rôle.

   ```
   aws iam attach-role-policy --role-name Greengrass_ServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy
   ```

**Pour associer le rôle de service à votre Compte AWS**
+ Associez le rôle à votre compte. *role-arn*Remplacez-le par l'ARN du rôle *region* de service et par votre Région AWS (par exemple,`us-west-2`).

  ```
  aws greengrassv2 associate-service-role-to-account --role-arn role-arn --region region
  ```

  En cas de succès, la demande renvoie la réponse suivante.

  ```
  {
    "associatedAt": "timestamp"
  }
  ```

### Supprimer le rôle de service Greengrass (interface de ligne de commande)
<a name="remove-service-role"></a>

Suivez les étapes ci-dessous pour dissocier le rôle de service Greengrass de votre. Compte AWS
+ Dissociez le rôle de service de votre compte. *region*Remplacez-le par votre Région AWS (par exemple,`us-west-2`).

  ```
  aws greengrassv2 disassociate-service-role-from-account --region region
  ```

  En cas de réussite, la réponse suivante est renvoyée.

  ```
  {
    "disassociatedAt": "timestamp"
  }
  ```
**Note**  
Vous devez supprimer le rôle de service si vous ne l'utilisez dans aucun d'entre eux Région AWS. Utilisez d'abord [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role-policy.html) pour détacher la stratégie gérée du rôle, puis utilisez `AWSGreengrassResourceAccessRolePolicy`[https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role.html) pour supprimer le rôle. Pour plus d'informations, consultez [Suppression de rôles ou de profils d'instance](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) dans le *guide de l'utilisateur IAM*.

## Consultez aussi
<a name="service-role-see-also"></a>
+ [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le guide de l'*utilisateur IAM*
+ [Modification d'un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) dans le guide de l'*utilisateur IAM*
+ [Supprimer des rôles ou des profils d'instance](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) dans le guide de l'*utilisateur IAM*
+ AWS IoT Greengrass commandes dans la *référence des AWS CLI commandes*
  + [associate-service-role-to-compte](https://docs.aws.amazon.com/cli/latest/reference/greengrassv2/associate-service-role-to-account.html)
  + [disassociate-service-role-from-compte](https://docs.aws.amazon.com/cli/latest/reference/greengrassv2/disassociate-service-role-from-account.html)
  + [get-service-role-for-compte](https://docs.aws.amazon.com/cli/latest/reference/greengrassv2/get-service-role-for-account.html)
+ Commandes IAM dans la référence des *AWS CLI commandes*
  + [attach-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html)
  + [create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html)
  + [delete-role](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role.html)
  + [delete-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role-policy.html)

# AWS politiques gérées pour AWS IoT Greengrass
<a name="security-iam-aws-managed-policies"></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*.

**Topics**
+ [AWS politique gérée : AWSGreengrass FullAccess](#aws-managed-policies-AWSGreengrassFullAccess)
+ [AWS politique gérée : AWSGreengrass ReadOnlyAccess](#aws-managed-policies-AWSGreengrassReadOnlyAccess)
+ [AWS politique gérée : AWSGreengrass ResourceAccessRolePolicy](#aws-managed-policies-AWSGreengrassResourceAccessRolePolicy)
+ [AWS IoT Greengrass mises à jour des politiques AWS gérées](#aws-managed-policy-updates)

## AWS politique gérée : AWSGreengrass FullAccess
<a name="aws-managed-policies-AWSGreengrassFullAccess"></a>

Vous pouvez associer la politique `AWSGreengrassFullAccess` à vos identités IAM.

Cette politique accorde des autorisations administratives qui permettent au principal d'avoir un accès complet à toutes les AWS IoT Greengrass actions.

**Détails de l’autorisation**

Cette politique inclut les autorisations suivantes :
+ `greengrass`— Permet aux principaux un accès complet à toutes les AWS IoT Greengrass actions.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "greengrass:*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## AWS politique gérée : AWSGreengrass ReadOnlyAccess
<a name="aws-managed-policies-AWSGreengrassReadOnlyAccess"></a>

Vous pouvez associer la politique `AWSGreengrassReadOnlyAccess` à vos identités IAM.

Cette politique accorde des autorisations en lecture seule qui permettent au principal de consulter, mais pas de modifier, les informations contenues dans. AWS IoT Greengrass Par exemple, les principaux disposant de ces autorisations peuvent consulter la liste des composants déployés sur un appareil principal Greengrass, mais ne peuvent pas créer de déploiement pour modifier les composants qui s'exécutent sur cet appareil.

**Détails de l’autorisation**

Cette politique inclut les autorisations suivantes :
+ `greengrass`— Permet aux principaux d'effectuer des actions qui renvoient soit une liste d'éléments, soit des informations sur un élément. Cela inclut les opérations d'API qui commencent par `List` ou`Get`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "greengrass:List*",
                "greengrass:Get*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## AWS politique gérée : AWSGreengrass ResourceAccessRolePolicy
<a name="aws-managed-policies-AWSGreengrassResourceAccessRolePolicy"></a>

Vous pouvez associer la `AWSGreengrassResourceAccessRolePolicy` politique à vos entités IAM. AWS IoT Greengrass associe également cette politique à un rôle de service qui permet AWS IoT Greengrass d'effectuer des actions en votre nom. Pour de plus amples informations, veuillez consulter [Rôle de service Greengrass](greengrass-service-role.md).

Cette politique accorde des autorisations administratives qui permettent d' AWS IoT Greengrass effectuer des tâches essentielles, telles que la récupération de vos fonctions Lambda, la AWS IoT gestion des ombres des appareils et la vérification des appareils clients Greengrass.

**Détails de l’autorisation**

Cette politique inclut les autorisations suivantes.
+ `greengrass`— Gérez les ressources de Greengrass.
+ `iot`(`*Shadow`) — Gérez les AWS IoT ombres dont le nom contient les identifiants spéciaux suivants. Ces autorisations sont nécessaires pour AWS IoT Greengrass pouvoir communiquer avec les appareils principaux.
  + `*-gci`— AWS IoT Greengrass utilise cette ombre pour stocker les informations de connectivité des appareils principaux, afin que les appareils clients puissent découvrir les appareils principaux et s'y connecter.
  + `*-gcm`— La AWS IoT Greengrass V1 utilise cette ombre pour informer le périphérique principal que le certificat d'autorité de certification (CA) du groupe Greengrass a changé.
  + `*-gda`— La AWS IoT Greengrass V1 utilise cette ombre pour informer le périphérique principal d'un déploiement.
  + `GG_*`— Non utilisé.
+ `iot`(`DescribeThing`et`DescribeCertificate`) — Récupérez des informations sur AWS IoT des objets et des certificats. Ces autorisations sont nécessaires pour vérifier les AWS IoT Greengrass appareils clients qui se connectent à un périphérique principal. Pour de plus amples informations, veuillez consulter [Interagissez avec les appareils IoT locaux](interact-with-local-iot-devices.md).
+ `lambda`— Récupère des informations sur AWS Lambda les fonctions. Cette autorisation est requise pour que la AWS IoT Greengrass V1 puisse déployer des fonctions Lambda sur les cœurs de Greengrass. Pour plus d'informations, consultez la section [Exécuter la fonction Lambda sur le AWS IoT Greengrass noyau dans le Guide du](https://docs.aws.amazon.com/greengrass/v1/developerguide/lambda-functions.html) *développeur de la AWS IoT Greengrass V1*.
+ `secretsmanager`— Récupère la valeur des AWS Secrets Manager secrets dont le nom commence `greengrass-` par Cette autorisation est requise pour que la AWS IoT Greengrass V1 puisse déployer les secrets de Secrets Manager sur les cœurs de Greengrass. Pour plus d'informations, consultez la section [Déployer des secrets vers le AWS IoT Greengrass cœur](https://docs.aws.amazon.com/greengrass/v1/developerguide/secrets.html) dans le *Guide du développeur de la AWS IoT Greengrass V1*.
+ `s3`— Récupère des objets de fichiers dans des compartiments S3 dont les noms contiennent `greengrass` ou`sagemaker`. Ces autorisations sont requises pour que AWS IoT Greengrass V1 puisse déployer des ressources d'apprentissage automatique que vous stockez dans des compartiments S3. Pour plus d'informations, consultez les [ressources d'apprentissage automatique](https://docs.aws.amazon.com/greengrass/v1/developerguide/ml-inference.html#ml-resources) dans le *guide du développeur de la AWS IoT Greengrass V1*.
+ `sagemaker`— Récupérez des informations sur les modèles d'inférence d'apprentissage automatique Amazon SageMaker AI. Cette autorisation est requise pour que la AWS IoT Greengrass V1 puisse déployer des modèles ML sur les cœurs de Greengrass. Pour plus d'informations, consultez la section [Effectuer une inférence d'apprentissage automatique](https://docs.aws.amazon.com/greengrass/v1/developerguide/ml-inference.html) dans le *guide du développeur de la AWS IoT Greengrass V1*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowGreengrassAccessToShadows",
            "Action": [
                "iot:DeleteThingShadow",
                "iot:GetThingShadow",
                "iot:UpdateThingShadow"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:iot:*:*:thing/GG_*",
                "arn:aws:iot:*:*:thing/*-gcm",
                "arn:aws:iot:*:*:thing/*-gda",
                "arn:aws:iot:*:*:thing/*-gci"
            ]
        },
        {
            "Sid": "AllowGreengrassToDescribeThings",
            "Action": [
                "iot:DescribeThing"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iot:*:*:thing/*"
        },
        {
            "Sid": "AllowGreengrassToDescribeCertificates",
            "Action": [
                "iot:DescribeCertificate"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iot:*:*:cert/*"
        },
        {
            "Sid": "AllowGreengrassToCallGreengrassServices",
            "Action": [
                "greengrass:*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Sid": "AllowGreengrassToGetLambdaFunctions",
            "Action": [
                "lambda:GetFunction",
                "lambda:GetFunctionConfiguration"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Sid": "AllowGreengrassToGetGreengrassSecrets",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:secretsmanager:*:*:secret:greengrass-*"
        },
        {
            "Sid": "AllowGreengrassAccessToS3Objects",
            "Action": [
                "s3:GetObject"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::*Greengrass*",
                "arn:aws:s3:::*GreenGrass*",
                "arn:aws:s3:::*greengrass*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Sid": "AllowGreengrassAccessToS3BucketLocation",
            "Action": [
                "s3:GetBucketLocation"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Sid": "AllowGreengrassAccessToSageMakerTrainingJobs",
            "Action": [
                "sagemaker:DescribeTrainingJob"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:sagemaker:*:*:training-job/*"
            ]
        }
    ]
}
```

------

## AWS IoT Greengrass mises à jour des politiques AWS gérées
<a name="aws-managed-policy-updates"></a>

Vous pouvez consulter les informations relatives aux mises à jour des politiques AWS gérées à AWS IoT Greengrass partir du moment où 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 IoT Greengrass V2](document-history.md).


| Modifier | Description | Date | 
| --- | --- | --- | 
|  AWS IoT Greengrass a commencé à suivre les modifications  |  AWS IoT Greengrass a commencé à suivre les modifications apportées AWS à ses politiques gérées.  |  2 juillet 2021  | 

# Prévention du problème de l’adjoint confus entre services
<a name="cross-service-confused-deputy-prevention"></a>

Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire. En AWS, l'usurpation d'identité interservices peut entraîner la confusion des adjoints. L’usurpation d’identité entre services peut se produire lorsqu’un service (le *service appelant*) appelle un autre service (le *service appelé*). Le service appelant peut être manipulé et ses autorisations utilisées pour agir sur les ressources d’un autre client auxquelles on ne serait pas autorisé à accéder autrement. Pour éviter cela, AWS fournit des outils qui vous aident à protéger vos données pour tous les services avec des principaux de service qui ont eu accès aux ressources de votre compte. 

Nous recommandons d'utiliser les clés de contexte de condition [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)globale [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)et les clés contextuelles dans les politiques de ressources afin de limiter les autorisations qui AWS IoT Greengrass accordent un autre service à la ressource. Si vous utilisez les deux clés de contexte de condition globale, la valeur `aws:SourceAccount` et le compte de la valeur `aws:SourceArn` doit utiliser le même ID de compte lorsqu’il est utilisé dans la même déclaration de stratégie.

La valeur de `aws:SourceArn` doit être la ressource client Greengrass associée à la `sts:AssumeRole` demande.

Le moyen le plus efficace de se protéger contre le problème de député confus consiste à utiliser la clé de contexte de condition globale `aws:SourceArn` avec l’ARN complet de la ressource. Si vous ne connaissez pas l’ARN complet de la ressource ou si vous spécifiez plusieurs ressources, utilisez la clé de contexte de condition globale `aws:SourceArn` avec des caractères génériques (`*`) pour les parties inconnues de l’ARN. Par exemple, `arn:aws:greengrass::account-id:*`. 

Pour obtenir un exemple de politique utilisant les clés de contexte de condition `aws:SourceAccount` globale `aws:SourceArn` et les clés contextuelles, consultez[Créer le rôle de service Greengrass](greengrass-service-role.md#create-service-role).

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

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

**Topics**
+ [Je ne suis pas autorisé à effectuer une action dans AWS IoT Greengrass](#security_iam_troubleshoot-no-permissions)
+ [Je ne suis pas autorisé à effectuer iam : PassRole](#security_iam_troubleshoot-passrole)
+ [Je suis administrateur et je souhaite autoriser d'autres personnes à accéder AWS IoT Greengrass](#security_iam_troubleshoot-admin-delegate)
+ [Je souhaite permettre à des personnes extérieures Compte AWS à moi d'accéder à mes AWS IoT Greengrass ressources](#security_iam_troubleshoot-cross-account-access)

Pour obtenir de l’aide relative à la résolution des problèmes généraux, veuillez consulter [Résolution des problèmes AWS IoT Greengrass V2](troubleshooting.md).

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

Si vous recevez un message d'erreur indiquant que vous n'êtes pas autorisé à exécuter une action, vous devez contacter votre administrateur pour obtenir de l'aide. Votre administrateur est la personne qui vous a fourni votre nom d'utilisateur et votre mot de passe.

L'exemple d'erreur suivant se produit lorsque l'utilisateur `mateojackson` IAM essaie d'afficher les détails d'un appareil principal, mais ne dispose pas des `greengrass:GetCoreDevice` autorisations nécessaires.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: greengrass:GetCoreDevice on resource: arn:aws:greengrass:us-west-2:123456789012:coreDevices/MyGreengrassCore
```

Dans ce cas, Mateo demande à son administrateur de mettre à jour ses politiques pour lui permettre d’accéder à la ressource `arn:aws:greengrass:us-west-2:123456789012:coreDevices/MyGreengrassCore` à l’aide de l’action `greengrass:GetCoreDevice`.

Les problèmes généraux liés à l'IAM que vous pouvez rencontrer lors de votre utilisation sont les AWS IoT Greengrass suivants.

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

Si vous recevez une erreur selon laquelle vous n’êtes pas autorisé à exécuter `iam:PassRole` l’action, vos stratégies doivent être mises à jour afin de vous permettre de transmettre un rôle à AWS IoT Greengrass.

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 exécuter une action dans AWS IoT Greengrass. Toutefois, l'action nécessite que le service ait des autorisations accordées par une fonction 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 suis administrateur et je souhaite autoriser d'autres personnes à accéder AWS IoT Greengrass
<a name="security_iam_troubleshoot-admin-delegate"></a>

Pour autoriser d'autres personnes à y accéder AWS IoT Greengrass, vous devez accorder l'autorisation aux personnes ou aux applications qui ont besoin d'y accéder. Si vous utilisez AWS IAM Identity Center pour gérer des personnes et des applications, vous attribuez des ensembles d'autorisations aux utilisateurs ou aux groupes afin de définir leur niveau d'accès. Les ensembles d'autorisations créent et attribuent automatiquement des politiques IAM aux rôles IAM associés à la personne ou à l'application. Pour plus d'informations, consultez la section [Ensembles d'autorisations](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) dans le *guide de AWS IAM Identity Center l'utilisateur*.

Si vous n'utilisez pas IAM Identity Center, vous devez créer des entités IAM (utilisateurs ou rôles) pour les personnes ou les applications qui ont besoin d'un accès. Vous devez ensuite associer une politique à l'entité qui leur accorde les autorisations appropriées dans AWS IoT Greengrass. Une fois les autorisations accordées, fournissez les informations d'identification à l'utilisateur ou au développeur de l'application. Ils utiliseront ces informations d'identification pour y accéder AWS. Pour en savoir plus sur la création d'utilisateurs, de groupes, de politiques et d'autorisations [IAM, consultez la section Identités](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html), [politiques et autorisations IAM dans le guide de l'utilisateur *IAM*](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).

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

Vous pouvez créer un rôle IAM que les utilisateurs d'autres comptes ou des personnes extérieures à votre organisation peuvent utiliser pour accéder à vos AWS ressources. Vous pouvez spécifier qui est approuvé pour assumer le rôle. Pour plus d'informations, consultez les [sections Fourniture d'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) et [Fourniture d'accès à Compte AWS des utilisateurs appartenant à des tiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dans le Guide de l'*utilisateur IAM*.

AWS IoT Greengrass ne prend pas en charge l'accès entre comptes basé sur des politiques basées sur les ressources ou des listes de contrôle d'accès (). ACLs