

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
<a name="security_iam_id-based-policy-examples"></a>

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)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) 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](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudfront.html) nel *Service Authorization Reference*.

**Topics**
+ [Best practice per le policy](#security_iam_service-with-iam-policy-best-practices)
+ [Consentire agli utenti di visualizzare le loro autorizzazioni](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Autorizzazioni per l'accesso programmatico CloudFront](#security_iam_id-based-policy-examples-programmatic-access-all)
+ [Autorizzazioni necessarie per utilizzare la console CloudFront](#security_iam_id-based-policy-examples-console-required-permissions)
+ [Esempi di policy gestite dal cliente](#security_iam_id-based-policy-examples-sdk-cli)

## Best practice per le policy
<a name="security_iam_service-with-iam-policy-best-practices"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o [Policy gestite da AWS per le funzioni dei processi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) nella *Guida per l’utente di IAM*.

Per maggiori informazioni sulle best practice in IAM, consulta [Best practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l’utente di IAM*.

## Consentire agli utenti di visualizzare le loro autorizzazioni
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

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
<a name="security_iam_id-based-policy-examples-programmatic-access-all"></a>

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](#security_iam_id-based-policy-examples-console-required-permissions) 

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](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudfront.html) nel *Service* Authorization Reference.

## Autorizzazioni necessarie per utilizzare la console CloudFront
<a name="security_iam_id-based-policy-examples-console-required-permissions"></a>

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 si utilizza 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 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 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)](private-content-restricting-access-to-s3.md#private-content-restricting-access-to-s3-oai).  
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
<a name="console-only-actions"></a>

È possibile eseguire le seguenti CloudFront azioni nella pagina [CloudFront Security Savings Bundle](https://console.aws.amazon.com//cloudfront/v3/home#/savings-bundle/overview). 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 elencare 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](https://aws.amazon.com/cloudfront/faqs/). 
Se crei un piano di risparmio per CloudFront e poi desideri eliminarlo in un secondo momento, contatta [Supporto AWS](https://console.aws.amazon.com/support/home#/case/create?issueType=customer-service). 

## Esempi di policy gestite dal cliente
<a name="security_iam_id-based-policy-examples-sdk-cli"></a>

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, vedi[Autorizzazioni necessarie per utilizzare la console CloudFront](#security_iam_id-based-policy-examples-console-required-permissions).

**Topics**
+ [Esempio 1: autorizzazione per accedere in lettura a tutte le distribuzioni](#security_iam_id-based-policy-examples-allow-read-all-distributions)
+ [Esempio 2: autorizzazione per la creazione, l’aggiornamento e l’eliminazione di distribuzioni](#security_iam_id-based-policy-examples-allow-create-update-delete-distributions)
+ [Esempio 3: autorizzazione per creare ed elencare invalidamenti](#security_iam_id-based-policy-examples-allow-create-list-invalidations)
+ [Esempio 4: consentire la creazione di una distribuzione](#create-distribution-iam-policy)

### Esempio 1: autorizzazione per accedere in lettura a tutte le distribuzioni
<a name="security_iam_id-based-policy-examples-allow-read-all-distributions"></a>

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
<a name="security_iam_id-based-policy-examples-allow-create-update-delete-distributions"></a>

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
<a name="security_iam_id-based-policy-examples-allow-create-list-invalidations"></a>

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
<a name="create-distribution-iam-policy"></a>

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 (\$1) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) 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": "*"
        }
    ]
}
```

------