Exemples de politiques basées sur l'identité pour Amazon CloudFront - Amazon CloudFront

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 politiques basées sur l'identité pour Amazon CloudFront

Par défaut, les utilisateurs et les rôles ne sont pas autorisés à créer ou à modifier CloudFront des ressources. Ils ne peuvent pas non plus effectuer de tâches en utilisant le AWS Management Console, AWS Command Line Interface (AWS CLI) ou AWS API. Pour autoriser les utilisateurs à effectuer des actions sur les ressources dont ils ont besoin, un IAM administrateur peut créer des IAM politiques. L'administrateur peut ensuite ajouter les IAM politiques aux rôles, et les utilisateurs peuvent assumer les rôles.

Pour savoir comment créer une politique IAM basée sur l'identité à l'aide de ces exemples de documents de JSON stratégie, consultez la section Création de IAM politiques dans le guide de l'IAMutilisateur.

Pour plus de détails sur les actions et les types de ressources définis par CloudFront, y compris le format de ARNs pour chacun des types de ressources, consultez la section Actions, ressources et clés de condition pour Amazon CloudFront dans le Service Authorization Reference.

Bonnes pratiques en matière de politiques

Les politiques basées sur l'identité déterminent si quelqu'un peut créer, accéder ou supprimer CloudFront des ressources dans votre compte. Ces actions peuvent entraîner des frais pour votre Compte AWS. Lorsque vous créez ou modifiez des politiques basées sur l’identité, suivez ces instructions et recommandations :

  • Commencez AWS par les politiques gérées et passez aux autorisations du moindre privilège : pour commencer à accorder des autorisations à vos utilisateurs et à vos charges de travail, utilisez les politiques AWS gérées qui accordent des autorisations pour de nombreux cas d'utilisation courants. Ils sont disponibles dans votre Compte AWS. Nous vous recommandons de réduire davantage les autorisations en définissant des politiques gérées par les AWS clients spécifiques à vos cas d'utilisation. Pour plus d'informations, consultez les politiques AWS gérées ou les politiques AWS gérées pour les fonctions professionnelles dans le Guide de IAM l'utilisateur.

  • Appliquer les autorisations du moindre privilège : lorsque vous définissez des autorisations à IAM l'aide de politiques, accordez uniquement les autorisations nécessaires à l'exécution d'une 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 IAM pour appliquer des autorisations, consultez la section Politiques et autorisations IAM dans le guide de IAM l'utilisateur.

  • Utilisez des conditions dans IAM les politiques pour restreindre davantage l'accès : vous pouvez ajouter une condition à vos politiques pour limiter l'accès aux actions et aux ressources. Par exemple, vous pouvez rédiger une condition de politique pour spécifier que toutes les demandes doivent être envoyées en utilisantSSL. 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, voir Éléments IAM JSON de politique : Condition dans le guide de IAM l'utilisateur.

  • Utilisez IAM Access Analyzer pour valider vos IAM politiques afin de garantir des autorisations sécurisées et fonctionnelles. IAM Access Analyzer valide les politiques nouvelles et existantes afin qu'elles soient conformes au langage des IAM politiques (JSON) et IAM aux meilleures pratiques. IAMAccess Analyzer fournit plus de 100 vérifications des politiques et des recommandations exploitables pour vous aider à créer des politiques sécurisées et fonctionnelles. Pour plus d'informations, consultez la section Validation des politiques d'IAMAccess Analyzer dans le guide de IAM l'utilisateur.

  • Exiger l'authentification multifactorielle (MFA) : si vous avez un scénario qui nécessite des IAM utilisateurs ou un utilisateur root Compte AWS, activez-le MFA pour une sécurité supplémentaire. Pour exiger le MFA moment où les API opérations sont appelées, ajoutez MFA des conditions à vos politiques. Pour plus d'informations, consultez la section Configuration de l'APIaccès MFA protégé dans le Guide de l'IAMutilisateur.

Pour plus d'informations sur les meilleures pratiques en matière de sécuritéIAM, consultez la section Bonnes pratiques en matière de sécurité IAM dans le Guide de IAM l'utilisateur.

Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations

Cet exemple montre comment créer une politique qui permet aux IAM utilisateurs de consulter les politiques intégrées et gérées associées à leur identité d'utilisateur. Cette politique inclut les autorisations permettant d'effectuer cette action sur la console ou par programmation à l'aide du AWS CLI ou. AWS API

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

Autorisations d'accès CloudFront par programmation

Voici une politique d'autorisations. Le Sid, ou ID de l'instruction, est facultatif.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllCloudFrontPermissions", "Effect": "Allow", "Action": ["cloudfront:*"], "Resource": "*" } ] }

La politique accorde des autorisations pour effectuer toutes les CloudFront opérations, ce qui est suffisant pour y accéder CloudFront par programmation. Si vous utilisez la console pour y accéder CloudFront, consultezAutorisations requises pour utiliser la CloudFront console.

Pour obtenir la liste des actions et celles ARN que vous spécifiez pour accorder ou refuser l'autorisation d'utiliser chaque action, consultez la section Actions, ressources et clés de condition pour Amazon CloudFront dans le Service Authorization Reference.

Autorisations requises pour utiliser la CloudFront console

Pour accorder un accès complet à la CloudFront console, vous devez accorder les autorisations conformément à la politique d'autorisation suivante :

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "acm:ListCertificates", "cloudfront:*", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:GetMetricStatistics", "elasticloadbalancing:DescribeLoadBalancers", "iam:ListServerCertificates", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "waf:GetWebACL", "waf:ListWebACLs" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets", "s3:PutBucketPolicy" ], "Resource":"arn:aws:s3:::*" } ] }

Voici pourquoi les autorisations sont obligatoires :

acm:ListCertificates

Lorsque vous créez et mettez à jour des distributions à l'aide de la CloudFront console et que vous CloudFront souhaitez configurer pour exiger HTTPS entre le lecteur CloudFront et/ou l'origine, vous pouvez consulter une liste de ACM certificats. CloudFront

Cette autorisation n'est pas requise si vous n'utilisez pas la CloudFront console.

cloudfront:*

Permet d'effectuer toutes les CloudFront actions.

cloudwatch:DescribeAlarms et cloudwatch:PutMetricAlarm

Vous permet de créer et de visualiser CloudWatch des alarmes dans la CloudFront console. Voir aussi sns:ListSubscriptionsByTopic et sns:ListTopics.

Ces autorisations ne sont pas requises si vous n'utilisez pas la CloudFront console.

cloudwatch:GetMetricStatistics

CloudFront Rendons CloudWatch les métriques dans la CloudFront console.

Cette autorisation n'est pas requise si vous n'utilisez pas la CloudFront console.

elasticloadbalancing:DescribeLoadBalancers

Lorsque vous créez et mettez à jour des distributions, vous permet d'afficher la liste des équilibreurs de charge Elastic Load Balancing dans la liste des origines disponibles.

Cette autorisation n'est pas requise si vous n'utilisez pas la CloudFront console.

iam:ListServerCertificates

Lorsque vous créez et mettez à jour des distributions à l'aide de la CloudFront console et que vous CloudFront souhaitez configurer pour exiger HTTPS entre le lecteur et/ou CloudFront l'origine, vous permet de consulter la liste des certificats dans le magasin de IAM certificats. CloudFront

Cette autorisation n'est pas requise si vous n'utilisez pas la CloudFront console.

s3:ListAllMyBuckets

Lorsque vous créez et mettez à jour des distributions et RTMP, vous permet d'effectuer les opérations suivantes :

  • Afficher une liste des compartiments S3 dans la liste des origines disponibles

  • Afficher une liste de compartiments S3 dans lesquels vous pouvez enregistrer les journaux d'accès

Cette autorisation n'est pas requise si vous n'utilisez pas la CloudFront console.

S3:PutBucketPolicy

Lorsque vous créez ou mettez à jour des distributions qui restreignent l'accès aux compartiments S3, permet à un utilisateur de mettre à jour la politique de compartiment pour accorder l'accès à l'identité CloudFront d'accès d'origine. Pour de plus amples informations, veuillez consulter Utiliser une identité d'accès d'origine (ancienne, non recommandée).

Cette autorisation n'est pas requise si vous n'utilisez pas la CloudFront console.

sns:ListSubscriptionsByTopic et sns:ListTopics

Lorsque vous créez des CloudWatch alarmes dans la CloudFront console, cela vous permet de choisir un SNS sujet pour les notifications.

Ces autorisations ne sont pas requises si vous n'utilisez pas la CloudFront console.

waf:GetWebACL et waf:ListWebACLs

Permet d'afficher une liste de AWS WAF sites Web ACLs dans la CloudFront console.

Ces autorisations ne sont pas requises si vous n'utilisez pas la CloudFront console.

Exemples de politiques gérées par le client

Vous pouvez créer vos propres IAM politiques personnalisées pour autoriser les CloudFront API actions à effectuer. Vous pouvez associer ces politiques personnalisées aux IAM utilisateurs ou aux groupes qui nécessitent les autorisations spécifiées. Ces politiques fonctionnent lorsque vous utilisez le CloudFront API, le AWS SDKs, ou le AWS CLI. Les exemples suivants présentent des autorisations pour quelques cas d'utilisation courants. Pour connaître la politique qui accorde à un utilisateur un accès complet à CloudFront, voirAutorisations requises pour utiliser la CloudFront console.

Exemple 1 : Autoriser l'accès en lecture à toutes les distributions

La politique d'autorisation suivante accorde à l'utilisateur l'autorisation d'afficher toutes les distributions dans la CloudFront console :

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "acm:ListCertificates", "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListCloudFrontOriginAccessIdentities", "elasticloadbalancing:DescribeLoadBalancers", "iam:ListServerCertificates", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "waf:GetWebACL", "waf:ListWebACLs" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets" ], "Resource":"arn:aws:s3:::*" } ] }

Exemple 2 : Créer, mettre à jour et supprimer des distributions

La politique d'autorisation suivante permet aux utilisateurs de créer, de mettre à jour et de supprimer des distributions à l'aide de la CloudFront console :

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "acm:ListCertificates", "cloudfront:CreateDistribution", "cloudfront:DeleteDistribution", "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:UpdateDistribution", "cloudfront:ListCloudFrontOriginAccessIdentities", "elasticloadbalancing:DescribeLoadBalancers", "iam:ListServerCertificates", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "waf:GetWebACL", "waf:ListWebACLs" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets", "s3:PutBucketPolicy" ], "Resource":"arn:aws:s3:::*" } ] }

L'autorisation cloudfront:ListCloudFrontOriginAccessIdentities permet aux utilisateurs d'accorder automatiquement à une identité d'accès à l'origine existante l'autorisation d'accès aux objets dans un compartiment Amazon S3. Si vous souhaitez également que les utilisateurs puissent créer des identités d'accès à l'origine, vous devez également accorder l'autorisation cloudfront:CreateCloudFrontOriginAccessIdentity.

Exemple 3 : Autoriser la création et l'inventaire des invalidations

La politique d'autorisations suivante permet aux utilisateurs de créer et de répertorier des invalidations. Cela inclut l'accès en lecture aux CloudFront distributions, car vous créez et visualisez les invalidations en affichant d'abord les paramètres d'une distribution :

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "acm:ListCertificates", "cloudfront:GetDistribution", "cloudfront:GetStreamingDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListCloudFrontOriginAccessIdentities", "cloudfront:CreateInvalidation", "cloudfront:GetInvalidation", "cloudfront:ListInvalidations", "elasticloadbalancing:DescribeLoadBalancers", "iam:ListServerCertificates", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "waf:GetWebACL", "waf:ListWebACLs" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets" ], "Resource":"arn:aws:s3:::*" } ] }

Exemple 4 : Autoriser la création d'une distribution

La politique d'autorisation suivante accorde à l'utilisateur l'autorisation de créer et de répertorier des distributions dans la CloudFront console. Pour l'CreateDistributionaction, spécifiez le caractère générique (*) au Resource lieu d'un caractère générique pour la distribution ARN ()arn:aws:cloudfront::123456789012:distribution/*. Pour plus d'informations sur l'Resourceélément, voir Éléments IAM JSON de politique : ressource dans le guide de IAM l'utilisateur.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "cloudfront:CreateDistribution", "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "cloudfront:ListDistributions", "Resource": "*" } ] }