

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.

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

------