

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 dans Amazon SQS
<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. Des administrateurs IAM contrôlent les personnes qui peuvent être *authentifiées* (connectées) et *autorisées* (disposant d'autorisations) à utiliser des ressources Amazon SQS. IAM est un Service AWS outil que vous pouvez utiliser sans frais supplémentaires.

## 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'accès et d'identité Amazon Simple Queue Service](security_iam_troubleshoot.md))
+ **Administrateur du service** : déterminez l’accès des utilisateurs et soumettez les demandes d’autorisation (voir [Fonctionnement d'Amazon Simple Queue Service avec IAM](security_iam_service-with-iam.md))
+ **Administrateur IAM** : rédigez des politiques pour gérer l’accès (voir [Bonnes pratiques en matière de politiques](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples))

## 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 l'annuaire de votre 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 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 AWS CLI ou AWS 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*.

# Présentation de la gestion de l'accès dans Amazon SQS
<a name="sqs-overview-of-managing-access"></a>

Chaque AWS ressource appartient à un Compte AWS, et les autorisations de création ou d'accès à une ressource sont régies par des politiques d'autorisation. Un administrateur de compte peut accorder des stratégies d'autorisation à des identités IAM (utilisateurs, groupes et rôles), et certains services (tels qu'Amazon SQS) prennent également en charge l'octroi de stratégies d'autorisation à des ressources.

**Note**  
Un *administrateur de compte* (ou utilisateur administrateur) est un utilisateur doté des privilèges d'administration. Pour plus d'informations, consultez [Bonnes pratiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dans le *Guide de l'utilisateur IAM*.

Lorsque vous accordez des autorisations, vous indiquez quels utilisateurs en bénéficient, à quelles ressources ces autorisations s'appliquent et les actions spécifiques que vous souhaitez autoriser sur la ressource.

## Ressources et opérations Amazon Simple Queue Service
<a name="sqs-resource-and-operations"></a>

Dans Amazon SQS, la *file d'attente* est la seule ressource. Dans une stratégie, utilisez un Amazon Resource Name (ARN) pour identifier la ressource à laquelle la stratégie s'applique. La ressource suivante est dotée d'un ARN unique qui lui est associé :


| Type de ressource | Format ARN | 
| --- | --- | 
| File d'attente | arn:aws:sqs:region:account\$1id:queue\$1name | 

Vous trouverez ci-dessous des exemples de format ARN pour les files d'attente :
+ Un ARN pour une file d'attente nommée `my_queue` dans la région USA Est (Ohio), appartenant au AWS compte 123456789012 :

  ```
  arn:aws:sqs:us-east-2:123456789012:my_queue
  ```
+ ARN d'une file d'attente nommée `my_queue` dans chacune des différentes régions prises en charge par Amazon SQS :

  ```
  arn:aws:sqs:*:123456789012:my_queue
  ```
+ ARN utilisant `*` ou `?` comme caractère générique pour le nom de la file d'attente. Dans les exemples suivants, l'ARN correspond à toutes les files d'attente dont le préfixe est `my_prefix_` :

  ```
  arn:aws:sqs:*:123456789012:my_prefix_*
  ```

Vous pouvez obtenir la valeur de l'ARN d'une file d'attente existante en appelant l'action [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueAttributes.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueAttributes.html). La valeur de l'attribut `QueueArn` correspond à l'ARN de la file d'attente. Pour plus d'informations ARNs, consultez la section [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) dans le guide de l'*utilisateur d'IAM*.

Amazon SQS fournit un ensemble d'actions qui fonctionnent avec la ressource de file d'attente. Pour de plus amples informations, veuillez consulter [Autorisations d'API Amazon SQS : référence des actions et ressources](sqs-api-permissions-reference.md).

## Présentation de la propriété des ressources
<a name="sqs-understanding-resource-ownership"></a>

Il Compte AWS est propriétaire des ressources créées dans le compte, quelle que soit la personne qui les a créées. Plus précisément, le propriétaire des ressources est le Compte AWS de *l'entité du mandataire* (à savoir, le compte racine, un utilisateur ou un rôle IAM) qui authentifie la demande de création des ressources. Les exemples suivants illustrent comment cela fonctionne :
+ Si vous utilisez les informations d'identification de votre compte root Compte AWS pour créer une file d'attente Amazon SQS, vous êtes le propriétaire de la ressource (dans Amazon SQS, la ressource Compte AWS est la file d'attente Amazon SQS).
+ Si vous créez un utilisateur dans votre file d'attente Compte AWS et que vous lui accordez l'autorisation de créer une file d'attente, celui-ci peut créer la file d'attente. Toutefois, votre Compte AWS (auquel l'utilisateur appartient) est propriétaire de la ressource file d'attente.
+ Si vous créez un rôle IAM Compte AWS avec les autorisations nécessaires pour créer une file d'attente Amazon SQS, toute personne capable d'assumer ce rôle peut créer une file d'attente. Vous Compte AWS (à qui appartient le rôle) êtes propriétaire de la ressource de file d'attente. 

## Gestion de l’accès aux ressources
<a name="sqs-managing-access-to-resources"></a>

Une *stratégie d'autorisation* décrit qui a accès à quoi. La section suivante explique les options disponibles pour créer des stratégies d'autorisation.

**Note**  
 Cette section décrit l'utilisation d'IAM dans le contexte d'Amazon SQS. Elle ne fournit pas d'informations détaillées sur le service IAM. Pour une documentation complète sur IAM, consultez la rubrique[ Qu'est-ce que IAM ?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) dans le *Guide de l'utilisateur IAM*. Pour plus d'informations sur la syntaxe et les descriptions des stratégies IAM, consultez [Référence de stratégie AWS IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) dans le *Guide de l'utilisateur IAM*. 

Les politiques attachées à une identité IAM sont appelées politiques *basées sur une entité* (politiques IAM) et les politiques attachées à une ressource sont appelées politiques *basées sur une ressource*.

### Politiques basées sur l’identité
<a name="sqs-identity-based-features-of-sqs-policies"></a>

Deux options s'offrent à vous pour autoriser les utilisateurs à accéder à vos files d'attente Amazon SQS : le système de stratégies Amazon SQS ou le système de stratégies IAM. Vous pouvez utiliser l'un et/ou l'autre des systèmes pour associer des stratégies à des utilisateurs ou à des rôles. Dans la plupart des cas, vous obtenez le même résultat avec l'un ou l'autre système. Par exemple, vous pouvez effectuer les opérations suivantes :
+ **Attacher une stratégie d'autorisation à un utilisateur ou à un groupe de votre compte** : pour autoriser un utilisateur à créer une file d'attente Amazon SQS, attachez une stratégie d'autorisations à cet utilisateur ou à un groupe auquel il appartient.
+ **Associer une politique d'autorisation à un utilisateur d'un autre Compte AWS** — Vous pouvez associer une politique d'autorisation à un utilisateur d'un autre utilisateur Compte AWS pour lui permettre d'interagir avec une file d'attente Amazon SQS. Toutefois, les autorisations entre comptes ne s'appliquent pas aux actions suivantes :

  Les autorisations intercompte ne s'appliquent pas aux actions suivantes :
  + `[AddPermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)`
  + `[CancelMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CancelMessageMoveTask.html)`
  + `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)`
  + `[DeleteQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html)`
  + `[ListMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html)`
  + `[ListQueues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html)`
  + `[ListQueueTags](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html)`
  + `[RemovePermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_RemovePermission.html)`
  + `[SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)`
  + `[StartMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_StartMessageMoveTask.html)`
  + `[TagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_TagQueue.html)`
  + `[UntagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_UntagQueue.html)`

  Pour accorder l'accès à ces actions, l'utilisateur doit appartenir au même Compte AWS propriétaire de la file d'attente Amazon SQS.
+ **Associer une politique d'autorisation à un rôle (accorder des autorisations entre comptes) : pour accorder des autorisations** entre comptes à une file d'attente SQS, vous devez combiner des politiques IAM et basées sur les ressources :

  1. Dans le **compte A** (propriétaire de la file d'attente) :
     + Attachez une **politique basée sur les ressources à la file** d'attente SQS. Cette politique doit explicitement accorder les autorisations nécessaires (par exemple [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html), [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)) au principal dans le **compte B** (comme un rôle IAM).

  1. Dans le **compte A**, créez un rôle IAM :
     + Une **politique de confiance** qui permet au **compte B** ou an Service AWS d'assumer le rôle.
**Note**  
Si vous souhaitez qu'un Service AWS (tel que Lambda ouEventBridge) assume le rôle, spécifiez le principal du service (par exemple,lambda.amazonaws.com) dans la politique de confiance.
     + Une **politique basée sur l'identité** qui accorde au rôle assumé les autorisations d'interagir avec la file d'attente.

  1. Dans le **compte B**, accordez l'autorisation d'assumer le rôle dans le **compte A.**

Vous devez configurer la politique d'accès de la file d'attente pour autoriser le principal multicompte. Les politiques basées sur l'identité IAM ne sont pas suffisantes à elles seules pour l'accès entre comptes aux files d'attente SQS.

Pour en savoir plus sur l'utilisation d'IAM pour déléguer des autorisations, consultez [Gestion des accès](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) dans le *Guide de l'utilisateur IAM*.

Si Amazon SQS utilise des stratégies IAM, il dispose aussi de sa propre infrastructure de stratégies. Vous pouvez utiliser une politique Amazon SQS avec une file d'attente pour spécifier quels AWS comptes ont accès à la file d'attente. Vous pouvez définir le type d'accès et les conditions (par exemple, une condition accordant des autorisations pour utiliser `SendMessage`, `ReceiveMessage` si la demande a lieu avant le 31 décembre 2010). Les actions spécifiques pour lesquelles vous pouvez accorder des autorisations représentent un sous-ensemble de la liste complète des actions Amazon SQS. Lorsque vous écrivez une stratégie Amazon SQS et que vous spécifiez `*` pour « autoriser toutes les actions Amazon SQS », cela signifie qu'un utilisateur peut effectuer toutes les actions de ce sous-ensemble.

Le schéma suivant illustre le concept de l'une des stratégies Amazon SQS de base, qui couvre le sous-ensemble d'actions. La politique est pour`queue_xyz`, et elle autorise les AWS comptes 1 et AWS 2 à utiliser n'importe laquelle des actions autorisées avec la file d'attente spécifiée. 

**Note**  
La ressource spécifiée dans la politique est la suivante `123456789012/queue_xyz` : où `123456789012` est l'ID de AWS compte du compte propriétaire de la file d'attente.

![\[Une politique Amazon SQS qui couvre le sous-ensemble d'actions\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/SQS_BasicPolicy.png)


Avec l'introduction de l'IAM et des concepts d'*utilisateurs* et d'*Amazon Resource Names (ARNs)*, certaines choses ont changé en ce qui concerne les politiques SQS. Le graphique et le tableau suivants décrivent ces modifications.

![\[Les noms de ressources IAM et Amazon ont été ajoutés à la politique Amazon SQS.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/SQS_PolicyWithNewFeatures.png)


![\[Number one in the diagram.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png)Pour plus d'informations sur l'octroi d'autorisations aux utilisateurs de différents comptes, voir [Tutoriel : déléguer l'accès entre AWS comptes à l'aide de rôles IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html) dans le guide de l'*utilisateur IAM*.

![\[Number two in the diagram.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png) Le sous-ensemble d'actions inclus dans `*` est plus vaste. Pour obtenir la liste des actions autorisées, consultez [Autorisations d'API Amazon SQS : référence des actions et ressources](sqs-api-permissions-reference.md).

![\[Number three in the diagram.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png)Vous pouvez spécifier les ressources en indiquant leur Amazon Resource Name (ARN). Il s'agit de la méthode standard pour spécifier des ressources dans les stratégies IAM. Pour plus d'informations sur le format ARN pour les files d'attente Amazon SQS, consultez [Ressources et opérations Amazon Simple Queue Service](#sqs-resource-and-operations).

Par exemple, conformément à la politique Amazon SQS décrite dans le schéma précédent, toute personne possédant les informations de sécurité du AWS compte 1 ou du AWS compte 2 peut y accéder. `queue_xyz` De plus, les utilisateurs Bob et Susan, qui appartiennent à votre compte AWS (avec l'ID `123456789012`) peuvent également accéder à la file d'attente.

Avant l'introduction d'IAM, Amazon SQS accordait automatiquement au créateur d'une file d'attente un contrôle complet sur celle-ci (c'est-à-dire l'accès à toutes les actions Amazon SQS possibles sur cette file d'attente). Ce n'est plus le cas, sauf si le créateur utilise des informations d'identification de sécurité AWS . Tout utilisateur qui dispose d'autorisations pour créer une file d'attente doit également avoir les autorisations nécessaires pour utiliser les autres actions Amazon SQS afin de pouvoir exploiter les files d'attente créées.

Dans l'exemple suivant, la stratégie autorise un utilisateur à utiliser toutes les actions Amazon SQS, mais seulement avec les files d'attente dont le nom comporte la chaîne littérale `bob_queue_` en préfixe.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:*:123456789012:bob_queue_*"
   }]
}
```

------

Pour plus d'informations, consultez [Utilisation de politiques avec Amazon SQS](sqs-using-identity-based-policies.md) et [Identités (utilisateurs, groupes et rôles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) dans le *Guide de l'utilisateur IAM*.

## Spécification des éléments d'une politique : actions, effets, ressources et principaux
<a name="sqs-specifying-policy-elements"></a>

Pour chaque [ressource Amazon Simple Queue Service](#sqs-resource-and-operations), le service définit un ensemble d'[actions](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_Operations.html). Pour accorder des autorisations pour ces actions, Amazon SQS définit un ensemble d'actions que vous pouvez spécifier dans une stratégie.

**Note**  
Une action peut exiger des autorisations pour plusieurs actions. Lors de l'octroi des autorisations pour des actions spécifiques, vous identifiez également la ressource pour laquelle les actions sont autorisées ou refusées.

Voici les éléments les plus élémentaires d'une politique :
+ **Ressource** : dans une politique, vous utilisez un Amazon Resource Name (ARN) pour identifier la ressource à laquelle la politique s'applique.
+ **Action** : vous utilisez des mots clés d'action pour identifier les actions de ressource que vous voulez accorder ou refuser. Par exemple, l'autorisation `sqs:CreateQueue` permet à l'utilisateur d'effectuer l'action Amazon Simple Queue Service `CreateQueue`.
+ **Effet** : vous spécifiez l'effet produit lorsque l'utilisateur demande l'action spécifique, qui peut être une autorisation ou un refus. Si vous n'accordez pas explicitement l'accès à une ressource, il est implicitement refusé. Vous pouvez aussi explicitement refuser l'accès à une ressource, ce que vous pouvez faire afin de vous assurer qu'un utilisateur n'y a pas accès, même si une stratégie différente accorde l'accès.
+ **Principal** : dans les politiques basées sur une identité (politiques IAM), l'utilisateur auquel la politique est attachée est le principal implicite. Pour les politiques basées sur une ressource, vous spécifiez l'utilisateur, le compte, le service ou une autre entité qui doit recevoir les autorisations (s'applique uniquement aux politiques basées sur une ressource). 

Pour en savoir plus sur la syntaxe des stratégies Amazon SQS et pour obtenir des descriptions, consultez [Référence de stratégie IAM AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) dans le *Guide de l'utilisateur IAM*.

Pour visualiser un tableau répertoriant toutes les actions Amazon Simple Queue Service et les ressources auxquelles elles s'appliquent, consultez [Autorisations d'API Amazon SQS : référence des actions et ressources](sqs-api-permissions-reference.md).

# Fonctionnement d'Amazon Simple Queue Service avec IAM
<a name="security_iam_service-with-iam"></a>

Avant d'utiliser IAM pour gérer l'accès à Amazon SQS, découvrez les fonctionnalités IAM qui peuvent être utilisées avec Amazon SQS.






**Fonctionnalités IAM que vous pouvez utiliser avec Amazon Simple Queue Service**  

| Fonctionnalité IAM | Assistance Amazon SQS | 
| --- | --- | 
|  [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)  |  Oui  | 
|  [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  | 
|  [Transmission des sessions d’accès (FAS)](#security_iam_service-with-iam-principal-permissions)  |   Oui  | 
|  [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 Amazon SQS et les autres AWS services fonctionnent avec la plupart des fonctionnalités IAM, consultez les [AWS services compatibles avec IAM dans le guide de l'utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).*

## Contrôle d’accès
<a name="access-control"></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*.

**Note**  
Il est important de comprendre que tous Comptes AWS peuvent déléguer leurs autorisations aux utilisateurs de leurs comptes. L'accès entre comptes vous permet de partager l'accès à vos AWS ressources sans avoir à gérer d'autres utilisateurs. Pour plus d'informations sur l'accès entre comptes, consultez [Activation de l'accès entre comptes](https://docs.aws.amazon.com/IAM/latest/UserGuide/Delegation.html) dans le *Guide de l'utilisateur IAM*.   
Consultez [Limites des politiques personnalisées d'Amazon SQS](sqs-limitations-of-custom-policies.md) pour en savoir plus sur les autorisations et les clés de condition relatives au contenu croisé dans les stratégies personnalisées d'Amazon SQS. 

## Stratégies basées sur l'identité pour Amazon SQS
<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*.

### Exemples de stratégies basées sur l'identité pour Amazon SQS
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Pour voir des exemples de stratégies Amazon SQS basées sur l'identité, consultez [Bonnes pratiques en matière de politiques](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples).

## Stratégies basées sur les ressources au sein d'Amazon SQS
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Prend en charge les politiques basées sur les ressources** : oui

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

## Actions de stratégie pour Amazon SQS
<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 stratégie afin d'accorder l'autorisation d'exécuter les opérations associées.



Pour afficher la liste des actions Amazon SQS, consultez les [Ressources définies par Amazon Simple Queue Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsqs.html#amazonsqs-resources-for-iam-policies) dans la *Référence de l'autorisation de service*.

Les actions de stratégie dans Amazon SQS utilisent le préfixe suivant avant l'action :

```
sqs
```

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

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





Pour voir des exemples de stratégies Amazon SQS basées sur l'identité, consultez [Bonnes pratiques en matière de politiques](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples).

## Ressources de stratégie pour Amazon SQS
<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 consulter la liste des types de ressources Amazon SQS et leurs caractéristiques ARNs, consultez la section [Actions définies par Amazon Simple Queue Service dans le Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsqs.html#amazonsqs-actions-as-permissions) *Authorization Reference*. Pour connaître les actions avec lesquelles vous pouvez spécifier l'ARN de chaque ressource, consultez les [Ressources définies par Amazon Simple Queue Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsqs.html#amazonsqs-resources-for-iam-policies).





Pour voir des exemples de stratégies Amazon SQS basées sur l'identité, consultez [Bonnes pratiques en matière de politiques](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples).

## Clés de condition de stratégie pour Amazon SQS
<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 Amazon SQS, consultez [Clés de condition pour Amazon Simple Queue Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsqs.html#amazonsqs-policy-keys) dans la *Référence de l'autorisation de service*. Pour savoir avec quelles actions et ressources vous pouvez utiliser une clé de condition, consultez [Ressources définies par Amazon Simple Queue Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsqs.html#amazonsqs-resources-for-iam-policies).

Pour voir des exemples de stratégies Amazon SQS basées sur l'identité, consultez [Bonnes pratiques en matière de politiques](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples).

## ACLs dans Amazon SQS
<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 Amazon SQS
<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*.

## Utilisation d'informations d'identification temporaires avec Amazon SQS
<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*.

## Transférer les sessions d'accès pour Amazon SQS
<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). 

## Fonctions du service pour Amazon SQS
<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 d'une fonction du service peut altérer la fonctionnalité d'Amazon SQS. Ne modifiez des fonctions du service que quand Amazon SQS vous le conseille.

## Rôles liés à un service pour Amazon SQS
<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.







# Mises à jour des politiques gérées par Amazon SQS AWS
<a name="sqs-access-policy-aws-managed-policies"></a>

Pour ajouter des autorisations à des utilisateurs, des groupes et des rôles, il est plus facile d’utiliser des politiques gérées par AWS que d’écrire des politiques vous-même. Il faut du temps et de l’expertise pour [créer des politiques gérées par le client IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) qui ne fournissent à votre équipe que les autorisations dont elle a besoin. Pour démarrer rapidement, vous pouvez utiliser nos politiques gérées AWS . Ces politiques couvrent des cas d’utilisation courants et sont disponibles dans votre compte AWS . Pour plus d'informations sur les politiques AWS gérées, voir les [politiques AWS gérées](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 les services maintiennent et mettent à jour les politiques AWS gérées. Vous ne pouvez pas modifier les autorisations dans les politiques AWS gérées. Les services ajoutent parfois des autorisations supplémentaires à une politique AWS gérée pour prendre en charge de nouvelles fonctionnalités. Ce type de mise à jour affecte toutes les identités (utilisateurs, groupes et rôles) auxquelles la politique est attachée. Les services sont plus susceptibles de mettre à jour une politique AWS gérée lorsqu'une nouvelle fonctionnalité est lancée ou lorsque de nouvelles opérations sont disponibles. Les services ne suppriment pas les autorisations d'une politique AWS gérée. Les mises à jour des politiques n'endommageront donc pas vos autorisations existantes.

En outre, AWS prend en charge les politiques gérées pour les fonctions professionnelles qui couvrent plusieurs services. Par exemple, la politique **ReadOnlyAccess** AWS gérée fournit un accès en lecture seule à tous les AWS services et ressources. Lorsqu'un service lance une nouvelle fonctionnalité, il AWS ajoute des autorisations en lecture seule pour les nouvelles opérations et ressources. Pour obtenir la liste des politiques de fonctions professionnelles et leurs descriptions, consultez la page [politiques gérées par AWS pour les fonctions de tâche](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dans le *Guide de l’utilisateur IAM*.

## AWS politique gérée : Amazon SQSFull Access
<a name="security-iam-awsmanpol-AmazonSQSFullAccess"></a>

Vous pouvez attacher la stratégie `AmazonSQSFullAccess` à vos identités Amazon SQS. Cette stratégie accorde des autorisations qui permettent un accès complet à Amazon SQS.

Pour consulter les autorisations associées à cette politique, consultez [Amazon SQSFull Access](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSQSFullAccess.html) dans le *AWS Managed Policy Reference*.

## AWS politique gérée : Amazon SQSRead OnlyAccess
<a name="security-iam-awsmanpol-AmazonSQSReadOnlyAccess"></a>

Vous pouvez attacher la stratégie `AmazonSQSReadOnlyAccess` à vos identités Amazon SQS. Cette stratégie accorde des autorisations qui permettent un accès en lecture seule à Amazon SQS.

Pour consulter les autorisations associées à cette politique, consultez [Amazon SQSRead OnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSQSReadOnlyAccess.html) dans le *AWS Managed Policy Reference*.

## AWS politique gérée : SQSUnlock QueuePolicy
<a name="security-iam-awsmanpol-SQSUnlockQueuePolicy"></a>

Si vous avez mal configuré votre politique de file d'attente pour qu'un compte membre refuse à tous les utilisateurs l'accès à votre file d'attente Amazon SQS, vous pouvez utiliser la politique `SQSUnlockQueuePolicy` AWS gérée pour déverrouiller la file d'attente.

Pour plus d'informations sur la manière de supprimer une politique de file d'attente mal configurée qui empêche tous les principaux d'accéder à une file d'attente Amazon SQS, [consultez la section Exécuter une tâche privilégiée sur AWS Organizations un compte membre](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user-privileged-task.html) dans le guide de *l'*utilisateur IAM.

## Mises à jour des politiques gérées par Amazon SQS AWS
<a name="security-iam-awsmanpol-updates"></a>

Consultez les informations relatives aux mises à jour des politiques AWS gérées pour Amazon SQS depuis que ce service a commencé à suivre ces modifications. Pour recevoir des alertes automatiques sur les modifications apportées à cette page, abonnez-vous au flux RSS de la page [Historique des documents](sqs-release-notes.md) d'Amazon SQS.


| Modifier | Description | Date | 
| --- | --- | --- | 
|  [SQSUnlockQueuePolicy](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-SQSUnlockQueuePolicy)  |  Amazon SQS a ajouté une nouvelle politique AWS gérée appelée `SQSUnlockQueuePolicy` à déverrouiller une file d'attente et à supprimer une politique de file d'attente mal configurée qui empêche tous les principaux d'accéder à une file d'attente Amazon SQS.  | 15 novembre 2024 | 
|  [AmazonSQSReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess)  |  Amazon SQS a ajouté l'[https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html)action, qui récupère toutes les balises associées à une file d'attente Amazon SQS spécifiée. Il vous permet de visualiser les paires clé-valeur attribuées à la file d'attente à des fins d'organisation ou de métadonnées. Cette action est associée à l'opération d'API `ListQueueTags`.  | 20 juin 2024 | 
|  [AmazonSQSReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess)  |  Amazon SQS a ajouté une nouvelle action qui vous permet de répertorier les tâches de transfert de messages les plus récentes (jusqu'à 10) dans une file d'attente source spécifique. Cette action est associée à l'opération d'API [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html).  | 9 juin 2023 | 

# Résolution des problèmes d'accès et d'identité Amazon Simple Queue Service
<a name="security_iam_troubleshoot"></a>

Utilisez les informations suivantes pour identifier et résoudre les problèmes courants que vous pouvez rencontrer lorsque vous utilisez Amazon SQS et IAM.

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

Si vous recevez une erreur selon laquelle vous n'êtes pas autorisé à effectuer une action, vos stratégies doivent être mises à jour afin de vous permettre d'effectuer l'action.

L'exemple d'erreur suivant se produit quand l'utilisateur `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 `sqs:GetWidget` fictives.

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

Dans ce cas, la stratégie de Mateo doit être mise à jour pour l'autoriser à accéder à la ressource `my-example-widget` à l'aide de l'action `sqs: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 une erreur selon laquelle vous n'êtes pas autorisé à exécuter l'action `iam:PassRole`, vos stratégies doivent être mises à jour pour vous permettre de transmettre un rôle à Amazon SQS.

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 Amazon SQS. 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 Amazon SQS
<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 Amazon SQS est compatible avec ces fonctionnalités, consultez [Fonctionnement d'Amazon Simple Queue Service 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*.

## Je souhaite déverrouiller ma file d'attente
<a name="sqs-troubleshooting-org-policies"></a>

Si vous Compte AWS appartenez à une organisation, AWS Organizations les politiques peuvent vous empêcher d'accéder aux ressources Amazon SQS. Par défaut, AWS Organizations les politiques ne bloquent aucune demande adressée à Amazon SQS. Assurez-vous toutefois que vos AWS Organizations politiques n'ont pas été configurées pour bloquer l'accès aux files d'attente Amazon SQS. Pour savoir comment vérifier vos AWS Organizations politiques, consultez la section [Liste de toutes les politiques](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_info-operations.html#list-all-pols-in-org.html) dans le *guide de AWS Organizations l'utilisateur*.

En outre, si vous avez mal configuré votre politique de file d'attente pour un compte membre afin de refuser à tous les utilisateurs l'accès à votre file d'attente Amazon SQS, vous pouvez déverrouiller la file d'attente en lançant une session privilégiée pour le compte membre dans IAM. Une fois que vous avez lancé une session privilégiée, vous pouvez supprimer la politique de file d'attente mal configurée pour retrouver l'accès à la file d'attente. Pour plus d'informations, voir [Exécuter une tâche privilégiée sur un compte AWS Organizations membre](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user-privileged-task.html) dans le *Guide de l'utilisateur IAM*.

# Utilisation de politiques avec Amazon SQS
<a name="sqs-using-identity-based-policies"></a>

Cette rubrique fournit des exemples de stratégies basées sur l'identité dans lesquelles un administrateur de compte peut associer des stratégies d'autorisation à des identités IAM (utilisateurs, groupes et rôles).

**Important**  
Nous vous recommandons tout d'abord d'examiner les rubriques de présentation qui détaillent les concepts de base et les options disponibles pour gérer l'accès à vos ressources Amazon Simple Queue Service. Pour de plus amples informations, veuillez consulter [Présentation de la gestion de l'accès dans Amazon SQS](sqs-overview-of-managing-access.md).  
À l'exception de `ListQueues`, toutes les actions Amazon SQS prennent en charge les autorisations de niveau ressource. Pour de plus amples informations, veuillez consulter [Autorisations d'API Amazon SQS : référence des actions et ressources](sqs-api-permissions-reference.md).

## Utilisation des stratégies Amazon SQS et IAM
<a name="sqs-using-sqs-and-iam-policies"></a>

Il existe deux manières d'autoriser vos utilisateurs à accéder à vos ressources Amazon SQS : en utilisant le système de politiques Amazon SQS (politiques basées sur les ressources) et en utilisant le système de politique IAM (politiques basées sur l'identité). Vous pouvez utiliser l'une ou les deux méthodes, à l'exception de l'`ListQueues`action, qui est une autorisation régionale qui ne peut être définie que dans une politique IAM.

Par exemple, le schéma suivant illustre une stratégie IAM et une stratégie Amazon SQS équivalente. La politique IAM accorde les droits sur Amazon `ReceiveMessage` SQS `SendMessage` et les actions relatives à la file d'attente `queue_xyz` appelée dans AWS votre compte, et la politique est attachée aux utilisateurs nommés Bob et Susan (Bob et Susan ont les autorisations indiquées dans la politique). Cette stratégie Amazon SQS donne également à Bob et à Susan des droits sur les actions `ReceiveMessage` et `SendMessage` pour cette même file d'attente.

**Note**  
L'exemple suivant montre des politiques simples sans conditions. Vous pouvez spécifier une condition particulière dans l'une ou l'autre des stratégies et aboutir au même résultat.

![\[Schéma comparant une politique IAM et une politique Amazon SQS équivalente. La politique IAM accorde les droits sur Amazon ReceiveMessage SQS SendMessage et les actions relatives à la file d'attente queue_xyz appelée dans AWS votre compte, et la politique est attachée aux utilisateurs nommés Bob et Susan (Bob et Susan ont les autorisations indiquées dans la politique). Cette stratégie Amazon SQS donne également à Bob et à Susan des droits sur les actions ReceiveMessage et SendMessage pour cette même file d'attente.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-iam-policies-equivalent.png)


Il existe une différence majeure entre les politiques IAM et Amazon SQS : le système de politiques Amazon SQS vous permet d'accorder des autorisations à AWS d'autres comptes, contrairement à IAM.

Il vous incombe de décider si vous voulez utiliser les deux systèmes conjointement pour gérer vos autorisations. Les exemples suivants illustrent la façon dont les deux systèmes de politique interagissent.
+ Dans le premier exemple, Bob possède une stratégie IAM et une stratégie Amazon SQS qui s'appliquent à son compte. La stratégie IAM accorde à son compte l'autorisation d'effectuer l'action `ReceiveMessage` sur `queue_xyz`, tandis que la stratégie Amazon SQS autorise son compte à effectuer l'action `SendMessage` sur cette même file d'attente. Le diagramme suivant illustre le concept.  
![\[Schéma comparant les composants d'une politique IAM à ceux d'une politique Amazon SQS. Dans le premier exemple, Bob possède une stratégie IAM et une stratégie Amazon SQS qui s'appliquent à son compte. La stratégie IAM accorde à son compte l'autorisation d'effectuer l'action ReceiveMessage sur queue_xyz, tandis que la stratégie Amazon SQS autorise son compte à effectuer l'action SendMessage sur cette même file d'attente.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-iam-policies-union.png)

  Si Bob envoie une demande `ReceiveMessage` à `queue_xyz`, la stratégie IAM autorise l'action. Si Bob envoie une demande `SendMessage` à `queue_xyz`, la stratégie Amazon SQS autorise l'action.
+ Dans le deuxième exemple, Bob abuse de son accès à la file d'attente `queue_xyz` de telle sorte qu'il devient nécessaire de supprimer cet accès. La méthode la plus simple consiste à ajouter une stratégie qui lui refuse l'accès à toutes les actions pour cette file d'attente. Cette stratégie prévaut sur les deux autres car une action `deny` explicite prévaut toujours sur une action `allow`. Pour plus d'informations sur la logique d'évaluation de stratégie, consultez la section [Utilisation de stratégies personnalisées avec le langage de la stratégie d'accès Amazon SQS](sqs-creating-custom-policies.md). Le diagramme suivant illustre le concept.  
![\[Schéma illustrant le remplacement d'une politique IAM par une politique Amazon SQS. Bob abuse de son accès àqueue_xyz, il devient donc nécessaire de supprimer l'intégralité de son accès à la file d'attente. La méthode la plus simple consiste à ajouter une stratégie qui lui refuse l'accès à toutes les actions pour cette file d'attente. Cette stratégie prévaut sur les deux autres car une action deny explicite prévaut toujours sur une action allow.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-iam-policies-deny-override.png)

  Vous pouvez également ajouter une instruction supplémentaire à la stratégie Amazon SQS, qui refuse à Bob tout type d'accès à la file d'attente. Cette approche a le même effet que l'ajout d'une stratégie IAM refusant à Bob l'accès à la file d'attente. Pour obtenir des exemples de stratégies couvrant les actions et ressources Amazon SQS, consultez [Exemples de base de stratégies Amazon SQS](sqs-basic-examples-of-sqs-policies.md). Pour plus d'informations sur l'écriture de stratégies Amazon SQS, consultez [Utilisation de stratégies personnalisées avec le langage de la stratégie d'accès Amazon SQS](sqs-creating-custom-policies.md).

## Autorisations requises pour utiliser la console Amazon SQS
<a name="sqs-console-permissions"></a>

Un utilisateur désireux d'utiliser la console Amazon SQS doit disposer d'un ensemble minimal d'autorisations pour utiliser les files d'attente Amazon SQS dans son Compte AWS. Par exemple, l'utilisateur doit avoir l'autorisation d'appeler l'action `ListQueues` pour répertorier les files d'attente ou l'action `CreateQueue` pour créer des files d'attente. Outre les autorisations Amazon SQS pour abonner une file d'attente Amazon SQS à une rubrique Amazon SNS, la console exige également des autorisations pour les actions Amazon SNS.

Si vous créez une stratégie IAM plus restrictive que les autorisations minimales requises, la console peut ne pas fonctionner comme prévu pour les utilisateurs dotés de la stratégie IAM.

Il n'est pas nécessaire d'accorder des autorisations de console minimales aux utilisateurs qui appellent uniquement les actions AWS CLI ou Amazon SQS. 

# Exemples de stratégies basées sur l'identité pour Amazon SQS
<a name="sqs-basic-examples-of-iam-policies"></a>

Par défaut, les utilisateurs et les rôles ne sont pas autorisés à créer ou à modifier des ressources Amazon SQS. 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 en savoir plus sur les actions et les types de ressources définis par Amazon SQS, y compris le format de chaque type de ressource, consultez la section [Actions, ressources et clés de condition ARNs pour Amazon Simple Queue Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsqs.html) dans la référence d'*autorisation du service*.

**Note**  
Lorsque vous configurez des hooks de cycle de vie pour Amazon EC2 Auto Scaling, vous n'avez pas besoin d'écrire de stratégie pour envoyer des messages à une file d'attente Amazon SQS. Pour plus d'informations, consultez [Amazon EC2 Auto Scaling Lifecycle](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) Hooks dans *le guide de l'utilisateur Amazon EC2*.

## Bonnes pratiques en matière de politiques
<a name="security_iam_id-based-policy-examples"></a>

Les stratégies basées sur l'identité déterminent si une personne peut créer, consulter ou supprimer des ressources Amazon SQS 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 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*.

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

Pour accéder à la console Amazon Simple Queue Service, vous devez disposer d'un ensemble minimum d'autorisations. Ces autorisations doivent vous permettre de répertorier et de consulter les informations relatives aux ressources Amazon SQS 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 Amazon SQS, associez également la politique gérée par Amazon `AmazonSQSReadOnlyAccess` AWS SQS 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*.

## 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 un utilisateur à créer des files d'attente
<a name="allow-queue-creation"></a>

Dans l'exemple suivant, nous créons une stratégie qui permet à Bob d'accéder à toutes les actions Amazon SQS, mais seulement avec les files d'attente dont le nom comporte la chaîne littérale `alice_queue_` en préfixe.

Amazon SQS n'accorde pas automatiquement au créateur d'une file d'attente les autorisations de l'utiliser. Par conséquent, dans la stratégie IAM, nous devons explicitement accorder à Bob les autorisations d'utiliser toutes les actions Amazon SQS en plus de l'action `CreateQueue`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:*:123456789012:alice_queue_*"
   }]
}
```

------

## Permettre aux développeurs d'écrire des messages dans une file d'attente partagée
<a name="write-messages-to-shared-queue"></a>

Dans l'exemple suivant, nous créons un groupe pour les développeurs et y attachons une politique qui permet au groupe d'utiliser l'`SendMessage`action Amazon SQS, mais uniquement avec la file d'attente qui appartient à la file spécifiée Compte AWS et qui est nommée. `MyCompanyQueue`

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:*:123456789012:MyCompanyQueue"
   }]
}
```

------

Vous pouvez utiliser `*` au lieu de `SendMessage` pour attribuer les actions suivantes à un mandataire sur une file d'attente partagée : `ChangeMessageVisibility`, `DeleteMessage`, `GetQueueAttributes`, `GetQueueUrl`, `ReceiveMessage` et `SendMessage`.

**Note**  
Bien que `*` comprenne l'accès fourni par d'autres types d'autorisation, Amazon SQS examine les autorisations séparément. Par exemple, il est possible d'accorder à la fois les autorisations `*` et `SendMessage` à un utilisateur, même si le symbole `*` inclut l'accès fourni par `SendMessage`.  
Ce concept s'applique également quand vous supprimez une autorisation. Si un mandataire dispose uniquement d'une autorisation `*`, toute demande de suppression de l'autorisation `SendMessage` *ne signifie pas* que l'utilisateur *peut tout faire, sauf cette action*. Au lieu de cela, cette demande n'a aucun effet, car le mandataire n'a aucune autorisation `SendMessage` explicite. Pour attribuer uniquement l'autorisation `ReceiveMessage` au mandataire, commencez par ajouter l'autorisation `ReceiveMessage`, puis supprimez l'autorisation `*`.

## Permettre aux gestionnaires d'obtenir la taille générale des files d'attente
<a name="get-size-of-queues"></a>

Dans l'exemple suivant, nous créons un groupe pour les responsables et y attachons une politique qui permet au groupe d'utiliser l'`GetQueueAttributes`action Amazon SQS avec toutes les files d'attente appartenant au compte spécifié. AWS 

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

****  

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

------

## Autoriser un partenaire à envoyer des messages à une file d'attente spécifique
<a name="send-messages-to-specific-queue"></a>

Vous pouvez accomplir cette tâche à l'aide d'une stratégie Amazon SQS ou IAM. Si votre partenaire dispose d'une politique Amazon SQS Compte AWS, il peut être plus facile d'utiliser une politique Amazon SQS. Cependant, tout utilisateur de l'entreprise du partenaire qui possède les informations de AWS sécurité peut envoyer des messages à la file d'attente. Si vous souhaitez limiter l'accès à un utilisateur ou une application en particulier, vous devez traiter le partenaire comme un utilisateur de votre propre entreprise et utiliser une stratégie IAM au lieu d'une stratégie Amazon SQS.

L'exemple suivant effectue les actions suivantes :

1. Créez un groupe appelé WidgetCo pour représenter l'entreprise partenaire.

1. Création d'un utilisateur pour la personne ou l'application spécifique qui a besoin d'un accès dans l'entreprise du partenaire.

1. Ajoutez l'utilisateur au groupe .

1. Association d'une stratégie qui donne au groupe l'accès à l'action `SendMessage`, mais uniquement pour la file d'attente `WidgetPartnerQueue`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
         "Effect": "Allow",
         "Action": "sqs:SendMessage",
         "Resource": "arn:aws:sqs:*:123456789012:WidgetPartnerQueue"
   }]
}
```

------

# Exemples de base de stratégies Amazon SQS
<a name="sqs-basic-examples-of-sqs-policies"></a>

Cette section présente des exemples de stratégies pour les cas d'utilisation Amazon SQS les plus courants.

Vous pouvez utiliser la console pour vérifier les effets de chaque politique lorsque vous les associez à l'utilisateur. Au départ, l'utilisateur n'a pas les autorisations requises et ne peut donc effectuer aucune action dans la console. A mesure que vous lui associez des stratégies, vous pouvez vérifier que l'utilisateur peut exécuter diverses actions dans la console.

**Note**  
Nous vous recommandons d'utiliser deux fenêtres de navigateur : l'une pour accorder des autorisations et l'autre pour vous connecter à l' AWS Management Console aide des informations d'identification de l'utilisateur afin de vérifier les autorisations que vous lui accordez.

## Exemple 1 : accorder une autorisation à une Compte AWS
<a name="grant-one-permission-to-one-account"></a>

L'exemple de politique suivant accorde à Compte AWS number `111122223333` l'`SendMessage`autorisation pour la file d'attente nommée `444455556666/queue1` dans la région USA Est (Ohio).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_SendMessage",
      "Effect": "Allow",
      "Principal": {
         "AWS": [ 
            "111122223333"
         ]
      },
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue1"
   }]  
}
```

------

## Exemple 2 : accorder deux autorisations à une Compte AWS
<a name="grant-two-permissions-to-one-account"></a>

L'exemple de politique suivant accorde à la `111122223333` fois le Compte AWS numéro `SendMessage` et l'`ReceiveMessage`autorisation pour la file d'attente nommée`444455556666/queue1`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_Send_Receive",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ],
      "Resource": "arn:aws:sqs:*:444455556666:queue1"
   }]
}
```

------

## Exemple 3 : accorder toutes les autorisations à deux Comptes AWS
<a name="grant-all-permissions-to-two-accounts"></a>

L'exemple de politique suivant accorde deux Comptes AWS numéros différents (`111122223333`et`444455556666`) l'autorisation d'utiliser toutes les actions auxquelles Amazon SQS autorise un accès partagé pour la file d'attente nommée `123456789012/queue1` dans la région USA Est (Ohio).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AllActions",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "111122223333",
            "444455556666"
         ]
      },
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:us-east-2:123456789012:queue1"
   }]
}
```

------

## Exemple 4 : Accorder des autorisations inter-comptes à un rôle et à un nom d'utilisateur
<a name="grant-cross-account-permissions-to-role-and-user-name"></a>

L'exemple de politique suivant accorde`role1`, `username1` sous un Compte AWS numéro`111122223333`, l'autorisation entre comptes d'utiliser toutes les actions auxquelles Amazon SQS autorise un accès partagé pour la file d'attente `123456789012/queue1` nommée dans la région USA Est (Ohio).

Les autorisations intercompte ne s'appliquent pas aux actions suivantes :
+ `[AddPermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)`
+ `[CancelMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CancelMessageMoveTask.html)`
+ `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)`
+ `[DeleteQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html)`
+ `[ListMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html)`
+ `[ListQueues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html)`
+ `[ListQueueTags](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html)`
+ `[RemovePermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_RemovePermission.html)`
+ `[SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)`
+ `[StartMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_StartMessageMoveTask.html)`
+ `[TagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_TagQueue.html)`
+ `[UntagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_UntagQueue.html)`

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AllActions",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "arn:aws:iam::111122223333:role/role1",
            "arn:aws:iam::111122223333:user/username1"
         ]
      },
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:us-east-2:123456789012:queue1"
   }]
}
```

------

## Exemple 5 : Accorder une autorisation à tous les utilisateurs
<a name="grant-permissions-to-all-users"></a>

L'exemple de stratégie suivant accorde à tous les utilisateurs (anonymes) l'autorisation `ReceiveMessage` pour la file d'attente dénommée `111122223333/queue1`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AnonymousAccess_ReceiveMessage",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sqs:ReceiveMessage",
      "Resource": "arn:aws:sqs:*:111122223333:queue1"
   }]
}
```

------

## Exemple 6 : Accorder une autorisation limitée dans le temps à tous les utilisateurs
<a name="grant-time-limited-permission-to-all-users"></a>

L'exemple de stratégie suivant accorde à tous les utilisateurs (anonymes) l'autorisation `ReceiveMessage` pour la file d'attente dénommée `111122223333/queue1`, mais seulement entre 12 h (midi) et 15 h le 31 janvier 2009.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AnonymousAccess_ReceiveMessage_TimeLimit",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sqs:ReceiveMessage",
      "Resource": "arn:aws:sqs:*:111122223333:queue1",
      "Condition" : {
         "DateGreaterThan" : {
            "aws:CurrentTime":"2009-01-31T12:00Z"
         },
         "DateLessThan" : {
            "aws:CurrentTime":"2009-01-31T15:00Z"
         }
      }
   }]
}
```

------

## Exemple 7 : Accorder toutes les autorisations à tous les utilisateurs d'une plage d'adresses CIDR
<a name="grant-all-permissions-to-all-users-in-cidr-range"></a>

L'exemple de stratégie suivant accorde à tous les utilisateurs (anonymes) l'autorisation d'utiliser toutes les actions Amazon SQS qui peuvent être partagées pour la file d'attente nommée `111122223333/queue1`, mais uniquement si la demande provient de la plage d'adresses CIDR `192.0.2.0/24`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AnonymousAccess_AllActions_AllowlistIP",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:*:111122223333:queue1",
      "Condition" : {
         "IpAddress" : {
            "aws:SourceIp":"192.0.2.0/24"
         }
      }
   }]
}
```

------

## Exemple 8 : Ajouter les utilisateurs de différentes plages d'adresses CIDR à une liste d'autorisations ou à une liste de blocage pour leur permettre ou les empêcher d'effectuer une action
<a name="allowlist-blocklist-permissions-for-users-in-different-cidr-ranges"></a>

L'exemple de stratégie suivant comporte deux instructions :
+ La première instruction accorde à tous les utilisateurs (anonymes) de la plage d'adresses CIDR `192.0.2.0/24` (à l'exception de `192.0.2.188`) l'autorisation d'utiliser l'action `SendMessage` pour la file d'attente dénommée `111122223333`/queue1.
+ La deuxième instruction empêche tous les utilisateurs (anonymes) de la plage d'adresses CIDR `12.148.72.0/23` d'utiliser la file d'attente en les ajoutant à une liste de blocage.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AnonymousAccess_SendMessage_IPLimit",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:*:111122223333:queue1",
      "Condition" : {
         "IpAddress" : {
            "aws:SourceIp":"192.0.2.0/24"
         },
         "NotIpAddress" : {
            "aws:SourceIp":"192.0.2.188/32"
         }
      }
   }, {
      "Sid":"Queue1_AnonymousAccess_AllActions_IPLimit_Deny",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:*:111122223333:queue1",
      "Condition" : {
         "IpAddress" : {
            "aws:SourceIp":"12.148.72.0/23"
         }
      }
   }]
}
```

------

# Utilisation de stratégies personnalisées avec le langage de la stratégie d'accès Amazon SQS
<a name="sqs-creating-custom-policies"></a>

Pour accorder des autorisations de base (telles que [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)ou [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)) basées uniquement sur un Compte AWS identifiant, vous n'avez pas besoin de rédiger une politique personnalisée. Utilisez plutôt l'action Amazon SQS. [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)

Pour autoriser ou refuser l'accès en fonction de conditions spécifiques, telles que l'heure de la demande ou l'adresse IP du demandeur, vous devez créer une politique Amazon SQS personnalisée et la télécharger à l'aide [SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)de l'action.

**Topics**
+ [Architecture de contrôle d'accès](sqs-creating-custom-policies-architecture.md)
+ [Flux de travail des processus de contrôle d'accès](sqs-creating-custom-policies-process-workflow.md)
+ [Concepts clés du langage de la stratégie d'accès](sqs-creating-custom-policies-key-concepts.md)
+ [Logique d'évaluation du langage de la stratégie d'accès](sqs-creating-custom-policies-evaluation-logic.md)
+ [Relations entre les refus explicites et les refus par défaut](sqs-creating-custom-policies-relationships-between-explicit-default-denials.md)
+ [Limitations des politiques personnalisées](sqs-limitations-of-custom-policies.md)
+ [Exemples de langage de la stratégie d'accès personnalisé](sqs-creating-custom-policies-access-policy-examples.md)

# Architecture de contrôle d'accès Amazon SQS
<a name="sqs-creating-custom-policies-architecture"></a>

Le schéma suivant décrit le système de contrôle d'accès pour vos ressources Amazon SQS.

![\[Décrit le contrôle d'accès à vos ressources Amazon SQS.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/AccessPolicyLanguage_Arch_Overview.png)


![\[In the previous diagram, section number one.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png) Vous-même, le propriétaire de la ressource.

![\[In the previous diagram, section number two.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png)Vos ressources contenues dans le AWS service (par exemple, les files d'attente Amazon SQS).

![\[In the previous diagram, section number three.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png) Vos stratégies. Il est recommandé d'avoir une stratégie par ressource. Le AWS service fournit une API que vous utilisez pour télécharger et gérer vos politiques.

![\[In the previous diagram, section number four.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-4-red.png) Les demandeurs et leurs demandes entrantes au service AWS .

![\[In the previous diagram, section number five.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-5-red.png) Code d'évaluation du langage de la stratégie d'accès. Il s'agit de l'ensemble de code du AWS service qui évalue les demandes entrantes par rapport aux politiques applicables et détermine si le demandeur est autorisé à accéder à la ressource.

# Flux de travail des processus de contrôle d'accès Amazon SQS
<a name="sqs-creating-custom-policies-process-workflow"></a>

Le schéma suivant décrit le flux de travail général du contrôle d'accès avec le langage de la politique d'accès Amazon SQS.

![\[Le flux de travail général du contrôle d'accès avec le langage de politique d'accès Amazon SQS.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/AccessPolicyLanguage_Basic_Flow.png)


![\[Figure one in the previous diagram.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png) Vous écrivez une stratégie Amazon SQS pour votre file d'attente.

![\[Figure two in the previous diagram.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png)Vous téléchargez votre politique sur AWS. Le AWS service fournit une API que vous utilisez pour télécharger vos politiques. Par exemple, vous utilisez l'action Amazon SQS `SetQueueAttributes` pour importer une stratégie pour une file d'attente Amazon SQS spécifique.

![\[Figure three in the previous diagram.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png) Quelqu'un envoie une demande d'utilisation de votre file d'attente Amazon SQS.

![\[Figure four in the previous diagram.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-4-red.png) Amazon SQS examine toutes les stratégies Amazon SQS disponibles et détermine lesquelles sont applicables.

![\[Figure five in the previous diagram.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-5-red.png) Amazon SQS évalue les stratégies et détermine si le demandeur est autorisé à utiliser votre file d'attente.

![\[Figure six in the previous diagram.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-6-red.png) En fonction du résultat de l'évaluation de la stratégie, Amazon SQS renvoie une erreur `Access denied` au demandeur ou continue à traiter la demande.

# Concepts clés du langage de la stratégie d'accès Amazon SQS
<a name="sqs-creating-custom-policies-key-concepts"></a>

Pour écrire vos propres stratégies, vous devez être familiarisé avec le langage [JSON](http://json.org/) et un certain nombre de concepts clés.

**Allow**  <a name="allow"></a>
Résultat d'une [Instruction](#statement) dont l'[Effet](#effect) est défini sur `allow`.

**Action**  <a name="action"></a>
Activité que le [Principal](#principal) est autorisé à effectuer, généralement une demande à AWS.

**Default-deny**  <a name="default-deny"></a>
Résultat d'une [Instruction](#statement) ne disposant d'aucun paramètre [Allow](#allow) ou [Explicit-deny](#explicit-deny).

**Condition**  <a name="condition"></a>
Tout détail ou restriction concernant une [Autorisation](#permission). Les conditions typiques sont liées à la date et à l'heure, ainsi qu'aux adresses IP.

**Effet**  <a name="effect"></a>
Résultat que vous souhaitez que la [Instruction](#statement) d'une [Stratégie](#policy) renvoie au moment de l'évaluation. Vous spécifiez la valeur `deny` ou `allow` lorsque vous écrivez la déclaration de stratégie. Trois résultats sont possibles lors de l'évaluation de stratégie : [Default-deny](#default-deny), [Allow](#allow) ou [Explicit-deny](#explicit-deny).

**Explicit-deny**  <a name="explicit-deny"></a>
Résultat d'une [Instruction](#statement) dont l'[Effet](#effect) est défini sur `deny`.

**Evaluation**  <a name="evaluation"></a>
Processus utilisé par Amazon SQS pour déterminer si une demande entrante doit être refusée ou autorisée en fonction d'une [Stratégie](#policy).

**Emetteur**  <a name="issuer"></a>
Utilisateur qui écrit une [Stratégie](#policy) pour accorder des autorisations à une ressource. Par définition, l'émetteur est toujours le propriétaire de la ressource. AWS n'autorise pas les utilisateurs d'Amazon SQS à créer des politiques pour des ressources dont ils ne sont pas propriétaires.

**Clé**  <a name="key"></a>
Caractéristique spécifique à la base d'une restriction d'accès.

**Autorisation**  <a name="permission"></a>
Concept consistant à autoriser ou refuser l'accès à une ressource à l'aide d'une [Condition](#condition) et d'une [Clé](#key).

**Stratégie**  <a name="policy"></a>
Document jouant le rôle de conteneur pour une ou plusieurs **[déclarations](#statement)**.  

![\[La politique A contenant les déclarations 1 et 2 est équivalente à la politique A qui contient l'instruction 1 et à la politique B qui contient l'instruction 2.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/AccessPolicyLanguage_Statement_and_Policy.png)

Amazon SQS utilise la stratégie pour déterminer s'il convient d'autoriser un utilisateur à accéder à une ressource.

**Principal**  <a name="principal"></a>
Utilisateur qui reçoit l'[Autorisation](#permission) dans la [Stratégie](#policy).

**Ressource**  <a name="resource"></a>
Objet auquel le [Principal](#principal) demande l'accès.

**Instruction**  <a name="statement"></a>
Description formelle d'une autorisation unique, écrite dans le langage de la stratégie d'accès, dans le cadre d'un document de [Stratégie](#policy) plus vaste.

**Demandeur**  <a name="requester"></a>
Utilisateur qui envoie une demande d'accès à une [Ressource](#resource).

# Logique d'évaluation du langage de la stratégie d'accès Amazon SQS
<a name="sqs-creating-custom-policies-evaluation-logic"></a>

Au moment de l'évaluation, Amazon SQS détermine si une demande d'un utilisateur qui n'est pas le propriétaire de la ressource doit être autorisée ou refusée. La logique d'évaluation suit plusieurs règles de base :
+ Par défaut, toutes les demandes d'utilisation de votre ressource ne provenant pas de vous-même sont refusées.
+ La valeur *[Allow](sqs-creating-custom-policies-key-concepts.md#allow)* prévaut sur *[Default-deny](sqs-creating-custom-policies-key-concepts.md#default-deny)*.
+ La valeur *[Explicit-deny](sqs-creating-custom-policies-key-concepts.md#explicit-deny)* prévaut sur **allow**.
+ L'ordre dans lequel les stratégies sont évaluées n'a pas d'importance.

Le schéma suivant décrit en détail la façon dont Amazon SQS évalue les décisions relatives aux autorisations d'accès.

![\[Organigramme décrivant la manière dont Amazon SQS évalue les décisions relatives aux autorisations d'accès.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/AccessPolicyLanguage_Evaluation_Flow.png)


![\[In the previous diagram, number one.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png)La décision commence par un refus par défaut (**default-deny**).

![\[In the previous diagram, number two.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png) Le code d'application évalue toutes les stratégies qui s'appliquent à la demande (en se basant sur la ressource, le mandataire, l'action et les conditions). L'ordre dans lequel le code d'application évalue les stratégies n'a pas d'importance.

![\[In the previous diagram, number three.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png) Le code d'application recherche une instruction **explicit-deny** qui peut s'appliquer à la demande. S'il en trouve une, le code d'application renvoie une décision de type **deny** (refus) et le processus se termine.

![\[In the previous diagram, number four.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-4-red.png) En l'absence d'instruction **explicit-deny** (refus explicite), le code d'application recherche des instructions **allow** (autorisation) pouvant s'appliquer à la demande. S'il en trouve une, il renvoie une décision de type **allow** (autoriser) et le processus se termine (le service continue à traiter la demande).

![\[In the previous diagram, number five.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-5-red.png) Si aucune instruction **allow** n'est détectée, la décision finale est un refus (**deny**). En l'absence de refus explicite (**explicit-deny**) ou d'autorisation (**allow**), nous parlons d'un refus par défaut (**default-deny**).

# Relations entre les refus explicites et les refus par défaut dans le langage de la stratégie d'accès Amazon SQS
<a name="sqs-creating-custom-policies-relationships-between-explicit-default-denials"></a>

Si une stratégie Amazon SQS ne s'applique pas directement à une demande, celle-ci se conclut par un *[Default-deny](sqs-creating-custom-policies-key-concepts.md#default-deny)*. Par exemple, si un utilisateur demande l'autorisation d'utiliser Amazon SQS, mais que la seule stratégie qui s'applique à l'utilisateur indique qu'il peut utiliser DynamoDB, la demande se conclut par un **default-deny**.

Si une condition de la déclaration n'est pas respectée, la demande se conclut par un **default-deny**. Si toutes les conditions d'une déclaration sont respectées, la demande se conclut par une décision de type *[Allow](sqs-creating-custom-policies-key-concepts.md#allow)* ou *[Explicit-deny](sqs-creating-custom-policies-key-concepts.md#explicit-deny)*, en fonction de la valeur de l'élément *[Effet](sqs-creating-custom-policies-key-concepts.md#effect)* de la stratégie. Les stratégies ne spécifient pas comment procéder si une condition n'est pas respectée. Le résultat par défaut est donc un **default-deny** dans ce cas. Supposons par exemple que vous souhaitez refuser les demandes provenant de l'Antarctique. Vous créez une stratégie Policy A1 qui autorise une demande uniquement si elle ne provient pas de l'Antarctique. Le schéma suivant illustre la stratégie Amazon SQS.

![\[Politique A1, qui contient un effet égal à Autoriser et une condition égale à si la demande ne provient pas de l'Antarctique.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-security-custom-policy-allow-request-if-not-from-antarctica.png)


Si un utilisateur envoie une demande depuis les États-Unis, la condition est respectée (la demande ne provient pas de l'Antarctique) et la demande se conclut par une décision **allow**. Par contre, si un utilisateur envoie une demande depuis l'Antarctique, la condition n'est pas respectée et la demande se conclut par défaut par un **default-deny**. Vous pouvez modifier le résultat et le faire passer en **explicit-deny** en écrivant une stratégie Policy A2 qui refuse explicitement toute demande provenant de l'Antarctique. Le schéma suivant illustre la politique.

![\[Politique A2, qui contient un effet égal à un refus et une condition égale à si la demande provient de l'Antarctique.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-security-custom-policy-explicitly-deny-request-if-from-antarctica.png)


Si un utilisateur envoie une demande depuis l'Antarctique, la condition est remplie et la demande se conclut par un **explicit-deny**.

Il est important de bien faire la distinction entre un **default-deny** et un **explicit-deny**, car une décision **allow** peut prévaloir sur le premier mais pas sur le second. Par exemple, la stratégie Policy B autorise les demandes si elles arrivent le 1er juin 2010. Le schéma suivant compare l'association de cette stratégie avec une stratégie Policy A1 et une stratégie Policy A2.

![\[side-by-sideComparaison entre le scénario 1 et le scénario 2.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-security-custom-policy-compare-allow-request-deny-request-policies-override.png)


Dans le scénario 1, la stratégie Policy A1 se conclut par un **default-deny** et la stratégie Policy B par un **allow**, car la stratégie autorise les demandes qui arrivent le 1er juin 2010. L'autorisation **allow** de Policy B remplace le refus par défaut (**default-deny**) de Policy A1 et, par conséquent, la demande est autorisée.

Dans le scénario 2, la stratégie Policy B2 génère un **explicit-deny** et la stratégie Policy B génère une décision **allow**. Le refus explicite (**explicit-deny**) de Policy A2 remplace l'autorisation (**allow**) de Policy B et, par conséquent, la demande est refusée.

# Limites des politiques personnalisées d'Amazon SQS
<a name="sqs-limitations-of-custom-policies"></a>

## Accès intercomptes
<a name="sqs-cross-account-access"></a>

Les autorisations intercompte ne s'appliquent pas aux actions suivantes :
+ `[AddPermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)`
+ `[CancelMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CancelMessageMoveTask.html)`
+ `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)`
+ `[DeleteQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html)`
+ `[ListMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html)`
+ `[ListQueues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html)`
+ `[ListQueueTags](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html)`
+ `[RemovePermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_RemovePermission.html)`
+ `[SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)`
+ `[StartMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_StartMessageMoveTask.html)`
+ `[TagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_TagQueue.html)`
+ `[UntagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_UntagQueue.html)`

## Clés de condition
<a name="sqs-condition-keys"></a>

Actuellement, Amazon SQS prend en charge uniquement un sous-ensemble limité des [clés de condition disponibles dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys). Pour de plus amples informations, veuillez consulter [Autorisations d'API Amazon SQS : référence des actions et ressources](sqs-api-permissions-reference.md).

# Exemples de langage de la stratégie d'accès Amazon SQS personnalisé
<a name="sqs-creating-custom-policies-access-policy-examples"></a>

Voici des exemples classiques de stratégies d'accès Amazon SQS.

## Exemple 1 : Accorder une autorisation à un compte
<a name="one-account"></a>

L'exemple de stratégie Amazon SQS suivant accorde au compte Compte AWS 111122223333 l'autorisation d'envoyer et de recevoir la file d'attente `queue2` détenue par le compte Compte AWS 444455556666.

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

****  

```
{   
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase1",
   "Statement" : [{
      "Sid": "1", 
      "Effect": "Allow",           
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ], 
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2"  
   }]
}
```

------

## Exemple 2 : Accorder une autorisation à un ou plusieurs comptes
<a name="two-accounts"></a>

L'exemple suivant de politique Amazon SQS donne un ou plusieurs Comptes AWS accès aux files d'attente détenues par votre compte pendant une période spécifique. Il est nécessaire d'écrire cette stratégie et de la télécharger dans Amazon SQS à l'aide de l'action [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html), car l'action [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html) ne permet pas de spécifier une restriction de durée lors de l'octroi de l'accès à une file d'attente.

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

****  

```
{   
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase2",
   "Statement" : [{
      "Sid": "1", 
      "Effect": "Allow",           
      "Principal": {
         "AWS": [
            "111122223333",
            "444455556666"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ], 
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2",
      "Condition": {
         "DateLessThan": {
            "AWS:CurrentTime": "2009-06-30T12:00Z"
         }
      }   
   }]
}
```

------

## Exemple 3 : Accorder une autorisation à des demandes provenant d'instances Amazon EC2
<a name="requests-from-ec2"></a>

L'exemple de stratégie Amazon SQS suivant donne accès aux demandes provenant d'instances Amazon EC2. Cet exemple repose sur l'exemple « [Exemple 2 : Accorder une autorisation à un ou plusieurs comptes](#two-accounts) » : il restreint l'accès aux demandes envoyées avant le 30 juin 2009 à midi (UTC), ainsi qu'à la plage d'adresses IP `203.0.113.0/24`. Il est nécessaire d'écrire cette stratégie et de la télécharger dans Amazon SQS à l'aide de l'action [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html), car l'action [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html) ne permet pas de spécifier une restriction d'adresse IP lors de l'octroi de l'accès à une file d'attente.

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

****  

```
{   
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase3",
   "Statement" : [{
      "Sid": "1", 
      "Effect": "Allow",           
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ], 
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2",
      "Condition": {
         "DateLessThan": {
            "AWS:CurrentTime": "2009-06-30T12:00Z"
         },
         "IpAddress": {
            "AWS:SourceIp": "203.0.113.0/24"
         }
      }   
   }]
}
```

------

## Exemple 4 : Refus d'accès à un compte spécifique
<a name="deny-account"></a>

L'exemple suivant de politique Amazon SQS refuse un Compte AWS accès spécifique à votre file d'attente. Cet exemple s'appuie sur l'exemple « [Exemple 1 : Accorder une autorisation à un compte](#one-account) » : il refuse l'accès à ce qui est spécifié Compte AWS. Il est nécessaire d'écrire cette stratégie et de la télécharger dans Amazon SQS à l'aide de l'action [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html), car l'action [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html) ne permet pas de refuser l'accès à une file d'attente (elle permet uniquement d'accorder l'accès à une file d'attente). 

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

****  

```
{ 
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase4",
   "Statement" : [{
      "Sid": "1", 
      "Effect": "Deny",           
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ], 
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2"   
   }]
}
```

------

## Exemple 5 : Refuser l'accès s'il n'émane pas d'un point de terminaison de VPC
<a name="deny-not-from-vpc"></a>

L'exemple suivant de stratégie Amazon SQS restreint l'accès à `queue1` : 111122223333 peut effectuer les actions [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) et [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) uniquement à partir de l'ID de point de terminaison d'un VPC `vpce-1a2b3c4d` (spécifié à l'aide de la condition `aws:sourceVpce`). Pour de plus amples informations, veuillez consulter [Points de terminaison Amazon Virtual Private Cloud pour Amazon SQS](sqs-internetwork-traffic-privacy.md#sqs-vpc-endpoints).

**Note**  
La condition `aws:sourceVpce` ne requiert pas d'ARN pour la ressource du point de terminaison de VPC, uniquement l'ID du point de terminaison de VPC.
Vous pouvez modifier l'exemple suivant pour restreindre toutes les actions au point de terminaison d'un VPC spécifique en refusant toutes les actions Amazon SQS (`sqs:*`) dans la deuxième instruction. Toutefois, une telle déclaration de stratégie stipulerait que toutes les actions (y compris les actions administratives requises pour modifier les autorisations de la file d'attente) doivent être effectuées via le point de terminaison de VPC spécifique défini dans la stratégie, ce qui pourrait empêcher l'utilisateur de modifier les autorisations de la file d'attente par la suite.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase5",
   "Statement": [{
      "Sid": "1",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ],
         "Resource": "arn:aws:sqs:us-east-2:111122223333:queue1"
      },
      {
         "Sid": "2",
         "Effect": "Deny",
         "Principal": "*",
         "Action": [
            "sqs:SendMessage",
            "sqs:ReceiveMessage"
         ],
         "Resource": "arn:aws:sqs:us-east-2:111122223333:queue1",
         "Condition": {
            "StringNotEquals": {
               "aws:sourceVpce": "vpce-1a2b3c4d"
            }
         }
      }
   ]
}
```

------

# Utilisation d'informations d'identification de sécurité temporaires avec Amazon SQS
<a name="sqs-using-temporary-security-credentials"></a>

En plus de créer des utilisateurs dotés de leurs propres identifiants de sécurité, IAM vous permet également d'octroyer des identifiants de sécurité temporaires à n'importe quel utilisateur, lui permettant ainsi d'accéder à vos AWS services et ressources. Vous pouvez gérer les utilisateurs qui possèdent des Comptes AWS. Vous pouvez également gérer les utilisateurs de votre système qui n'en ont pas Comptes AWS (utilisateurs fédérés). En outre, les applications que vous créez pour accéder à vos AWS ressources peuvent également être considérées comme des « utilisateurs ».

Vous pouvez utiliser ces informations d'identification de sécurité temporaires pour effectuer des demandes à Amazon SQS. Les bibliothèques d'API calculent la valeur de signature nécessaire en utilisant ces informations d'identification pour authentifier votre demande. Si vous envoyez des demandes en utilisant des informations d'identification expirées, Amazon SQS les rejette.

**Note**  
Vous ne pouvez pas définir une stratégie en fonction d'informations d'identification temporaires.

## Conditions préalables
<a name="temporary-security-credentials-prerequisites"></a>

1. Utilisez IAM pour créer des informations d'identification de sécurité temporaires :
   + Jeton de sécurité
   + ID de clé d'accès
   + Clé d'accès secrète

1. Préparez votre chaîne pour signer avec l'ID de clé d'accès temporaire et le jeton de sécurité.

1. Utilisez la clé d'accès secrète temporaire au lieu de votre propre clé d'accès secrète pour signer votre demande d'API de requête.

**Note**  
Lorsque vous envoyez la demande d'API de requête signée, utilisez l'ID de clé d'accès temporaire au lieu de votre propre ID de clé d'accès, et incluez le jeton de sécurité. Pour plus d'informations sur la prise en charge par IAM des informations d'identification de sécurité temporaires, consultez la section [Accorder un accès temporaire à vos AWS ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/TokenBasedAuth.html) dans le guide de l'*utilisateur IAM*. 

## Pour appeler une action d'API de requête Amazon SQS à l'aide d'informations d'identification de sécurité temporaires
<a name="temporary-security-credentials-query-api"></a>

1. Demandez un jeton de sécurité temporaire en utilisant Gestion des identités et des accès AWS. Pour plus d'informations, consultez [Création d'informations d'identification de sécurité temporaires pour activer l'accès pour les utilisateurs IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/CreatingSessionTokens.html) dans le *Guide de l'utilisateur IAM*.

   IAM renvoie un jeton de sécurité, un ID de clé d'accès et une clé d'accès secrète.

1. Préparez votre requête en utilisant l'ID de clé d'accès temporaire à la place de votre propre ID de clé d'accès, et incluez le jeton de sécurité. Signez votre demande à l'aide de la clé d'accès secrète temporaire au lieu de la vôtre.

1. Soumettez votre chaîne de requête signée avec l'ID de clé d'accès temporaire et le jeton de sécurité.

   L'exemple suivant montre comment utiliser des informations d'identification de sécurité temporaires pour authentifier une demande Amazon SQS. La structure de *`AUTHPARAMS`* dépend de la signature de la demande d'API. Pour plus d'informations, consultez [Signing AWS API Requests](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) dans le *manuel Amazon Web Services General Reference*.

   ```
   https://sqs.us-east-2.amazonaws.com/
   ?Action=CreateQueue
   &DefaultVisibilityTimeout=40
   &QueueName=MyQueue
   &Attribute.1.Name=VisibilityTimeout
   &Attribute.1.Value=40
   &Expires=2020-12-18T22%3A52%3A43PST
   &SecurityToken=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   &AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE
   &Version=2012-11-05
   &AUTHPARAMS
   ```

   L'exemple suivant utilise des informations d'identification de sécurité temporaires pour envoyer deux messages à l'aide de l'action `SendMessageBatch`.

   ```
   https://sqs.us-east-2.amazonaws.com/
   ?Action=SendMessageBatch
   &SendMessageBatchRequestEntry.1.Id=test_msg_001
   &SendMessageBatchRequestEntry.1.MessageBody=test%20message%20body%201
   &SendMessageBatchRequestEntry.2.Id=test_msg_002
   &SendMessageBatchRequestEntry.2.MessageBody=test%20message%20body%202
   &SendMessageBatchRequestEntry.2.DelaySeconds=60
   &Expires=2020-12-18T22%3A52%3A43PST
   &SecurityToken=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
   &AWSAccessKeyId=AKIAI44QH8DHBEXAMPLE
   &Version=2012-11-05
   &AUTHPARAMS
   ```

# Gestion de l'accès pour les files d'attente Amazon SQS chiffrées avec des politiques de moindre privilège
<a name="sqs-least-privilege-policy"></a>

[Vous pouvez utiliser Amazon SQS pour échanger des données sensibles entre les applications à l'aide du chiffrement côté serveur (SSE) intégré àAWS Key Management Service (KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html). Grâce à l'intégration d'Amazon SQS AWS KMS, vous pouvez gérer de manière centralisée les clés qui protègent Amazon SQS, ainsi que les clés qui protègent vos autres ressources. AWS 

Plusieurs AWS services peuvent agir comme des sources d'événements qui envoient des événements à Amazon SQS. Pour permettre à une source d'événements d'accéder à la file d'attente cryptée Amazon SQS, vous devez configurer la file d'attente avec une clé gérée par le [client](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) AWS KMS . Utilisez ensuite la politique clé pour autoriser le service à utiliser les méthodes d' AWS KMS API requises. Le service requiert également des autorisations pour authentifier l'accès et permettre à la file d'attente d'envoyer des événements. Pour cela, vous pouvez utiliser une stratégie Amazon SQS, qui est basée sur les ressources que vous pouvez utiliser pour contrôler l'accès à la file d'attente Amazon SQS et à ses données.

Les sections suivantes fournissent des informations sur la manière de contrôler l'accès à votre file d'attente Amazon SQS chiffrée par le biais de la politique Amazon SQS et AWS KMS de la politique clé. Les stratégies décrites dans ce guide vous aideront à respecter le principe de [moindre privilège](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).

Ce guide décrit également comment les stratégies basées sur les ressources résolvent le [problème de député confus](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) en utilisant les clés contextuelles de condition IAM globales [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), [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) et [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid).

**Topics**
+ [

## Présentation de
](#sqs-least-privilege-overview)
+ [

## Stratégie de clé respectant le principe du moindre privilège pour Amazon SQS
](#sqs-least-privilege-use-case)
+ [

## Instructions de stratégie Amazon SQS relatives à la file d'attente de lettres mortes
](#sqs-policy-dlq)
+ [

## Prévention des problèmes de député confus entre services
](#sqs-confused-deputy-prevention)
+ [

## Utiliser IAM Access Analyzer pour examiner l'accès intercompte
](#sqs-cross-account-findings)

## Présentation de
<a name="sqs-least-privilege-overview"></a>

Dans cette rubrique, nous allons vous présenter un cas d'utilisation courant pour illustrer comment créer la stratégie de clé et la stratégie de file d'attente Amazon SQS. Ce cas d'utilisation est représenté dans l'image suivante.

![\[Publication de messages Amazon SNS sur Amazon SQS.\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-least-privilege.png)


Dans cet exemple, le producteur du message est une rubrique [Amazon Simple Notification Service (SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) configurée pour diffuser en éventail les messages vers votre file d'attente Amazon SQS chiffrée. Le consommateur de messages est un service informatique, tel qu'une fonction [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html), une instance [Amazon Elastic Compute Cloud (EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) ou un conteneur [AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html). Votre file d'attente Amazon SQS est ensuite configurée pour envoyer les messages en échec à une [file d'attente de lettres mortes (DLQ)](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html). Cela est utile pour le débogage de votre application ou de votre système de messagerie, car DLQs cela vous permet d'isoler les messages non consommés afin de déterminer pourquoi leur traitement a échoué. Dans la solution définie dans cette rubrique, un service de calcul tel qu'une fonction Lambda est utilisé pour traiter les messages stockés dans la file d'attente Amazon SQS. Si le destinataire du message se trouve dans un cloud privé virtuel (VPC), l'instruction de la stratégie [`DenyReceivingIfNotThroughVPCE`](#sqs-restrict-message-to-endpoint) incluse dans ce guide vous permet de limiter la réception des messages à ce VPC spécifique.

**Note**  
Ce guide contient uniquement les autorisations IAM requises sous forme d'instructions de stratégie. Pour élaborer la politique, vous devez ajouter les instructions à votre politique Amazon SQS ou à votre politique AWS KMS clé. Ce guide ne fournit pas d'instructions sur la façon de créer la file d'attente Amazon SQS ou la AWS KMS clé. Pour savoir comment créer ces ressources, consultez les sections [Création d'une file d'attente Amazon SQS](creating-sqs-standard-queues.md#step-create-standard-queue) et [Création de clés](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html).   
La stratégie Amazon SQS définie dans ce guide ne permet pas de rediriger les messages directement vers la même file d'attente Amazon SQS ou vers une autre. 

## Stratégie de clé respectant le principe du moindre privilège pour Amazon SQS
<a name="sqs-least-privilege-use-case"></a>

Dans cette section, nous décrivons les autorisations de moindre privilège requises AWS KMS pour la clé gérée par le client que vous utilisez pour chiffrer votre file d'attente Amazon SQS. Avec ces autorisations, vous pouvez limiter l'accès aux seules entités prévues en implémentant le moindre privilège. La stratégie de clé doit comprendre les instructions de stratégie suivantes, que nous décrivons en détail ci-dessous :
+ [Accorder des autorisations d'administrateur à la AWS KMS clé](#sqs-use-case-kms-admin-permissions)
+ [Accorde l'accès en lecture seule aux métadonnées de clés](#sqs-use-case-read-only-permissions)
+ [Accorder des autorisations KMS Amazon SNS à Amazon SNS pour la publication de messages dans la file d'attente](#sqs-use-case-publish-messages-permissions)
+ [Permettre aux consommateurs de déchiffrer les messages de la file d'attente](#sqs-use-case-decrypt-messages-permissions)

### Accorder des autorisations d'administrateur à la AWS KMS clé
<a name="sqs-use-case-kms-admin-permissions"></a>

Pour créer une AWS KMS clé, vous devez fournir des autorisations d' AWS KMS administrateur au rôle IAM que vous utilisez pour déployer la AWS KMS clé. Ces autorisations d'administrateur sont définies dans l'instruction de stratégie `AllowKeyAdminPermissions` suivante. Lorsque vous ajoutez cette déclaration à votre politique AWS KMS clé, assurez-vous de la *<admin-role ARN>* remplacer par le nom de ressource Amazon (ARN) du rôle IAM utilisé pour déployer la AWS KMS clé, gérer la AWS KMS clé, ou les deux. Il peut s'agir du rôle IAM de votre pipeline de déploiement ou du [rôle d'administrateur de votre organisation](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html) dans [AWS Organizations](https://aws.amazon.com/organizations/).

```
{
  "Sid": "AllowKeyAdminPermissions",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "<admin-role ARN>"
    ]
  },
  "Action": [
    "kms:Create*",
    "kms:Describe*",
    "kms:Enable*",
    "kms:List*",
    "kms:Put*",
    "kms:Update*",
    "kms:Revoke*",
    "kms:Disable*",
    "kms:Get*",
    "kms:Delete*",
    "kms:TagResource",
    "kms:UntagResource",
    "kms:ScheduleKeyDeletion",
    "kms:CancelKeyDeletion"
  ],
  "Resource": "*"
}
```

**Note**  
Dans une politique AWS KMS clé, la valeur de l'`Resource`élément doit être`*`, ce qui signifie « cette AWS KMS clé ». L'astérisque (`*`) identifie la AWS KMS clé à laquelle la politique clé est attachée.

### Accorde l'accès en lecture seule aux métadonnées de clés
<a name="sqs-use-case-read-only-permissions"></a>

Pour accorder à d'autres rôles IAM un accès en lecture seule à vos métadonnées de clés, ajoutez l'instruction `AllowReadAccessToKeyMetaData` à votre stratégie de clé. Par exemple, l'instruction suivante vous permet de répertorier toutes les AWS KMS clés de votre compte à des fins d'audit. Cette instruction accorde à l'utilisateur AWS root un accès en lecture seule aux métadonnées clés. Par conséquent, tout principal IAM du compte peut avoir accès aux métadonnées de clés lorsque ses stratégies basées sur l'identité disposent des autorisations répertoriées dans l'instruction suivante : `kms:Describe*`, `kms:Get*` et `kms:List*`. Assurez-vous de les remplacer *<account-ID>* par vos propres informations. 

```
{
  "Sid": "AllowReadAcesssToKeyMetaData",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "arn:aws:iam::<accountID>:root"
    ]
  },
  "Action": [
    "kms:Describe*",
    "kms:Get*",
    "kms:List*"
  ],
  "Resource": "*"
}
```

### Accorder des autorisations KMS Amazon SNS à Amazon SNS pour la publication de messages dans la file d'attente
<a name="sqs-use-case-publish-messages-permissions"></a>

Pour permettre à votre rubrique Amazon SNS de publier des messages dans votre file d'attente Amazon SQS chiffrée, ajoutez l'instruction de stratégie `AllowSNSToSendToSQS` à votre stratégie de clé. Cette déclaration accorde à Amazon SNS l'autorisation d'utiliser la AWS KMS clé pour publier dans votre file d'attente Amazon SQS. Assurez-vous de les remplacer *<account-ID>* par vos propres informations.

**Note**  
La déclaration `Condition` in the limite l'accès au seul service Amazon SNS sur le même AWS compte.

```
{
  "Sid": "AllowSNSToSendToSQS",
  "Effect": "Allow",
  "Principal": {
    "Service": [
      "sns.amazonaws.com"
    ]
  },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey"
  ],
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "aws:SourceAccount": "<account-id>"
    }
  }
}
```

### Permettre aux consommateurs de déchiffrer les messages de la file d'attente
<a name="sqs-use-case-decrypt-messages-permissions"></a>

L'instruction `AllowConsumersToReceiveFromTheQueue` suivante accorde au consommateur de messages Amazon SQS les autorisations requises pour déchiffrer les messages reçus de la file d'attente Amazon SQS chiffrée. Lorsque vous joignez la déclaration de politique, remplacez-la *<consumer's runtime role ARN>* par l'ARN du rôle d'exécution IAM du destinataire du message.

```
{
  "Sid": "AllowConsumersToReceiveFromTheQueue",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "<consumer's execution role ARN>"
    ]
  },
  "Action": [
    "kms:Decrypt"
  ],
  "Resource": "*"
}
```

### Stratégie Amazon SQS du moindre privilège
<a name="sqs-use-case-specific-policy"></a>

Cette section décrit les stratégies de file d'attente Amazon SQS relatives au moindre privilège pour le cas d'utilisation couvert par ce guide (par exemple, Amazon SNS vers Amazon SQS). La stratégie définie est conçue pour empêcher tout accès involontaire en utilisant à la fois des instructions `Deny` et `Allow`. Les instructions `Allow` donnent accès à l'entité ou aux entités prévues. Les instructions `Deny` évitent que d'autres entités indésirables n'accèdent à la file d'attente Amazon SQS, tout en excluant l'entité prévue dans la condition de stratégie.

La stratégie Amazon SQS inclut les instructions suivantes, que nous décrivons en détail ci-dessous :
+ [Restreindre les autorisations de gestion Amazon SQS](#sqs-use-case-restrict-permissions)
+ [Restreindre les actions de file d'attente Amazon SQS pour l'organisation spécifiée](#sqs-use-case-restrict-permissions-from-org)
+ [Accorder des autorisations Amazon SQS aux consommateurs](#sqs-use-grant-consumer-permissions)
+ [Application du chiffrement en transit](#sqs-encryption-in-transit)
+ [Limiter la transmission de messages à une rubrique Amazon SNS spécifique](#sqs-restrict-transmission-to-topic)
+ [(Facultatif) Restreindre la réception des messages au point de terminaison d'un VPC spécifique](#sqs-restrict-message-to-endpoint)

### Restreindre les autorisations de gestion Amazon SQS
<a name="sqs-use-case-restrict-permissions"></a>

L'instruction de stratégie `RestrictAdminQueueActions` suivante limite les autorisations de gestion Amazon SQS uniquement au(x) rôle(s) IAM que vous utilisez pour déployer la file d'attente, la gérer, ou les deux. Veillez à remplacer les *<placeholder values>* par vos propres informations. Spécifiez l'ARN du rôle IAM utilisé pour déployer la file d'attente Amazon SQS, ainsi que celui de tous ARNs les rôles d'administrateur devant disposer d'autorisations de gestion Amazon SQS. 

```
{
  "Sid": "RestrictAdminQueueActions",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": [
    "sqs:AddPermission",
    "sqs:DeleteQueue",
    "sqs:RemovePermission",
    "sqs:SetQueueAttributes"
  ],
  "Resource": "<SQS Queue ARN>",
  "Condition": {
    "StringNotLike": {
      "aws:PrincipalARN": [
        "arn:aws:iam::<account-id>:role/<deployment-role-name>",
        "<admin-role ARN>"
      ]
    }
  }
}
```

### Restreindre les actions de file d'attente Amazon SQS pour l'organisation spécifiée
<a name="sqs-use-case-restrict-permissions-from-org"></a>

Pour protéger vos ressources Amazon SQS contre tout accès externe (accès par une entité extérieure à votre [organisation AWS](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)), utilisez l'instruction suivante. Cette instruction limite l'accès à la file d'attente Amazon SQS pour l'organisation que vous spécifiez dans la `Condition`. Assurez-vous de le *<SQS queue ARN>* remplacer par l'ARN du rôle IAM utilisé pour déployer la file d'attente Amazon SQS, puis par *<org-id>* l'ID de votre organisation. 

```
{
  "Sid": "DenyQueueActionsOutsideOrg",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": [
    "sqs:AddPermission",
    "sqs:ChangeMessageVisibility",
    "sqs:DeleteQueue",
    "sqs:RemovePermission",
    "sqs:SetQueueAttributes",
    "sqs:ReceiveMessage"
  ],
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "StringNotEquals": {
      "aws:PrincipalOrgID": [
        "<org-id>"
      ]
    }
  }
}
```

### Accorder des autorisations Amazon SQS aux consommateurs
<a name="sqs-use-grant-consumer-permissions"></a>

Pour recevoir des messages de la file d'attente Amazon SQS, vous devez fournir les autorisations nécessaires au consommateur des messages. L'instruction de stratégie suivante accorde au consommateur spécifié les autorisations requises pour consommer les messages de la file d'attente Amazon SQS. Lorsque vous ajoutez cette déclaration à votre politique Amazon SQS, assurez-vous de la *<consumer's IAM runtime role ARN>* remplacer par l'ARN du rôle d'exécution IAM utilisé par le consommateur et *<SQS queue ARN>* par l'ARN du rôle IAM utilisé pour déployer la file d'attente Amazon SQS.

```
{
  "Sid": "AllowConsumersToReceiveFromTheQueue",
  "Effect": "Allow",
  "Principal": {
    "AWS": "<consumer's IAM execution role ARN>"
  },
  "Action": [
    "sqs:ChangeMessageVisibility",
    "sqs:DeleteMessage",
    "sqs:GetQueueAttributes",
    "sqs:ReceiveMessage"
  ],
  "Resource": "<SQS queue ARN>"
}
```

Pour éviter que d'autres entités ne reçoivent des messages de la file d'attente Amazon SQS, ajoutez l'instruction `DenyOtherConsumersFromReceiving` à la stratégie de file d'attente Amazon SQS. Cette instruction limite la consommation des messages au consommateur spécifié et n'autorise aucun autre consommateur à y avoir accès, même lorsque ses autorisations d'identité l'y autorisent. Assurez-vous de remplacer *<SQS queue ARN>* et *<consumer’s runtime role ARN>* par vos propres informations.

```
{
  "Sid": "DenyOtherConsumersFromReceiving",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": [
    "sqs:ChangeMessageVisibility",
    "sqs:DeleteMessage",
    "sqs:ReceiveMessage"
  ],
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "StringNotLike": {
      "aws:PrincipalARN": "<consumer's execution role ARN>"
    }
  }
}
```

### Application du chiffrement en transit
<a name="sqs-encryption-in-transit"></a>

L'instruction de stratégie `DenyUnsecureTransport` suivante oblige les consommateurs et les producteurs à utiliser des canaux sécurisés (connexions TLS) pour envoyer et recevoir des messages depuis la file d'attente Amazon SQS. Assurez-vous de le *<SQS queue ARN>* remplacer par l'ARN du rôle IAM utilisé pour déployer la file d'attente Amazon SQS.

```
{
  "Sid": "DenyUnsecureTransport",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": [
    "sqs:ReceiveMessage",
    "sqs:SendMessage"
  ],
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "Bool": {
      "aws:SecureTransport": "false"
    }
  }
}
```

### Limiter la transmission de messages à une rubrique Amazon SNS spécifique
<a name="sqs-restrict-transmission-to-topic"></a>

L'instruction de stratégie `AllowSNSToSendToTheQueue` suivante permet à la rubrique Amazon SNS spécifiée d'envoyer des messages à la file d'attente Amazon SQS. Assurez-vous de le *<SQS queue ARN>* remplacer par l'ARN du rôle IAM utilisé pour déployer la file d'attente Amazon SQS *<SNS topic ARN>* et par l'ARN de la rubrique Amazon SNS.

```
{
  "Sid": "AllowSNSToSendToTheQueue",
  "Effect": "Allow",
  "Principal": {
    "Service": "sns.amazonaws.com"
  },
  "Action": "sqs:SendMessage",
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "ArnLike": {
      "aws:SourceArn": "<SNS topic ARN>"
    }
  }
}
```

L'instruction de stratégie `DenyAllProducersExceptSNSFromSending` suivante empêche les autres producteurs d'envoyer des messages à la file d'attente. Remplacez *<SQS queue ARN>* et *<SNS topic ARN>* par vos propres informations.

```
{
  "Sid": "DenyAllProducersExceptSNSFromSending",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": "sqs:SendMessage",
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "ArnNotLike": {
      "aws:SourceArn": "<SNS topic ARN>"
    }
  }
}
```

### (Facultatif) Restreindre la réception des messages au point de terminaison d'un VPC spécifique
<a name="sqs-restrict-message-to-endpoint"></a>

Pour limiter la réception de messages au [point de terminaison d'un VPC](https://aws.amazon.com/about-aws/whats-new/2018/12/amazon-sqs-vpc-endpoints-aws-privatelink/) spécifique, ajoutez l'instruction de stratégie suivante à votre stratégie de file d'attente Amazon SQS. Cette instruction empêche un consommateur de messages de recevoir des messages de la file d'attente, sauf si les messages proviennent du point de terminaison d'un VPC souhaité. *<SQS queue ARN>*Remplacez-le par l'ARN du rôle IAM utilisé pour déployer la file d'attente Amazon SQS *<vpce\$1id>* et par l'ID du point de terminaison VPC.

```
{
  "Sid": "DenyReceivingIfNotThroughVPCE",
  "Effect": "Deny",
  "Principal": "*",
  "Action": [
    "sqs:ReceiveMessage"
  ],
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "StringNotEquals": {
      "aws:sourceVpce": "<vpce id>"
    }
  }
}
```

## Instructions de stratégie Amazon SQS relatives à la file d'attente de lettres mortes
<a name="sqs-policy-dlq"></a>

Ajoutez les instructions de stratégie suivantes, identifiées par leur ID d'instruction, à votre stratégie d'accès DLQ :
+ `RestrictAdminQueueActions`
+ `DenyQueueActionsOutsideOrg`
+ `AllowConsumersToReceiveFromTheQueue`
+ `DenyOtherConsumersFromReceiving`
+ `DenyUnsecureTransport`

Outre l'ajout des instructions de stratégie précédentes à votre stratégie d'accès DLQ, vous devez également ajouter une instruction pour restreindre la transmission de messages aux files d'attente Amazon SQS, comme décrit dans la section suivante.

### Restreindre la transmission de messages vers des files d'attente Amazon SQS
<a name="sqs-dlq-restrict-permissions"></a>

Pour restreindre l'accès aux files d'attente Amazon SQS provenant du même compte, ajoutez l'instruction de stratégie `DenyAnyProducersExceptSQS` suivante à la stratégie de file d'attente DLQ. Cette instruction ne limite pas la transmission de messages à une file d'attente spécifique, car vous devez déployer le DLQ avant de créer la file d'attente principale. Vous ne connaîtrez donc pas l'ARN Amazon SQS lorsque vous créerez le DLQ. Si vous devez limiter l'accès à une seule file d'attente Amazon SQS, modifiez `aws:SourceArn` dans la `Condition` avec l'ARN de votre file d'attente source Amazon SQS lorsque vous le connaîtrez.

```
{
  "Sid": "DenyAnyProducersExceptSQS",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": "sqs:SendMessage",
  "Resource": "<SQS DLQ ARN>",
  "Condition": {
    "ArnNotLike": {
      "aws:SourceArn": "arn:aws:sqs:<region>:<account-id>:*"
    }
  }
}
```

**Important**  
Les stratégies de file d'attente Amazon SQS définies dans ce guide ne limitent pas l'action `sqs:PurgeQueue` à un ou plusieurs rôles IAM spécifiques. L'action `sqs:PurgeQueue` vous permet de supprimer tous les messages de la file d'attente Amazon SQS. Vous pouvez également utiliser cette action pour modifier le format du message sans remplacer la file d'attente Amazon SQS. Lors du débogage d'une application, vous pouvez effacer la file d'attente Amazon SQS pour supprimer les messages potentiellement erronés. Lorsque vous testez l'application, vous pouvez générer un volume élevé de messages dans la file d'attente Amazon SQS, puis purger la file d'attente pour repartir à zéro avant de passer à la production. La raison pour laquelle cette action n'est pas limitée à un certain rôle est que ce rôle peut ne pas être connu lors du déploiement de la file d'attente Amazon SQS. Vous devrez ajouter cette autorisation à la stratégie basée sur l'identité du rôle pour pouvoir purger la file d'attente.

## Prévention des problèmes de député confus entre services
<a name="sqs-confused-deputy-prevention"></a>

Le [problème de député confus](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) est un problème de sécurité dans lequel une entité qui n'a pas l'autorisation d'effectuer une action peut contraindre une entité plus privilégiée à effectuer cette action. Pour éviter cela, AWS fournit des outils qui vous aident à protéger votre compte si vous fournissez à des tiers (comptes croisés) ou à d'autres AWS services (appelés interservices) un accès aux ressources de votre compte. Les instructions de stratégie de cette section peuvent vous aider à éviter le problème de député confus entre services.

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é pour utiliser ses autorisations afin d'agir sur les ressources d'un autre client de sorte qu'il n'y aurait pas accès autrement. Pour éviter ce problème, les stratégies basées sur les ressources définies dans cet article utilisent les clés contextuelles de condition IAM globales [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), [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) et [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid). Cela limite les autorisations dont dispose un service pour une ressource spécifique, un compte spécifique ou une organisation spécifique dans AWS Organizations.

## Utiliser IAM Access Analyzer pour examiner l'accès intercompte
<a name="sqs-cross-account-findings"></a>

Vous pouvez utiliser [AWS IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) pour examiner vos politiques de file d'attente Amazon SQS et vos politiques clés AWS KMS et vous avertir lorsqu'une file d'attente ou AWS KMS une clé Amazon SQS autorise l'accès à une entité externe. IAM Access Analyzer vous aide à identifier les [ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-resources.html) de votre organisation et de vos comptes partagés avec une entité située en dehors de la zone de confiance. Cette zone de confiance peut être un AWS compte ou l'organisation au sein d' AWS Organizations que vous spécifiez lorsque vous activez IAM Access Analyzer.

IAM Access Analyzer identifie les ressources partagées avec des acteurs externes en utilisant un raisonnement basé sur la logique pour analyser les politiques basées sur les ressources dans votre environnement. AWS Pour chaque instance d'une ressource qui est partagée en dehors de votre zone de confiance, Access Analyzer génère un résultat. Les [résultats](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-findings.html) comprennent des renseignements sur l'accès et le principal externe à qui il est accordé. Révisez les résultats pour déterminer si l'accès est intentionnel et sûr, ou s'il est non intentionnel et représente un risque pour la sécurité. En cas d'accès involontaire, consultez la stratégie concernée et corrigez-la. Consultez ce billet de [blog](https://aws.amazon.com/blogs/aws/identify-unintended-resource-access-with-aws-identity-and-access-management-iam-access-analyzer/) pour plus d'informations sur la manière dont AWS IAM Access Analyzer identifie les accès involontaires à vos ressources. AWS 

Pour plus d'informations sur AWS IAM Access Analyzer, consultez la documentation d'[AWS IAM Access](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) Analyzer.

# Autorisations d'API Amazon SQS : référence des actions et ressources
<a name="sqs-api-permissions-reference"></a>

Vous pouvez utiliser le tableau ci-dessous comme référence lorsque vous configurez le [Contrôle d’accès](security_iam_service-with-iam.md#access-control) et que vous écrivez des stratégies d'autorisation que vous pouvez associer à une identité IAM. Le tableau  chaque action d'Amazon Simple Queue Service, les actions correspondantes pour lesquelles vous pouvez accorder des autorisations pour effectuer l'action et la AWS ressource pour laquelle vous pouvez accorder les autorisations.

Spécifiez les actions dans le champ `Action` de la stratégie, et la valeur des ressources dans le champ `Resource` de la stratégie. Pour spécifier une action, utilisez le préfixe `sqs:` suivi du nom de l'action (par exemple, `sqs:CreateQueue`).

Amazon SQS prend actuellement en charge les [clés contextuelles de condition globales disponibles dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html).

Utilisez les barres de défilement pour voir le reste du tableau.


**API Amazon Simple Queue Service et autorisations requises pour les actions**  
<a name="sqs-api-and-required-permissions-for-actions-table"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-api-permissions-reference.html)