Esempi di policy basate sull'identità per Amazon CloudFront - Amazon CloudFront

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di policy basate sull'identità per Amazon CloudFront

Per impostazione predefinita, gli utenti e i ruoli non dispongono dell'autorizzazione per creare o modificare risorse. CloudFront Inoltre, non possono eseguire attività utilizzando AWS Management Console, AWS Command Line Interface (AWS CLI) o AWS l'API. Per concedere agli utenti l'autorizzazione a eseguire operazioni sulle risorse di cui hanno bisogno, un amministratore IAM può creare policy IAM. L'amministratore può quindi aggiungere le policy IAM ai ruoli e gli utenti possono assumere i ruoli.

Per informazioni su come creare una policy basata su identità IAM utilizzando questi documenti di policy JSON di esempio, consulta Creazione di policy IAM nella Guida per l'utente di IAM.

Per dettagli sulle azioni e sui tipi di risorse definiti da CloudFront, incluso il formato degli ARN per ogni tipo di risorsa, consulta Azioni, risorse e chiavi di condizione per Amazon CloudFront nel Service Authorization Reference.

Best practice per le policy

Le politiche basate sull'identità determinano se qualcuno può creare, accedere o eliminare CloudFront risorse nel tuo account. Queste azioni possono comportare costi aggiuntivi per l' Account AWS. Quando crei o modifichi policy basate su identità, segui queste linee guida e raccomandazioni:

  • Inizia con le policy AWS gestite e passa alle autorizzazioni con privilegi minimi: per iniziare a concedere autorizzazioni a utenti e carichi di lavoro, utilizza le politiche gestite che concedono le autorizzazioni per molti casi d'uso comuni.AWS Sono disponibili nel tuo. Account AWS Ti consigliamo di ridurre ulteriormente le autorizzazioni definendo politiche gestite dai AWS clienti specifiche per i tuoi casi d'uso. Per ulteriori informazioni, consulta Policy gestite da AWSo Policy gestite da AWS per le funzioni dei processi nella Guida per l'utente IAM.

  • Applica le autorizzazioni con privilegio minimo: quando imposti le autorizzazioni con le policy IAM, concedi solo le autorizzazioni richieste per eseguire un'attività. Puoi farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come autorizzazioni con privilegi minimi. Per ulteriori informazioni sull'utilizzo di IAM per applicare le autorizzazioni, consulta Policy e autorizzazioni in IAM nella Guida per l'utente IAM.

  • Condizioni d'uso nelle policy IAM per limitare ulteriormente l'accesso: per limitare l'accesso a operazioni e risorse puoi aggiungere una condizione alle tue policy. Ad esempio, è possibile scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzando SSL. Puoi anche utilizzare le condizioni per concedere l'accesso alle azioni del servizio se vengono utilizzate tramite uno specifico AWS servizio, ad esempio AWS CloudFormation. Per ulteriori informazioni, consulta la sezione Elementi delle policy JSON di IAM: condizione nella Guida per l'utente IAM.

  • Utilizzo di IAM Access Analyzer per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali: IAM Access Analyzer convalida le policy nuove ed esistenti in modo che aderiscano alla sintassi della policy IAM (JSON) e alle best practice di IAM. IAM Access Analyzer offre oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per ulteriori informazioni, consulta Convalida delle policy per IAM Access Analyzer nella Guida per l'utente IAM.

  • Richiedi l'autenticazione a più fattori (MFA): se hai uno scenario che richiede utenti IAM o un utente root nel Account AWS tuo, attiva l'MFA per una maggiore sicurezza. Per richiedere la MFA quando vengono chiamate le operazioni API, aggiungi le condizioni MFA alle policy. Per ulteriori informazioni, consulta Configurazione dell'accesso alle API protetto con MFA nella Guida per l'utente IAM.

Per maggiori informazioni sulle best practice in IAM, consulta Best practice di sicurezza in IAM nella Guida per l'utente di IAM.

Consentire agli utenti di visualizzare le loro autorizzazioni

Questo esempio mostra in che modo è possibile creare una policy che consente agli utenti IAM di visualizzare le policy inline e gestite che sono cpllegate alla relativa identità utente. Questa policy include le autorizzazioni per completare questa azione sulla console o utilizzando programmaticamente l'API o. AWS CLI 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": "*" } ] }

Autorizzazioni per l'accesso programmatico CloudFront

Di seguito viene illustrata una policy di autorizzazione. Il Sid, o ID dichiarazione, è facoltativo.

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

La politica concede le autorizzazioni per eseguire tutte le CloudFront operazioni, il che è sufficiente per accedere a livello di codice. CloudFront Se utilizzi la console per accedere, consulta. CloudFront Autorizzazioni necessarie per utilizzare la console CloudFront

Per un elenco di azioni e l'ARN che specifichi per concedere o negare l'autorizzazione a utilizzare ciascuna azione, consulta Azioni, risorse e chiavi di condizione per Amazon CloudFront nel Service Authorization Reference.

Autorizzazioni necessarie per utilizzare la console CloudFront

Per concedere l'accesso completo alla CloudFront console, concedi le autorizzazioni nella seguente politica di autorizzazione:

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

Di seguito viene descritto perché le autorizzazioni sono necessarie:

acm:ListCertificates

Quando crei e aggiorni distribuzioni utilizzando la CloudFront console e desideri configurare CloudFront in modo che richieda HTTPS tra il visualizzatore CloudFront e/o tra CloudFront e l'origine, ti consente di visualizzare un elenco di certificati ACM.

Questa autorizzazione non è richiesta se non utilizzi la CloudFront console.

cloudfront:*

Consente di eseguire tutte le CloudFront azioni.

cloudwatch:DescribeAlarms e cloudwatch:PutMetricAlarm

Consente di creare e visualizzare CloudWatch allarmi nella CloudFront console. Consulta anche sns:ListSubscriptionsByTopic e sns:ListTopics.

Queste autorizzazioni non sono necessarie se non utilizzi la CloudFront console.

cloudwatch:GetMetricStatistics

Consente di CloudFront eseguire il rendering CloudWatch delle metriche nella CloudFront console.

Questa autorizzazione non è richiesta se non utilizzi la CloudFront console.

elasticloadbalancing:DescribeLoadBalancers

Durante la creazione e l'aggiornamento delle distribuzioni, consente di visualizzare un elenco di load balancer di Elastic Load Balancing nell'elenco delle origini disponibili.

Questa autorizzazione non è richiesta se non utilizzi la CloudFront console.

iam:ListServerCertificates

Quando crei e aggiorni distribuzioni utilizzando la CloudFront console e desideri configurare CloudFront in modo che richieda HTTPS tra il visualizzatore CloudFront e/o tra CloudFront e l'origine, ti consente di visualizzare un elenco di certificati nell'archivio certificati IAM.

Questa autorizzazione non è richiesta se non utilizzi la CloudFront console.

s3:ListAllMyBuckets

Quando crei e aggiorni distribuzioni, ti consente di eseguire le seguenti operazioni:

  • Visualizzare un elenco di bucket S3 nell'elenco di origini disponibili

  • Visualizzare un elenco di bucket S3 in cui salvare log di accesso

Questa autorizzazione non è richiesta se non utilizzi la CloudFront console.

S3:PutBucketPolicy

Quando crei o aggiorni distribuzioni che limitano l'accesso ai bucket S3, consente a un utente di aggiornare la policy del bucket per concedere l'accesso all'identità di accesso di origine. CloudFront Per ulteriori informazioni, consulta Usa un'identità di accesso all'origine (legacy, non consigliata).

Questa autorizzazione non è richiesta se non utilizzi la console. CloudFront

sns:ListSubscriptionsByTopic e sns:ListTopics

Quando crei CloudWatch allarmi nella CloudFront console, ti consente di scegliere un argomento SNS per le notifiche.

Queste autorizzazioni non sono necessarie se non si utilizza la console. CloudFront

waf:GetWebACL e waf:ListWebACLs

Consente di visualizzare un elenco di ACL AWS WAF Web nella CloudFront console.

Queste autorizzazioni non sono necessarie se non si utilizza la CloudFront console.

Esempi di policy gestite dal cliente

Puoi creare policy IAM personalizzate per consentire le autorizzazioni per le azioni CloudFront API. È possibile allegare queste policy personalizzate agli utenti o ai gruppi IAM che hanno bisogno delle autorizzazioni specificate. Queste politiche funzionano quando utilizzi l' CloudFront API, gli AWS SDK o il. AWS CLI I seguenti esempi mostrano autorizzazioni per alcuni casi d'utilizzo comuni. Per la politica che garantisce a un utente l'accesso completo a CloudFront, vedi. Autorizzazioni necessarie per utilizzare la console CloudFront

Esempio 1: autorizzazione per accedere in lettura a tutte le distribuzioni

La seguente politica di autorizzazioni concede all'utente le autorizzazioni per visualizzare tutte le distribuzioni nella console: CloudFront

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

Esempio 2: autorizzazione per la creazione, l’aggiornamento e l’eliminazione di distribuzioni

La seguente politica di autorizzazioni consente agli utenti di creare, aggiornare ed eliminare le distribuzioni utilizzando la console: CloudFront

{ "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'autorizzazione cloudfront:ListCloudFrontOriginAccessIdentities consente agli utenti di concedere automaticamente a un'identità di accesso origine l'autorizzazione ad accedere agli oggetti in un bucket Amazon S3. Se vuoi che gli utenti siano in grado di creare identità di accesso origine, devi concedere anche l'autorizzazione cloudfront:CreateCloudFrontOriginAccessIdentity.

Esempio 3: autorizzazione per creare ed elencare invalidamenti

La policy di autorizzazione seguente consente agli utenti di creare ed elencare invalidamenti. Include l'accesso in lettura alle CloudFront distribuzioni perché è possibile creare e visualizzare le invalidazioni visualizzando prima le impostazioni di una distribuzione:

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

Esempio 4: consenti la creazione di una distribuzione

La seguente politica di autorizzazione concede all'utente l'autorizzazione a creare ed elencare le distribuzioni nella CloudFront console. Per l'CreateDistributionazione, specificate il carattere jolly (*) Resource invece di un carattere jolly per la distribuzione ARN (). arn:aws:cloudfront::123456789012:distribution/* Per ulteriori informazioni sull'Resourceelemento, consulta IAM JSON Policy elements: Resource in the IAM User Guide.

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