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. Per concedere agli utenti l’autorizzazione a eseguire azioni sulle risorse di cui hanno bisogno, un amministratore IAM può creare policy IAM.

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

Per dettagli sulle azioni e sui tipi di risorse definiti da CloudFront, incluso il formato di ARNs 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 si creano o modificano policy basate sull’identità, seguire 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 maggiori informazioni, consulta Policy gestite da AWS o Policy gestite da AWS per le funzioni dei processi nella Guida per l’utente di IAM.

  • Applicazione delle autorizzazioni con privilegio minimo - Quando si impostano le autorizzazioni con le policy IAM, concedere solo le autorizzazioni richieste per eseguire un’attività. È possibile farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come autorizzazioni con privilegio minimo. Per maggiori informazioni sull’utilizzo di IAM per applicare le autorizzazioni, consulta Policy e autorizzazioni in IAM nella Guida per l’utente di IAM.

  • Condizioni d’uso nelle policy IAM per limitare ulteriormente l’accesso - Per limitare l’accesso ad azioni e risorse è possibile aggiungere una condizione alle 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 Servizio AWS, ad esempio CloudFormation. Per maggiori informazioni, consultare la sezione Elementi delle policy JSON di IAM: condizione nella Guida per l’utente di IAM.

  • Utilizzo dello strumento di analisi degli accessi IAM per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali - Lo strumento di analisi degli accessi IAM convalida le policy nuove ed esistenti in modo che aderiscano al linguaggio (JSON) della policy IAM e alle best practice di IAM. Lo strumento di analisi degli accessi IAM offre oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per maggiori informazioni, consultare Convalida delle policy per il Sistema di analisi degli accessi IAM nella Guida per l’utente di 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, aggiungere le condizioni MFA alle policy. Per maggiori informazioni, consultare Protezione dell’accesso API con MFA nella Guida per l’utente di 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 collegate 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.

JSON
{ "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:

JSON
{ "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 console di CloudFront.

cloudwatch:GetMetricStatistics

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

Questa autorizzazione non è richiesta se non si utilizza la CloudFront console.

elasticloadbalancing:DescribeLoadBalancers

Durante la creazione e l'aggiornamento delle distribuzioni, consente di visualizzare un elenco di sistemi di bilanciamento del carico ELB nell'elenco delle origini disponibili.

Questa autorizzazione non è richiesta se non si utilizza la console. CloudFront

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 a bucket S3, consente a un utente di aggiornare le policy di bucket per concedere l'accesso all'identità di accesso origine di CloudFront. Per ulteriori informazioni, consulta Utilizzo di un’identità di accesso origine (legacy, non consigliata).

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

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 utilizzi la console di CloudFront.

waf:GetWebACL e waf:ListWebACLs

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

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

Azioni che richiedono solo l'autorizzazione per la console CloudFront

È possibile eseguire le seguenti CloudFront azioni nella pagina CloudFront Security Savings Bundle. Le seguenti azioni API non sono destinate a essere richiamate dal codice e non sono incluse in AWS CLI and AWS SDKs.

Azione Description

CreateSavingsPlan

Concede l’autorizzazione per creare un nuovo Savings Plan.

GetSavingsPlan

Concede l’autorizzazione per ottenere un Savings Plan.

ListRateCards

Concede l'autorizzazione a inserire le schede CloudFront tariffarie relative all'account.

ListSavingsPlans

Concede l’autorizzazione per elencare i Savings Plans nell’account.

ListUsages

Concede l'autorizzazione all'utilizzo delle liste CloudFront .

UpdateSavingsPlan

Concede l’autorizzazione per aggiornare un Savings Plan.

Note
  • Per ulteriori informazioni sui piani di CloudFront risparmio, consulta la sezione CloudFront Security Savings Bundle di Amazon CloudFront FAQs.

  • Se crei un piano di risparmio per CloudFront e poi desideri eliminarlo in un secondo momento, contatta Supporto AWS.

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 AWS SDKs, il 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, vediAutorizzazioni 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

JSON
{ "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

JSON
{ "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:

JSON
{ "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: consentire la creazione di una distribuzione

La seguente politica di autorizzazione concede all'utente l'autorizzazione a creare ed elencare le distribuzioni nella console. CloudFront Per l’azione CreateDistribution, specifica il carattere jolly (*) per la Resource invece di un carattere jolly per la distribuzione ARN (arn:aws:cloudfront::123456789012:distribution/*). Per ulteriori informazioni sull’elemento Resource, consulta Elementi della policy JSON di IAM: risorsa nella Guida per l’utente IAM.

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