

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