Exemples de politique basée sur l'identité d'Amazon Pinpoint - Amazon Pinpoint

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 politique basée sur l'identité d'Amazon Pinpoint

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

Pour apprendre à créer une politique basée sur l’identité IAM à l’aide de ces exemples de documents de politique JSON, veuillez consulter Création de politiques dans l’onglet JSON dans le Guide de l’utilisateur IAM.

Bonnes pratiques en matière de politiques

Les politiques basées sur l'identité déterminent si une personne peut créer, consulter ou supprimer des ressources Amazon Pinpoint 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 ou politiques gérées par AWS pour les activités professionnelles 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 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 AWS CloudFormation. Pour plus d’informations, consultez Conditions pour éléments de politique JSON IAM 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 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 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 dans le Guide de l’utilisateur IAM.

Utilisation de la console Amazon Pinpoint

Pour accéder à la console Amazon Pinpoint, 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 Pinpoint de votre AWS compte. Si vous créez une stratégie basée sur l'identité qui applique des autorisations plus restrictives que l'ensemble minimum d'autorisations requis, la console ne fonctionnera pas comme prévu pour les entités (utilisateurs et rôles) tributaires de cette stratégie. Pour vous assurer que ces entités peuvent utiliser la console Amazon Pinpoint, attachez une stratégie aux entités. Pour plus d’informations, consultez Ajout d’autorisations à un utilisateur dans le Guide de l’utilisateur IAM.

L'exemple de politique suivant fournit un accès en lecture seule à la console Amazon Pinpoint dans une région spécifique. AWS Il inclut un accès en lecture seule à d'autres services dont dépend la console Amazon Pinpoint, tels qu'Amazon Simple Email Service (Amazon SES), IAM et Amazon Kinesis.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UseConsole", "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": "arn:aws:mobiletargeting:region:accountId:*" }, { "Effect": "Allow", "Action": [ "firehose:ListDeliveryStreams", "iam:ListRoles", "kinesis:ListStreams", "s3:List*", "ses:Describe*", "ses:Get*", "ses:List*", "sns:ListTopics" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" } } } ] }

Dans l'exemple de politique précédent, remplacez region par le nom d'une AWS région et remplacez accountId par votre identifiant de AWS compte.

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.

Exemple : accès à un seul projet Amazon Pinpoint

Vous pouvez également créer des stratégies en lecture seule qui permettent d'accéder uniquement à des projets spécifiques. L'exemple de stratégie suivant permet à des utilisateurs de se connecter à la console et d'afficher une liste des projets. Il permet également aux utilisateurs d'afficher des informations sur les ressources liées à d'autres services AWS dont dépend la console Amazon Pinpoint, tels que Amazon SES, IAM et Amazon Kinesis. Toutefois, la stratégie permet aux utilisateurs d'afficher des informations supplémentaires uniquement sur le projet spécifié dans la stratégie. Vous pouvez modifier cette politique pour autoriser l'accès à d'autres projets ou AWS régions.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewProject", "Effect": "Allow", "Action": "mobiletargeting:GetApps", "Resource": "arn:aws:mobiletargeting:region:accountId:*" }, { "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": [ "arn:aws:mobiletargeting:region:accountId:apps/projectId", "arn:aws:mobiletargeting:region:accountId:apps/projectId/*", "arn:aws:mobiletargeting:region:accountId:reports" ] }, { "Effect": "Allow", "Action": [ "ses:Get*", "kinesis:ListStreams", "firehose:ListDeliveryStreams", "iam:ListRoles", "ses:List*", "sns:ListTopics", "ses:Describe*", "s3:List*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" } } } ] }

Dans l'exemple précédent, remplacez region par le nom d'une AWS région, remplacez accountId par votre identifiant de AWS compte et remplacez projectId par l'ID du projet Amazon Pinpoint auquel vous souhaitez donner accès.

De même, vous pouvez créer des politiques qui accordent à un utilisateur de votre AWS compte un accès en écriture limité à l'un de vos projets Amazon Pinpoint, par exemple le projet qui possède l'ID du 810c7aab86d42fb2b56c8c966example projet. Dans ce cas, vous souhaitez autoriser l'utilisateur à afficher, ajouter et mettre à jour des composants de projet, tels que des segments et des campagnes, mais pas à supprimer des composants.

Outre l'octroi d'autorisations pour les actions mobiletargeting:Get et mobiletargeting:List, créez une stratégie qui accorde des autorisations pour les actions suivantes : mobiletargeting:Create, mobiletargeting:Update et mobiletargeting:Put. Il s'agit des autorisations supplémentaires requises pour créer et gérer la plupart des composants du projet. Par exemple :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LimitedWriteProject", "Effect": "Allow", "Action": "mobiletargeting:GetApps", "Resource": "arn:aws:mobiletargeting:region:accountId:*" }, { "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*", "mobiletargeting:Create*", "mobiletargeting:Update*", "mobiletargeting:Put*" ], "Resource": [ "arn:aws:mobiletargeting:region:accountId:apps/810c7aab86d42fb2b56c8c966example", "arn:aws:mobiletargeting:region:accountId:apps/810c7aab86d42fb2b56c8c966example/*", "arn:aws:mobiletargeting:region:accountId:reports" ] }, { "Effect": "Allow", "Action": [ "ses:Get*", "kinesis:ListStreams", "firehose:ListDeliveryStreams", "iam:ListRoles", "ses:List*", "sns:ListTopics", "ses:Describe*", "s3:List*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" } } } ] }

Exemple : affichage des ressources Amazon Pinpoint en fonction des balises

Vous pouvez utiliser des conditions dans une stratégie basée sur l'identité pour contrôler l'accès aux ressources Amazon Pinpoint en fonction des balises. Cet exemple de stratégie montre comment vous pouvez créer ce type de stratégie pour autoriser l'affichage des ressources Amazon Pinpoint. Toutefois, l'autorisation est accordée uniquement si la balise de ressource Owner a la valeur du nom d'utilisateur de cet utilisateur. Cette politique accorde également les autorisations nécessaires pour réaliser cette action sur la console.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListResources", "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": "*" }, { "Sid": "ViewResourceIfOwner", "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": "arn:aws:mobiletargeting:*:*:*", "Condition": { "StringEquals": { "aws:ResourceTag/Owner": "userName" }, "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:mobiletargeting:region:accountId:*" } } } ] }

Vous pouvez attacher ce type de stratégie aux utilisateurs de votre compte. Si un utilisateur nommé richard-roe tente d'afficher une ressource Amazon Pinpoint, la ressource doit être balisée Owner=richard-roe ou owner=richard-roe. Dans le cas contraire, l'utilisateur se voit refuser l'accès. La clé de condition d'étiquette Owner correspond à la fois à Owner et à owner, car les noms de clé de condition ne sont pas sensibles à la casse. Pour plus d’informations, consultez Conditions pour éléments de politique JSON IAM dans le Guide de l’utilisateur IAM.

Exemple : autoriser des utilisateurs à afficher leurs propres autorisations

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

Exemples : octroi de l'accès aux actions d'API Amazon Pinpoint

Cette section fournit des exemples de stratégie permettant d'accéder aux fonctionnalités disponibles à partir de l'API Amazon Pinpoint, API principale pour Amazon Pinpoint. Pour en savoir plus sur cette API, consultez la Référence de l'API Amazon Pinpoint.

Accès en lecture seule

L'exemple de politique suivant autorise l'accès en lecture seule à toutes les ressources de votre compte Amazon Pinpoint dans une région spécifique. AWS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewAllResources", "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": "arn:aws:mobiletargeting:region:accountId:*" } ] }

Dans l'exemple précédent, remplacez region par le nom d'une AWS région et remplacez accountId par votre identifiant de AWS compte.

Accès administrateur

L'exemple de stratégie suivant autorise un accès complet à toutes les actions et ressources Amazon Pinpoint de votre compte Amazon Pinpoint :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FullAccess", "Effect": "Allow", "Action": [ "mobiletargeting:*" ], "Resource": "arn:aws:mobiletargeting:region:accountId:*" } ] }

Dans l'exemple précédent, remplacez accountId par votre identifiant de AWS compte.

Exemples : octroi de l'accès aux actions d'API SMS et voix Amazon Pinpoint

Cette section fournit des exemples de stratégie permettant d'accéder aux fonctionnalités disponibles à partir de l'API SMS et voix Amazon Pinpoint. Il s'agit d'une API supplémentaire qui fournit des options avancées pour l'utilisation et la gestion des canaux SMS et vocaux dans Amazon Pinpoint. Pour en savoir plus sur cette API, consultez la référence de l'API Amazon Pinpoint de messages SMS et vocaux.

Accès en lecture seule

L'exemple de politique suivant autorise l'accès en lecture seule à toutes les actions et ressources de l'API Amazon Pinpoint SMS et Voice de votre compte : AWS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMSVoiceReadOnly", "Effect": "Allow", "Action": [ "sms-voice:Get*", "sms-voice:List*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:sms-voice:region:accountId:*" } } } ] }

Accès administrateur

L'exemple de politique suivant permet un accès complet à toutes les actions et ressources de l'API Amazon Pinpoint SMS et Voice de votre AWS compte :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMSVoiceFullAccess", "Effect": "Allow", "Action": [ "sms-voice:*", ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:sms-voice:region:accountId:*" } } } ] }

Exemple : restriction de l'accès d'un projet Amazon Pinpoint à des adresses IP spécifiques

L'exemple de politique suivant accorde à tout utilisateur l'autorisation d'effectuer une action Amazon Pinpoint sur un projet spécifique ()projectId. Toutefois, la demande doit provenir de la plage d'adresses IP spécifiée dans la condition.

La condition de cette déclaration identifie la 54.240.143.* plage d'adresses du protocole Internet version 4 (IPv4) autorisées, à une exception près :54.240.143.188. Le Condition bloc utilise les NotIpAddress conditions IpAddress et et la clé de aws:SourceIp condition, qui est une clé AWS de condition étendue. Pour plus d'informations sur ces clés de condition, consultez Spécification des conditions dans une stratégie dans le Guide de l'utilisateur IAM. Les aws:SourceIp IPv4 valeurs utilisent la notation CIDR standard. Pour en savoir plus, consultez Opérateurs de condition d'adresse IP dans le guide de l'utilisateur IAM.

{ "Version":"2012-10-17", "Id":"AMZPinpointPolicyId1", "Statement":[ { "Sid":"IPAllow", "Effect":"Allow", "Principal":"*", "Action":"mobiletargeting:*", "Resource":[ "arn:aws:mobiletargeting:region:accountId:apps/projectId", "arn:aws:mobiletargeting:region:accountId:apps/projectId/*" ], "Condition":{ "IpAddress":{ "aws:SourceIp":"54.240.143.0/24" }, "NotIpAddress":{ "aws:SourceIp":"54.240.143.188/32" } } } ] }

Exemple : restriction de l'accès Amazon Pinpoint en fonction des balises

L'exemple de politique suivant accorde des autorisations pour effectuer n'importe quelle action Amazon Pinpoint sur un projet spécifique ()projectId. Toutefois, les autorisations ne sont accordées que si la demande provient d'un utilisateur dont le nom est une valeur dans la balise de ressource Owner pour le projet, comme spécifié dans la condition.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ModifyResourceIfOwner", "Effect": "Allow", "Action": "mobiletargeting:*", "Resource": [ "arn:aws:mobiletargeting:region:accountId:apps/projectId", "arn:aws:mobiletargeting:region:accountId:apps/projectId/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Owner": "userName" } } } ] }

Exemple : autoriser Amazon Pinpoint à envoyer des e-mails en utilisant des identités vérifiées dans Amazon SES

Lorsque vous vérifiez une identité e-mail (telle qu'une adresse e-mail ou un domaine) via la console Amazon Pinpoint, cette identité est automatiquement configurée afin qu'elle puisse être utilisée à la fois par Amazon Pinpoint et Amazon SES. Toutefois, si vous vérifiez une identité e-mail via Amazon SES et que vous souhaitez utiliser cette identité avec Amazon Pinpoint, vous devez appliquer une politique à cette identité.

L'exemple de politique suivant accorde à Amazon Pinpoint l'autorisation d'envoyer des e-mails en utilisant une identité e-mail vérifiée via Amazon SES.

{ "Version":"2008-10-17", "Statement":[ { "Sid":"PinpointEmail", "Effect":"Allow", "Principal":{ "Service":"pinpoint.amazonaws.com" }, "Action":"ses:*", "Resource":"arn:aws:ses:region:accountId:identity/emailId", "Condition":{ "StringEquals":{ "aws:SourceAccount":"accountId" }, "StringLike":{ "aws:SourceArn":"arn:aws:mobiletargeting:region:accountId:apps/*" } } } ] }

Si vous utilisez Amazon Pinpoint dans la région AWS GovCloud (ouest des États-Unis), utilisez plutôt l'exemple de politique suivant :

{ "Version":"2008-10-17", "Statement":[ { "Sid":"PinpointEmail", "Effect":"Allow", "Principal":{ "Service":"pinpoint.amazonaws.com" }, "Action":"ses:*", "Resource":"arn:aws-us-gov:ses:us-gov-west-1:accountId:identity/emailId", "Condition":{ "StringEquals":{ "aws:SourceAccount":"accountId" }, "StringLike":{ "aws:SourceArn":"arn:aws-us-gov:mobiletargeting:us-gov-west-1:accountId:apps/*" } } } ] }