

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à.

# Panoramica sulla gestione delle autorizzazioni di accesso alle risorse ElastiCache
<a name="IAM.Overview"></a>

Ogni AWS risorsa è di proprietà di un AWS account e le autorizzazioni per creare o accedere a una risorsa sono regolate dalle politiche di autorizzazione. Un amministratore dell'account è in grado di collegare le policy relative alle autorizzazioni alle identità IAM (ovvero utenti, gruppi e ruoli). Inoltre, Amazon supporta ElastiCache anche l'associazione di politiche di autorizzazione alle risorse. 

**Nota**  
Un *amministratore account* (o un utente amministratore) è un utente con privilegi di amministratore. Per ulteriori informazioni, consulta [Best practice IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l'utente di IAM*.

Per fornire l’accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:
+ Utenti e gruppi in:AWS IAM Identity Center

  Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) (Creazione di un set di autorizzazioni) nella *Guida per l’utente di AWS IAM Identity Center*.
+ Utenti gestiti in IAM tramite un provider di identità:

  Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) della *Guida per l’utente IAM*.
+ Utenti IAM:
  + Crea un ruolo che l’utente possa assumere. Segui le istruzioni riportate nella pagina [Create a role for an IAM user](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) della *Guida per l’utente IAM*.
  + (Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina [Aggiunta di autorizzazioni a un utente (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) nella *Guida per l’utente IAM*.

**Topics**
+ [ElastiCache Risorse e operazioni Amazon](#IAM.Overview.ResourcesAndOperations)
+ [Informazioni sulla proprietà delle risorse](#access-control-resource-ownership)
+ [Gestione dell'accesso alle risorse](#IAM.Overview.ManagingAccess)
+ [AWS politiche gestite per Amazon ElastiCache](IAM.IdentityBasedPolicies.PredefinedPolicies.md)
+ [Utilizzo di politiche basate sull'identità (politiche IAM) per Amazon ElastiCache](IAM.IdentityBasedPolicies.md)
+ [Autorizzazioni a livello di risorsa](IAM.ResourceLevelPermissions.md)
+ [Utilizzo delle chiavi di condizione](IAM.ConditionKeys.md)
+ [Utilizzo di ruoli collegati ai servizi per Amazon ElastiCache](using-service-linked-roles.md)
+ [ElastiCache Autorizzazioni API: riferimento ad azioni, risorse e condizioni](IAM.APIReference.md)

## ElastiCache Risorse e operazioni Amazon
<a name="IAM.Overview.ResourcesAndOperations"></a>

Per visualizzare un elenco dei tipi di ElastiCache risorse e relativi ARNs, consulta [Resources Defined by Amazon ElastiCache](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-resources-for-iam-policies) nel *Service Authorization Reference*. Per sapere con quali azioni puoi specificare l'ARN di ogni risorsa, consulta [Actions Defined by Amazon](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-actions-as-permissions). ElastiCache

## Informazioni sulla proprietà delle risorse
<a name="access-control-resource-ownership"></a>

Il *proprietario della risorsa* è l'AWS account che ha creato la risorsa. In altre parole, il proprietario della risorsa è l'AWS account dell'entità principale che autentica la richiesta che crea la risorsa. Un'*entità principale* può essere l'account root, un utente IAM o un ruolo IAM. Negli esempi seguenti viene illustrato il funzionamento:
+ Supponiamo di utilizzare le credenziali dell'account root del proprio AWS account per creare un cluster di cache. In questo caso, il tuo AWS account è il proprietario della risorsa. In ElastiCache, la risorsa è il cluster.
+ Supponiamo di creare un utente IAM nel tuo AWS account e di concedere a quell'utente le autorizzazioni per creare un cluster. In questo caso, l'utente può creare un cluster. Tuttavia, l'AWS account a cui appartiene l'utente è proprietario della risorsa del cluster.
+ Supponiamo che tu crei un ruolo IAM nel tuo AWS account con le autorizzazioni per creare un cluster. In questo caso, chiunque possa assumere il ruolo può creare un cluster. Il tuo AWS account, a cui appartiene il ruolo, possiede la risorsa del cluster di cache. 

## Gestione dell'accesso alle risorse
<a name="IAM.Overview.ManagingAccess"></a>

La *policy delle autorizzazioni* descrive chi ha accesso a cosa. Nella sezione seguente vengono descritte le opzioni disponibili per la creazione di policy relative alle autorizzazioni.

**Nota**  
Questa sezione illustra l'utilizzo di IAM nel contesto di Amazon ElastiCache. Non vengono fornite informazioni dettagliate sul servizio IAM. Per la documentazione di IAM completa, consulta [Che cos'è IAM?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) nella *Guida per l'utente di IAM*. Per informazioni sulla sintassi delle policy IAM e le rispettive descrizioni, consulta [Riferimento alle policy IAM di AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) nella *Guida per l'utente di IAM*.

Le policy collegate a un'identità IAM vengono definite *policy basate su identità* (policy IAM). Le policy collegate a una risorsa vengono definite *policy basate sulle risorse*. 

**Topics**
+ [Policy basate su identità (policy IAM)](#IAM.Overview.ManagingAccess.IdentityBasedPolicies)
+ [Specifica degli elementi delle policy: operazioni, effetti, risorse ed entità](#IAM.Overview.PolicyElements)
+ [Specifica delle condizioni in una policy](#IAM.Overview.Conditions)

### Policy basate su identità (policy IAM)
<a name="IAM.Overview.ManagingAccess.IdentityBasedPolicies"></a>

Puoi collegare le policy alle identità IAM. Ad esempio, puoi eseguire le operazioni seguenti:
+ **Collegare una policy di autorizzazione a un utente o a un gruppo nell'account** – Per assegnare le autorizzazioni un amministratore di account può utilizzare una policy di autorizzazione associata a un utente specifico. In questo caso, l'utente ha i permessi per creare una ElastiCache risorsa, ad esempio un cluster, un gruppo di parametri o un gruppo di sicurezza.
+ **Collega una policy di autorizzazione a un ruolo (assegnazione di autorizzazioni tra account)**: per concedere autorizzazioni tra più account, è possibile collegare una policy di autorizzazione basata su identità a un ruolo IAM. Ad esempio, l'amministratore dell'account A può creare un ruolo per concedere autorizzazioni su più account a un altro AWS account (ad esempio, l'account B) o a un AWS servizio nel modo seguente:

  1. L'amministratore dell'account A crea un ruolo IAM e attribuisce una policy di autorizzazione al ruolo che concede le autorizzazioni sulle risorse per l'account A.

  1. L'amministratore dell'account A attribuisce una policy di attendibilità al ruolo, identificando l'account B come il principale per tale ruolo. 

  1. L'amministratore dell'Account B può quindi delegare le autorizzazioni per assumere il ruolo a qualsiasi utente dell'Account B. In questo modo gli utenti dell'Account B possono creare o accedere alle risorse dell'Account A. In alcuni casi, potresti voler concedere a un AWS servizio le autorizzazioni per assumere il ruolo. Per supportare tale approccio, l'entità principale nella policy di trust può anche essere un'entità principale di un servizio AWS. 

  Per ulteriori informazioni sull'uso di IAM per delegare le autorizzazioni, consulta [Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) nella *IAM User Guide* (Guida per l'utente di IAM).

Di seguito è riportato un esempio di politica che consente a un utente di eseguire l'`DescribeCacheClusters`azione per il tuo account.AWS ElastiCache supporta anche l'identificazione di risorse specifiche utilizzando la risorsa ARNs per le azioni API. (questo approccio è anche noto come autorizzazioni a livello di risorsa). 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DescribeCacheClusters",
            "Effect": "Allow",
            "Action": [
                "elasticache:DescribeCacheClusters"
            ],
            "Resource": "arn:aws:iam::*:role/*"
        }
    ]
}
```

------

Per ulteriori informazioni sull'utilizzo di politiche basate sull'identità con ElastiCache, consulta. [Utilizzo di politiche basate sull'identità (politiche IAM) per Amazon ElastiCache](IAM.IdentityBasedPolicies.md) Per ulteriori informazioni su utenti, gruppi, ruoli e autorizzazioni, consulta [Identità (utenti, gruppi e ruoli)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) nella *Guida per l'utente di IAM*.

### Specifica degli elementi delle policy: operazioni, effetti, risorse ed entità
<a name="IAM.Overview.PolicyElements"></a>

Per ogni ElastiCache risorsa Amazon (vedi[ElastiCache Risorse e operazioni Amazon](#IAM.Overview.ResourcesAndOperations)), il servizio definisce una serie di operazioni API (vedi [Azioni](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_Operations.html)). Per concedere le autorizzazioni per queste operazioni API, ElastiCache definisce una serie di azioni che puoi specificare in una policy. Ad esempio, per la risorsa ElastiCache cluster, vengono definite le seguenti azioni: `CreateCacheCluster``DeleteCacheCluster`, e`DescribeCacheCluster`. L'esecuzione di un'operazione API può richiedere le autorizzazioni per più di un'operazione.

Di seguito sono elencati gli elementi di base di una policy:
+ **Risorsa**: in una policy si utilizza il nome della risorsa Amazon (ARN) per identificare la risorsa a cui si applica la policy stessa. Per ulteriori informazioni, consulta [ElastiCache Risorse e operazioni Amazon](#IAM.Overview.ResourcesAndOperations).
+ **Operazione**: utilizzi le parole chiave per identificare le operazioni sulla risorsa da permettere o rifiutare. Ad esempio, a seconda di quanto specificato`Effect`, l'`elasticache:CreateCacheCluster`autorizzazione consente o nega all'utente le autorizzazioni per eseguire l'operazione Amazon ElastiCache`CreateCacheCluster`.
+ **Effetto**: l'effetto prodotto quando l'utente richiede l'operazione specifica, ovvero un'autorizzazione o un rifiuto. USe non concedi esplicitamente (consenti) l'accesso a una risorsa, l'accesso viene implicitamente rifiutato. È anche possibile negare esplicitamente l'accesso a una risorsa. Ad esempio, è possibile eseguire questa operazione per accertarsi che un utente non sia in grado di accedere a una risorsa, anche se l'accesso viene concesso da un'altra policy.
+ **Principale**: nelle policy basate su identità (policy IAM), l'utente a cui la policy è collegata è il principale implicito. Per policy basate su risorse, specifichi l'utente, l'account, il servizio o un'altra entità che desideri riceva le autorizzazioni (si applica solo alle policy basate su risorse). 

Per ulteriori informazioni sulla sintassi e le descrizioni delle policy IAM, consulta [AWS Riferimento alle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) nella *Guida per l'utente di IAM*.

Per una tabella che mostra tutte le azioni dell' ElastiCache API Amazon, consulta[ElastiCache Autorizzazioni API: riferimento ad azioni, risorse e condizioni](IAM.APIReference.md).

### Specifica delle condizioni in una policy
<a name="IAM.Overview.Conditions"></a>

Quando si concedono le autorizzazioni, è possibile utilizzare il linguaggio della policy IAM per specificare le condizioni in base a cui la policy deve essere applicata. Ad esempio, potresti decidere che una policy venga applicata solo dopo una data specifica. Per ulteriori informazioni su come specificare le condizioni in un linguaggio di policy, consulta la sezione [Condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition) nella *Guida per l'utente di IAM*. 

Per esprimere le condizioni è necessario utilizzare chiavi di condizione predefinite. Per utilizzare chiavi ElastiCache di condizione specifiche, consulta[Utilizzo delle chiavi di condizione](IAM.ConditionKeys.md). Esistono tasti di condizione AWS-wide che è possibile utilizzare a seconda delle esigenze. Per un elenco completo delle chiavi AWS-wide, consulta [Available Keys for Conditions](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) nella *IAM User Guide*. 



# AWS politiche gestite per Amazon ElastiCache
<a name="IAM.IdentityBasedPolicies.PredefinedPolicies"></a>





Una politica AWS gestita è una politica autonoma creata e amministrata da AWS.AWS le politiche gestite sono progettate per fornire autorizzazioni per molti casi d'uso comuni, in modo da poter iniziare ad assegnare autorizzazioni a utenti, gruppi e ruoli.

Tieni presente che le policy AWS gestite potrebbero non concedere le autorizzazioni con il privilegio minimo per i tuoi casi d'uso specifici, poiché sono disponibili per tutti i clienti.AWS Si consiglia pertanto di ridurre ulteriormente le autorizzazioni definendo [policy gestite dal cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) specifiche per i propri casi d’uso.

Non è possibile modificare le autorizzazioni definite nelle politiche gestite.AWS Se AWS aggiorna le autorizzazioni definite in una politica AWS gestita, l'aggiornamento ha effetto su tutte le identità principali (utenti, gruppi e ruoli) a cui è associata la politica.AWSè più probabile che aggiorni una policy AWS gestita quando ne Servizio AWS viene lanciata una nuova o quando diventano disponibili nuove operazioni API per i servizi esistenti.

Per ulteriori informazioni, consultare [Policy gestite da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) nella *Guida per l’utente di IAM*.













## AWS politica gestita: ElastiCacheServiceRolePolicy
<a name="security-iam-awsmanpol-ElastiCacheServiceRolePolicy"></a>

Non puoi collegarti ElastiCacheServiceRolePolicy alle tue entità IAM. Questa policy è associata a un ruolo collegato al servizio che consente di ElastiCache eseguire azioni per tuo conto.

Questa politica consente di ElastiCache gestire AWS le risorse per conto dell'utente nella misura necessaria per la gestione della cache:
+ `ec2`— Gestione delle risorse EC2 di rete da collegare ai nodi di cache, inclusi endpoint VPC (per cache serverless), Elastic Network Interfaces () (per cluster basati su nodiENIs) e gruppi di sicurezza.
+ `cloudwatch`— Emetti dati metrici dal servizio a. CloudWatch
+ `outposts`— Consenti la creazione di nodi di cache su AWS Outposts.

Puoi trovare la [ElastiCacheServiceRolePolicy](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/ElastiCacheServiceRolePolicy)policy sulla console IAM e [ElastiCacheServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/ElastiCacheServiceRolePolicy.html)nella *AWS Managed Policy Reference Guide*.

## AWS politica gestita: AmazonElastiCacheFullAccess
<a name="security-iam-awsmanpol-AmazonElastiCacheFullAccess"></a>

È possibile allegare la policy `AmazonElastiCacheFullAccess` alle identità IAM.

Questa politica consente ai responsabili l'accesso completo all' ElastiCache utilizzo della console di AWS gestione:
+ `elasticache`— Accedi a tutti APIs.
+ `iam`: crea il ruolo collegato ai servizi necessario per il funzionamento dei servizi.
+ `ec2`— Descrivi EC2 le risorse dipendenti necessarie per la creazione della cache (VPC, sottorete, gruppo di sicurezza) e consenti la creazione di endpoint VPC (per cache serverless).
+ `kms`— Consenti l'utilizzo di un modulo gestito dal cliente. CMKs encryption-at-rest
+ `cloudwatch`— Consenti l'accesso alle metriche per visualizzare le ElastiCache metriche nella console.
+ `application-autoscaling`: consenti l'accesso per descrivere le policy di dimensionamento automatico per le cache.
+ `logs`: utilizzato per popolare i flussi di log per la funzionalità di distribuzione dei log nella console.
+ `firehose`: utilizzato per popolare i flussi di distribuzione per la funzionalità di distribuzione dei log nella console.
+ `s3`: utilizzato per popolare i bucket S3 per la funzionalità di ripristino degli snapshot nella console.
+ `outposts`— Utilizzato per popolare AWS Outposts per la creazione di cache nella console.
+ `sns`: utilizzato per popolare gli argomenti SNS per la funzionalità di notifica nella console.

Puoi trovare la [AmazonElastiCacheFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonElastiCacheFullAccess)policy sulla console IAM e [AmazonElastiCacheFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonElastiCacheFullAccess.html)nella *AWS Managed Policy Reference* Guide.

## AWS politica gestita: AmazonElastiCacheReadOnlyAccess
<a name="security-iam-awsmanpol-AmazonElastiCacheReadOnlyAccess"></a>

È possibile allegare la policy `AmazonElastiCacheReadOnlyAccess` alle identità IAM.

Questa politica consente ai principali l'accesso in sola lettura all' ElastiCache utilizzo della AWS console di gestione:
+ `elasticache`— Accesso in sola lettura. `Describe` APIs

Puoi trovare la [AmazonElastiCacheReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonElastiCacheReadOnlyAccess)policy sulla console IAM e [AmazonElastiCacheReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonElastiCacheReadOnlyAccess.html)nella *AWS Managed Policy Reference* Guide.

## ElastiCache aggiornamenti alle policy AWS gestite
<a name="security-iam-awsmanpol-updates"></a>

Visualizza i dettagli sugli aggiornamenti delle politiche AWS gestite ElastiCache da quando questo servizio ha iniziato a tenere traccia di queste modifiche. Per ricevere avvisi automatici sulle modifiche a questa pagina, iscriviti al feed RSS nella pagina della cronologia dei ElastiCache documenti.




| Modifica | Descrizione | Data | 
| --- | --- | --- | 
|  [AmazonElastiCacheFullAccess](#security-iam-awsmanpol-AmazonElastiCacheFullAccess): aggiornamento a una policy esistente  |  ElastiCache ha aggiunto nuove autorizzazioni per consentire il ridimensionamento verticale per MemCached, per l'azione. `elasticache:ModifyCacheCluster`  | 27 marzo 2025 | 
|  [AmazonElastiCacheFullAccess](#security-iam-awsmanpol-AmazonElastiCacheFullAccess): aggiornamento di una policy esistente  |  ElastiCache ha aggiunto nuove autorizzazioni per consentire la gestione delle cache serverless e per consentire l'utilizzo di tutte le funzionalità del servizio tramite la console.  | 27 novembre 2023 | 
|  [ElastiCacheServiceRolePolicy](#security-iam-awsmanpol-ElastiCacheServiceRolePolicy): aggiornamento di una policy esistente  |  ElastiCache ha aggiunto nuove autorizzazioni per consentire la gestione degli endpoint VPC per le risorse di cache serverless.  | 27 novembre 2023 | 
|  ElastiCache ha iniziato a tenere traccia delle modifiche  |  ElastiCache ha iniziato a tenere traccia delle modifiche per le sue politiche AWS gestite.  | 7 febbraio 2020 | 

# Utilizzo di politiche basate sull'identità (politiche IAM) per Amazon ElastiCache
<a name="IAM.IdentityBasedPolicies"></a>

In questo argomento vengono forniti esempi di policy basate su identità in cui un amministratore account può collegare policy di autorizzazione a identità IAM, ovvero utenti, gruppi e ruoli. 

**Importante**  
Ti consigliamo di leggere prima gli argomenti che spiegano i concetti e le opzioni di base per gestire l'accesso alle ElastiCache risorse di Amazon. Per ulteriori informazioni, consulta [Panoramica sulla gestione delle autorizzazioni di accesso alle risorse ElastiCache](IAM.Overview.md). 

In questa sezione vengono trattati gli argomenti seguenti:
+ [AWS politiche gestite per Amazon ElastiCache](IAM.IdentityBasedPolicies.PredefinedPolicies.md)
+ [Esempi di policy gestite dal cliente](#IAM.IdentityBasedPolicies.CustomerManagedPolicies)

Di seguito viene illustrato un esempio di politica di autorizzazioni quando si utilizza Redis OSS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowClusterPermissions",
            "Effect": "Allow",
            "Action": [
                "elasticache:CreateServerlessCache",
                "elasticache:CreateCacheCluster",
                "elasticache:DescribeServerlessCaches",
                "elasticache:DescribeReplicationGroups",
                "elasticache:DescribeCacheClusters",
                "elasticache:ModifyServerlessCache",
                "elasticache:ModifyReplicationGroup",
                "elasticache:ModifyCacheCluster"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowUserToPassRole",
            "Effect": "Allow",
            "Action": [ "iam:PassRole" ],
            "Resource": "arn:aws:iam::123456789012:role/EC2-roles-for-cluster"
        }
    ]
}
```

------

Di seguito viene mostrato un esempio di politica di autorizzazioni quando si utilizza Memcached.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "AllowClusterPermissions",
        "Effect": "Allow",
        "Action": [
            "elasticache:CreateServerlessCache",
            "elasticache:CreateCacheCluster",
            "elasticache:DescribeServerlessCaches",
            "elasticache:DescribeCacheClusters",
            "elasticache:ModifyServerlessCache",
            "elasticache:ModifyCacheCluster"
        ],
        "Resource": "*"
    },
    {
        "Sid": "AllowUserToPassRole",
        "Effect": "Allow",
        "Action": [ "iam:PassRole" ],
        "Resource": "arn:aws:iam::123456789012:role/EC2-roles-for-cluster"
    }
    ]
}
```

------

La policy include due dichiarazioni:
+ La prima istruzione concede le autorizzazioni per le ElastiCache azioni Amazon (`elasticache:Create*`,,`elasticache:Describe*`) `elasticache:Modify*` 
+ La seconda istruzione concede le autorizzazioni per l'operazione IAM (`iam:PassRole`) sul nome del ruolo IAM specificato alla fine del valore `Resource`.

La policy non specifica l'elemento `Principal` poiché in una policy basata su identità l'entità che ottiene l'autorizzazione non viene specificata. Quando si collega una policy a un utente, quest'ultimo è l'entità implicita. Quando colleghi una policy di autorizzazioni a un ruolo IAM, il principale identificato nella policy di attendibilità del ruolo ottiene le autorizzazioni. 

Per una tabella che mostra tutte le azioni dell' ElastiCache API Amazon e le risorse a cui si applicano, consulta[ElastiCache Autorizzazioni API: riferimento ad azioni, risorse e condizioni](IAM.APIReference.md). 

## Esempi di policy gestite dal cliente
<a name="IAM.IdentityBasedPolicies.CustomerManagedPolicies"></a>

Se non si utilizza una policy predefinita e si sceglie di utilizzare una policy gestita in modo personalizzato, assicurarsi di trovarsi in una delle due seguenti situazioni. O si dispone delle autorizzazioni per richiamare `iam:createServiceLinkedRole` (Per ulteriori informazioni, consulta[Esempio 4: consentire a un utente di chiamare l' CreateServiceLinkedRole API IAM](#create-service-linked-role-policy)). Oppure avresti dovuto creare un ruolo ElastiCache collegato al servizio. 

Se combinate con le autorizzazioni minime necessarie per utilizzare la ElastiCache console Amazon, le politiche di esempio in questa sezione concedono autorizzazioni aggiuntive. Gli esempi sono rilevanti anche per il AWS SDKs e il.AWS CLI

Per istruzioni su come impostare gruppi e utenti IAM, consulta [Creazione del primo utente e gruppo di amministratori IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) nella *Guida per l'utente di IAM*. 

**Importante**  
Testa sempre in modo approfondito le Policy IAM prima di avvalertene in fase di produzione. Alcune ElastiCache azioni che sembrano semplici possono richiedere altre azioni per supportarle quando si utilizza la ElastiCache console. Ad esempio, `elasticache:CreateCacheCluster` concede le autorizzazioni per creare ElastiCache cluster. Tuttavia, per eseguire questa operazione, la ElastiCache console utilizza una serie di `List` azioni `Describe` e per compilare gli elenchi delle console.

**Topics**
+ [Esempio 1: consentire a un utente l'accesso in sola lettura alle risorse ElastiCache](#example-allow-list-current-elasticache-resources)
+ [Esempio 2: consentire a un utente di eseguire attività comuni di amministratore ElastiCache di sistema](#example-allow-specific-elasticache-actions)
+ [Esempio 3: consentire a un utente di accedere a tutte le ElastiCache azioni API](#allow-unrestricted-access)
+ [Esempio 4: consentire a un utente di chiamare l' CreateServiceLinkedRole API IAM](#create-service-linked-role-policy)
+ [Esempio 5: assegnazione a un utente dell'autorizzazione a connettersi alla cache serverless utilizzando l'autenticazione IAM](#iam-connect-policy)

### Esempio 1: consentire a un utente l'accesso in sola lettura alle risorse ElastiCache
<a name="example-allow-list-current-elasticache-resources"></a>

La seguente politica concede ElastiCache azioni di autorizzazione che consentono a un utente di elencare le risorse. In genere, si collega questo tipo di policy di autorizzazione a un gruppo di gestori.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[{
      "Sid": "ECReadOnly",
      "Effect":"Allow",
      "Action": [
          "elasticache:Describe*",
          "elasticache:List*"],
      "Resource":"*"
      }
   ]
}
```

------

### Esempio 2: consentire a un utente di eseguire attività comuni di amministratore ElastiCache di sistema
<a name="example-allow-specific-elasticache-actions"></a>

Le attività comuni dell'amministratore di sistema includono la modifica delle risorse. Un amministratore di sistema potrebbe, inoltre, voler reperire informazioni sugli eventi ElastiCache . La seguente politica concede a un utente le autorizzazioni per eseguire ElastiCache azioni per queste attività comuni dell'amministratore di sistema. In genere, si collega questo tipo di policy di autorizzazione al gruppo degli amministratori di sistema.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[{
      "Sid": "ECAllowMutations",
      "Effect":"Allow",
      "Action":[
          "elasticache:Modify*",
          "elasticache:Describe*",
          "elasticache:ResetCacheParameterGroup"
      ],
      "Resource":"*"
      }
   ]
}
```

------

### Esempio 3: consentire a un utente di accedere a tutte le ElastiCache azioni API
<a name="allow-unrestricted-access"></a>

La seguente politica consente a un utente di accedere a tutte le ElastiCache azioni. Consigliamo di concedere questo tipo di policy di autorizzazione solo a un utente amministratore. 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[{
      "Sid": "ECAllowAll",
      "Effect":"Allow",
      "Action":[
          "elasticache:*" 
      ],
      "Resource":"*"
      }
   ]
}
```

------

### Esempio 4: consentire a un utente di chiamare l' CreateServiceLinkedRole API IAM
<a name="create-service-linked-role-policy"></a>

La policy seguente permette a un utente di chiamare l'API IAM `CreateServiceLinkedRole` . Ti consigliamo di concedere questo tipo di politica di autorizzazione all'utente che richiama operazioni mutative. ElastiCache 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Sid":"CreateSLRAllows",
      "Effect":"Allow",
      "Action":[
        "iam:CreateServiceLinkedRole"
      ],
      "Resource":"*",
      "Condition":{
        "StringLike":{
        "iam:AWSServiceName":"elasticache.amazonaws.com"
        }
      }
    }
  ]
}
```

------

### Esempio 5: assegnazione a un utente dell'autorizzazione a connettersi alla cache serverless utilizzando l'autenticazione IAM
<a name="iam-connect-policy"></a>

La seguente policy consente a un utente di connettersi a una cache serverless utilizzando l'autenticazione IAM tra il 2023-04-01 e il 2023-06-30.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" :
  [
    {
      "Effect" : "Allow",
      "Action" : ["elasticache:Connect"],
      "Resource" : [
        "arn:aws:elasticache:us-east-1:123456789012:serverlesscache:*"
      ],
      "Condition": {
        "DateGreaterThan": {"aws:CurrentTime": "2023-04-01T00:00:00Z"},
        "DateLessThan": {"aws:CurrentTime": "2023-06-30T23:59:59Z"}
      }
    },
    {
      "Effect" : "Allow",
      "Action" : ["elasticache:Connect"],
      "Resource" : [
        "arn:aws:elasticache:us-east-1:123456789012:user:*"
      ]
    }
  ]
}
```

------

# Autorizzazioni a livello di risorsa
<a name="IAM.ResourceLevelPermissions"></a>

È possibile limitare la portata delle autorizzazioni specificando le risorse in una policy IAM. Molte azioni ElastiCache API supportano un tipo di risorsa che varia a seconda del comportamento dell'azione. Ogni dichiarazione di policy IAM concede l'autorizzazione a un'operazione eseguita su una risorsa. Quando l'operazione non agisce su una risorsa designata oppure quando concedi l'autorizzazione per eseguire l'operazione su tutte le risorse, il valore della risorsa nella policy è un carattere jolly (\$1). Per molte operazioni API è possibile limitare le risorse che un utente può modificare specificando l'Amazon Resource Name (ARN) di una risorsa o un modello ARN che soddisfa più risorse. Per limitare le autorizzazioni in base alla risorsa, specifica la risorsa in base all'ARN.

Per visualizzare un elenco dei tipi di ElastiCache risorse e relativi ARNs, consulta [Resources Defined by Amazon ElastiCache](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-resources-for-iam-policies) nel *Service Authorization Reference*. Per sapere con quali azioni puoi specificare l'ARN di ogni risorsa, consulta [Actions Defined by Amazon](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-actions-as-permissions). ElastiCache

**Topics**
+ [Esempio 1: consenti a un utente l'accesso completo a tipi di ElastiCache risorse specifici](#example-allow-list-current-elasticache-resources-resource)
+ [Esempio 2: rifiutare a un utente l'accesso a una cache serverless](#example-allow-specific-elasticache-actions-resource)

## Esempio 1: consenti a un utente l'accesso completo a tipi di ElastiCache risorse specifici
<a name="example-allow-list-current-elasticache-resources-resource"></a>

La policy seguente consente esplicitamente tutte le risorse di tipo cache serverless.

```
{
        "Sid": "Example1",
        "Effect": "Allow",
        "Action": "elasticache:*",
        "Resource": [
             "arn:aws:elasticache:us-east-1:account-id:serverlesscache:*"
        ]
}
```

## Esempio 2: rifiutare a un utente l'accesso a una cache serverless
<a name="example-allow-specific-elasticache-actions-resource"></a>

Nell'esempio seguente viene negato esplicitamente l'accesso a una determinata cache serverless.

```
{
        "Sid": "Example2",
        "Effect": "Deny",
        "Action": "elasticache:*",
        "Resource": [
            "arn:aws:elasticache:us-east-1:account-id:serverlesscache:name"
        ]
}
```

# Utilizzo delle chiavi di condizione
<a name="IAM.ConditionKeys"></a>

Puoi specificare le condizioni che determinano il modo in cui una policy IAM viene applicata. In ElastiCache, puoi utilizzare l'`Condition`elemento di una policy JSON per confrontare le chiavi nel contesto della richiesta con i valori chiave che specifichi nella tua policy. Per ulteriori informazioni, consulta [elementi della policy IAM JSON: condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html).

Per visualizzare un elenco di chiavi di ElastiCache condizione, consulta [Condition Keys for Amazon ElastiCache](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-policy-keys) nel *Service Authorization Reference*.

Per un elenco delle chiavi di condizione globali, consulta [Chiavi di contesto delle condizioni globali AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html).

**Utilizzo ElastiCache con AWS Global Condition Keys**

Quando si utilizzano [chiavi di condizione AWS globali](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) che richiedono ElastiCache [Principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services), utilizzare una `OR` condizione con *entrambi* i Principal: `elasticache.amazonaws.com` e`ec.amazonaws.com`.

**Nota**  
Se non aggiungi entrambi i Principal per ElastiCache, l'azione «Consenti» o «Nega» prevista non verrà applicata correttamente per nessuna delle risorse elencate nella tua politica.

 Esempio di politica con chiave di condizione `aws:CalledVia` globale:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:*", 
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringLike": {
          "aws:CalledVia": [
            "ec.amazonaws.com",
            "elasticache.amazonaws.com"
          ]
        }
      }
    }
  ]
}
```

------

## Specifica delle condizioni: Uso delle chiavi di condizione
<a name="IAM.SpecifyingConditions"></a>

Per implementare un controllo particolareggiato, scrivi una policy relativa alle autorizzazioni IAM che specifichi le condizioni per controllare un set di singoli parametri su determinate richieste. Quindi la policy viene applicata agli utenti, ai gruppi o ai ruoli IAM creati utilizzando la console IAM. 

Per applicare una condizione, aggiungere le informazioni sulla condizione all'istruzione della policy IAM. Nell'esempio seguente, si specifica la condizione che qualsiasi cluster basato su nodi creato sia del tipo di nodo. `cache.r5.large` 

**Nota**  
Per costruire `Condition` elementi utilizzando chiavi di condizione di `String` tipo, utilizzate gli operatori di condizione senza distinzione tra maiuscole e minuscole `StringEqualsIgnoreCase` o `StringNotEqualsIgnoreCase` per confrontare una chiave con un valore di stringa.
ElastiCache elabora gli argomenti di input per `CacheNodeType` e senza distinzione `CacheParameterGroupName` tra maiuscole e minuscole. Per questo motivo, la stringa condiziona gli operatori `StringEqualsIgnoreCase` e `StringNotEqualsIgnoreCase` deve essere utilizzata nelle politiche di autorizzazione che vi fanno riferimento.

Di seguito viene illustrato un esempio di questa politica di autorizzazioni quando si utilizza Valkey o Redis OSS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "elasticache:CreateCacheCluster",
                "elasticache:CreateReplicationGroup"
            ],
            "Resource": [
                "arn:aws:elasticache:*:*:parametergroup:*",
                "arn:aws:elasticache:*:*:subnetgroup:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticache:CreateCacheCluster",
                "elasticache:CreateReplicationGroup"
            ],
            "Resource": [
                "arn:aws:elasticache:*:*:cluster:*",
                "arn:aws:elasticache:*:*:replicationgroup:*"
            ],
            "Condition": {
                "StringEquals": {
                    "elasticache:CacheNodeType": [
                        "cache.r5.large"
                    ]
                }
            }
        }
    ]
}
```

------

Di seguito viene mostrato un esempio di questa politica di autorizzazioni quando si utilizza Memcached.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "elasticache:CreateCacheCluster"
            ],
            "Resource": [
                "arn:aws:elasticache:*:*:parametergroup:*",
                "arn:aws:elasticache:*:*:subnetgroup:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticache:CreateCacheCluster"
            ],
            "Resource": [
                "arn:aws:elasticache:*:*:cluster:*"
            ],
            "Condition": {
                "StringEquals": {
                    "elasticache:CacheNodeType": [
                        "cache.r5.large"
                    ]
                }
            }
        }
    ]
}
```

------

Per ulteriori informazioni, consulta [Taggare le tue risorse ElastiCache](Tagging-Resources.md). 

Per ulteriori informazioni sull'utilizzo degli operatori delle condizioni di policy, consulta [ElastiCache Autorizzazioni API: riferimento ad azioni, risorse e condizioni](IAM.APIReference.md). 

## Policy di esempio: Utilizzo di condizioni per il controllo granulare dei parametri
<a name="IAM.ExamplePolicies"></a>

Questa sezione mostra alcuni esempi di policy per l'implementazione di un controllo granulare degli accessi sui parametri elencati in precedenza. ElastiCache 

1. **elasticache:MaximumDataStorage:** Specificare la memorizzazione massima dei dati di una cache serverless. Utilizzando le condizioni fornite, il cliente non può creare cache in grado di archiviare più di una quantità specifica di dati.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowDependentResources",
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateServerlessCache"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:serverlesscachesnapshot:*",
                   "arn:aws:elasticache:*:*:snapshot:*",
                   "arn:aws:elasticache:*:*:usergroup:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateServerlessCache"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:serverlesscache:*"
               ],
               "Condition": {
                   "NumericLessThanEquals": {
                       "elasticache:MaximumDataStorage": "30"
                   },
                   "StringEquals": {
                       "elasticache:DataStorageUnit": "GB"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:Maximum ECPUPer Second: specifica il valore massimo** di ECPU al secondo di una cache serverless. Utilizzando le condizioni fornite, il cliente non può creare cache in grado di eseguire più di un numero specifico di cache al secondo. ECPUs 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowDependentResources",
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateServerlessCache"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:serverlesscachesnapshot:*",
                   "arn:aws:elasticache:*:*:snapshot:*",
                   "arn:aws:elasticache:*:*:usergroup:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateServerlessCache"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:serverlesscache:*"
               ],
               "Condition": {
                   "NumericLessThanEquals": {
                       "elasticache:MaximumECPUPerSecond": "100000"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:CacheNodeType:** Specificate quali NodeType possono essere create da un utente. Utilizzando le condizioni fornite, il cliente può specificare un valore singolo o un valore di intervallo per un tipo di nodo.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:CacheNodeType": [
                           "cache.t2.micro",
                           "cache.t2.medium"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:CacheNodeType:** Con Memcached, specifica quali sono le creazioni che un utente può NodeType creare. Utilizzando le condizioni fornite, il cliente può specificare un valore singolo o un valore di intervallo per un tipo di nodo.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:CacheNodeType": [
                           "cache.t2.micro",
                           "cache.t2.medium"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:NumNodeGroups:** Crea un gruppo di replica con meno di 20 gruppi di nodi.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
               	"elasticache:CreateReplicationGroup"
               ],
               "Resource": [
               	"arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "NumericLessThanEquals": {
                       "elasticache:NumNodeGroups": "20"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:ReplicasPerNodeGroup:** Specificare le repliche per nodo tra 5 e 10.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "NumericGreaterThanEquals": {
                       "elasticache:ReplicasPerNodeGroup": "5"
                   },
                   "NumericLessThanEquals": {
                       "elasticache:ReplicasPerNodeGroup": "10"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:EngineVersion:** Specificare l'utilizzo della versione 5.0.6 del motore.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
        {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
              "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:EngineVersion": "5.0.6"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:EngineVersion:** Specificare l'utilizzo della versione 1.6.6 del motore Memcached

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
        {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:EngineVersion": "1.6.6"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:EngineType:** Specificare l'utilizzo solo di un motore Valkey o Redis OSS.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:EngineType": "redis"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:AtRestEncryptionEnabled:** Specificate che i gruppi di replica verranno creati solo con la crittografia abilitata.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
   
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "Bool": {
                       "elasticache:AtRestEncryptionEnabled": "true"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache: TransitEncryptionEnabled**

   1. Imposta la chiave di `elasticache:TransitEncryptionEnabled` condizione su `false` per l'[CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)azione per specificare che i gruppi di replica possono essere creati solo quando TLS non viene utilizzato:

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "elasticache:CreateReplicationGroup"
                  ],
                  "Resource": [
                      "arn:aws:elasticache:*:*:parametergroup:*",
                      "arn:aws:elasticache:*:*:subnetgroup:*"
                  ]
              },
      
              {
                  "Effect": "Allow",
                  "Action": [
                      "elasticache:CreateReplicationGroup"
                  ],
                  "Resource": [
                      "arn:aws:elasticache:*:*:replicationgroup:*"
                  ],
                  "Condition": {
                      "Bool": {
                          "elasticache:TransitEncryptionEnabled": "false"
                      }
                  }
              }
          ]
      }
      ```

------

      Quando la chiave di `elasticache:TransitEncryptionEnabled` condizione è impostata su `false` in una politica per l'[CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)azione, una `CreateReplicationGroup` richiesta sarà consentita solo se non viene utilizzato TLS (ovvero, se la richiesta non include un `TransitEncryptionEnabled` parametro impostato su `true` o un `TransitEncryptionMode` parametro impostato su. `required`

   1. Imposta la chiave `elasticache:TransitEncryptionEnabled` conditon su `true` per l'[CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)azione per specificare che i gruppi di replica possono essere creati solo quando viene utilizzato TLS:

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "elasticache:CreateReplicationGroup"
                  ],
                  "Resource": [
                      "arn:aws:elasticache:*:*:parametergroup:*",
                      "arn:aws:elasticache:*:*:subnetgroup:*"
                  ]
              },
      
              {
                  "Effect": "Allow",
                  "Action": [
                      "elasticache:CreateReplicationGroup"
                  ],
                  "Resource": [
                      "arn:aws:elasticache:*:*:replicationgroup:*"
                  ],
                  "Condition": {
                      "Bool": {
                          "elasticache:TransitEncryptionEnabled": "true"
                      }
                  }
              }
          ]
      }
      ```

------

      Quando la chiave di `elasticache:TransitEncryptionEnabled` condizione è impostata su `true` in una politica per l'[CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)azione, una `CreateReplicationGroup` richiesta sarà consentita solo se la richiesta include un `TransitEncryptionEnabled` parametro impostato su `true` e un `TransitEncryptionMode` parametro impostato su. `required`

   1. Imposta `elasticache:TransitEncryptionEnabled` su `true` per l'azione `ModifyReplicationGroup` per specificare che i gruppi di replica possono essere modificati solo quando viene utilizzato TLS:

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [               
                      "elasticache:ModifyReplicationGroup"
                  ],
                  "Resource": [               
                      "arn:aws:elasticache:*:*:replicationgroup:*"
                  ],
                  "Condition": {
                      "BoolIfExists": {
                          "elasticache:TransitEncryptionEnabled": "true"
                      }
                  }
              }
          ]
      }
      ```

------

      Quando la chiave di `elasticache:TransitEncryptionEnabled` condizione è impostata su `true` in una politica per l'[ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)azione, una `ModifyReplicationGroup` richiesta sarà consentita solo se la richiesta include un `TransitEncryptionMode` parametro impostato su`required`. Facoltativamente, è anche possibile includere il parametro `TransitEncryptionEnabled` impostato su `true`, ma in questo caso non è necessario abilitare TLS.

1. **elasticache:AutomaticFailoverEnabled:** Specificate che i gruppi di replica verranno creati solo con il failover automatico abilitato.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "Bool": {
                       "elasticache:AutomaticFailoverEnabled": "true"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:multi AZEnabled**: Specificate che i gruppi di replica non possono essere creati con Multi-AZ disabilitato.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
           {
               "Effect": "Deny",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "Bool": {
                       "elasticache:MultiAZEnabled": "false"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:ClusterModeEnabled:** Specificate che i gruppi di replica possono essere creati solo con la modalità cluster abilitata.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "Bool": {
                       "elasticache:ClusterModeEnabled": "true"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:AuthTokenEnabled:** Specificate che i gruppi di replica possono essere creati solo con il token AUTH abilitato.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
   
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "Bool": {
                       "elasticache:AuthTokenEnabled": "true"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:SnapshotRetentionLimit:** Specificate il numero di giorni (o min/max) per conservare l'istantanea. Di seguito la policy impone l'archiviazione dei backup per almeno 30 giorni.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
   
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup",
                   "elasticache:CreateServerlessCache"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*",
                   "arn:aws:elasticache:*:*:serverlesscache:*"
               ],
               "Condition": {
                   "NumericGreaterThanEquals": {
                       "elasticache:SnapshotRetentionLimit": "30"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:KmsKeyId:** Specificate l'utilizzo delle chiavi KMS gestite dal cliente.AWS

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
           "Sid": "AllowDependentResources",
           "Effect": "Allow",
           "Action": [
               "elasticache:CreateServerlessCache"
           ],
           "Resource": [
               "arn:aws:elasticache:*:*:serverlesscachesnapshot:*",
               "arn:aws:elasticache:*:*:snapshot:*",
               "arn:aws:elasticache:*:*:usergroup:*"
           ]
       },
       {
           "Effect": "Allow",
           "Action": [
               "elasticache:CreateServerlessCache"
           ],
           "Resource": [
               "arn:aws:elasticache:*:*:serverlesscache:*"
           ],
           "Condition": {
               "StringEquals": {
                   "elasticache:KmsKeyId": "my-key"
               }
           }
       }
     ]
   }
   ```

------

1. **elasticache:CacheParameterGroupName:** Specificate un gruppo di parametri non predefinito con parametri specifici di un'organizzazione sui cluster. È inoltre possibile specificare un modello di denominazione per i gruppi di parametri o eliminare blocchi su un nome di gruppo di parametri specifico. Di seguito è riportato un esempio che limita l'uso del solo "». my-org-param-group

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
   
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:CacheParameterGroupName": "my-org-param-group"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:CacheParameterGroupName:** Con Memcached, specifica un gruppo di parametri non predefinito con parametri specifici di un'organizzazione sui tuoi cluster. È inoltre possibile specificare un modello di denominazione per i gruppi di parametri o eliminare blocchi su un nome di gruppo di parametri specifico. Di seguito è riportato un esempio che limita l'utilizzo del solo "». my-org-param-group

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
   
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:CacheParameterGroupName": "my-org-param-group"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:CreateCacheCluster:** Negare l'`CreateCacheCluster`azione se il tag di richiesta `Project` è mancante o non è uguale a, o. `Dev` `QA` `Prod`

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
             {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*",
                   "arn:aws:elasticache:*:*:securitygroup:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ]
           },
           {
               "Effect": "Deny",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*"
               ],
               "Condition": {
                   "Null": {
                       "aws:RequestTag/Project": "true"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:AddTagsToResource"
               ],
               "Resource": "arn:aws:elasticache:*:*:cluster:*",
               "Condition": {
                   "StringEquals": {
                       "aws:RequestTag/Project": [
                           "Dev",
                           "Prod",
                           "QA"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:CacheNodeType:** Consentire `CreateCacheCluster` con `cacheNodeType` cache.r5.large o cache.r6g.4xlarge e tag. `Project=XYZ` 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
         "Effect": "Allow",
         "Action": [
           "elasticache:CreateCacheCluster",
           "elasticache:CreateReplicationGroup"
         ],
         "Resource": [
           "arn:aws:elasticache:*:*:parametergroup:*",
           "arn:aws:elasticache:*:*:subnetgroup:*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "elasticache:CreateCacheCluster"
         ],
         "Resource": [
           "arn:aws:elasticache:*:*:cluster:*"
         ],
         "Condition": {
           "StringEqualsIfExists": {
             "elasticache:CacheNodeType": [
               "cache.r5.large",
               "cache.r6g.4xlarge"
             ]
           },
           "StringEquals": {
             "aws:RequestTag/Project": "XYZ"
           }
         }
       }
     ]
   }
   ```

------

1. **elasticache:CacheNodeType:** Permesso `CreateCacheCluster` con `cacheNodeType` cache.r5.large o cache.r6g.4xlarge e tag. `Project=XYZ` 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
         "Effect": "Allow",
         "Action": [
           "elasticache:CreateCacheCluster"
         ],
         "Resource": [
           "arn:aws:elasticache:*:*:parametergroup:*",
           "arn:aws:elasticache:*:*:subnetgroup:*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "elasticache:CreateCacheCluster"
         ],
         "Resource": [
           "arn:aws:elasticache:*:*:cluster:*"
         ],
         "Condition": {
           "StringEqualsIfExists": {
             "elasticache:CacheNodeType": [
               "cache.r5.large",
               "cache.r6g.4xlarge"
             ]
           },
           "StringEquals": {
             "aws:RequestTag/Project": "XYZ"
           }
         }
       }
     ]
   }
   ```

------

**Nota**  
Quando si creano policy per applicare tag e altre chiavi di condizione insieme, il condizionale `IfExists` può essere richiesto su elementi di condizione chiave a causa dei requisiti della policy `elasticache:AddTagsToResource` aggiuntivi per le richieste di creazione con il parametro `--tags`.

# Utilizzo di ruoli collegati ai servizi per Amazon ElastiCache
<a name="using-service-linked-roles"></a>

Amazon ElastiCache utilizza ruoli [collegati ai servizi AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) (IAM). Un ruolo collegato al servizio è un tipo unico di ruolo IAM collegato direttamente a un AWS servizio, come Amazon. ElastiCache I ruoli ElastiCache collegati ai servizi Amazon sono predefiniti da Amazon. ElastiCache Includono tutte le autorizzazioni necessarie al servizio per richiamare servizi AWS per conto dei cluster. 

Un ruolo collegato al servizio semplifica la configurazione di Amazon ElastiCache perché non è necessario aggiungere manualmente le autorizzazioni necessarie. I ruoli esistono già nel tuo AWS account ma sono collegati ai casi ElastiCache d'uso di Amazon e dispongono di autorizzazioni predefinite. Solo Amazon ElastiCache può assumere questi ruoli e solo questi ruoli possono utilizzare la politica di autorizzazioni predefinita. È possibile eliminare i ruoli solo dopo aver eliminato le risorse correlate. In questo modo proteggi le tue ElastiCache risorse Amazon perché non puoi rimuovere inavvertitamente le autorizzazioni necessarie per accedere alle risorse.

Per informazioni sugli altri servizi che supportano i ruoli collegati ai servizi, consulta la sezione [Servizi AWS che funzionano con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) e cerca i servizi che riportano **Sì** nella colonna **Ruolo associato ai servizi**. Scegli **Sì** in corrispondenza di un link per visualizzare la documentazione relativa al ruolo collegato ai servizi per tale servizio.

**Contents**
+ [Autorizzazioni del ruolo collegato ai servizi](#service-linked-role-permissions)
  + [Autorizzazioni per creare un ruolo collegato ai servizi](#service-linked-role-permissions)
+ [Creazione di un ruolo collegato ai servizi (IAM)](#create-service-linked-role-iam)
  + [Utilizzo della console di IAM](#create-service-linked-role-iam-console)
  + [Utilizzo della CLI di IAM](#create-service-linked-role-iam-cli)
  + [Utilizzo dell'API di IAM](#create-service-linked-role-iam-api)
+ [Modifica della descrizione di un ruolo collegato ai servizi](#edit-service-linked-role)
  + [Utilizzo della console di IAM](#edit-service-linked-role-iam-console)
  + [Utilizzo della CLI di IAM](#edit-service-linked-role-iam-cli)
  + [Utilizzo dell'API di IAM](#edit-service-linked-role-iam-api)
+ [Eliminazione di un ruolo collegato ai servizi per Amazon ElastiCache](#delete-service-linked-role)
  + [Pulizia di un ruolo collegato ai servizi](#service-linked-role-review-before-delete)
  + [Eliminazione di un ruolo collegato ai servizi (console di IAM)](#delete-service-linked-role-iam-console)
  + [Eliminazione di un ruolo collegato ai servizi (CLI di IAM)](#delete-service-linked-role-iam-cli)
  + [Eliminazione di un ruolo collegato ai servizi (API di IAM)](#delete-service-linked-role-iam-api)

## Autorizzazioni relative ai ruoli collegati ai servizi per Amazon ElastiCache
<a name="service-linked-role-permissions"></a>

### Autorizzazioni per creare un ruolo collegato ai servizi
<a name="service-linked-role-permissions"></a>

**Per consentire a un'entità IAM di creare un ruolo collegato al servizio AWS ServiceRoleForElastiCache **

Aggiungi la seguente istruzione di policy alle autorizzazioni per l'entità IAM.

```
{
    "Effect": "Allow",
    "Action": [
        "iam:CreateServiceLinkedRole",
        "iam:PutRolePolicy"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/elasticache.amazonaws.com/AWS ServiceRoleForElastiCache*",
    "Condition": {"StringLike": {"iam:AWS ServiceName": "elasticache.amazonaws.com"}}
}
```

**Per consentire a un'entità IAM di eliminare un ruolo collegato al servizio AWS ServiceRoleForElastiCache **

Aggiungi la seguente istruzione di policy alle autorizzazioni per l'entità IAM.

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/elasticache.amazonaws.com/AWS ServiceRoleForElastiCache*",
    "Condition": {"StringLike": {"iam:AWS ServiceName": "elasticache.amazonaws.com"}}
}
```

In alternativa, puoi utilizzare una policy AWS gestita per fornire l'accesso completo ad Amazon ElastiCache.

## Creazione di un ruolo collegato ai servizi (IAM)
<a name="create-service-linked-role-iam"></a>

È possibile creare un ruolo collegato ai servizi utilizzando la console di IAM, la CLI o l'API.

### Creazione di un ruolo collegato ai servizi (Console di IAM)
<a name="create-service-linked-role-iam-console"></a>

Puoi utilizzare la console IAM per creare un ruolo collegato ai servizi.

**Come creare un ruolo collegato ai servizi (console)**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione della console IAM seleziona **Roles (Ruoli)**. Quindi seleziona **Create new role (Crea nuovo ruolo)**.

1. In **Select type of trusted entity (Seleziona tipo di entità attendibile)**, scegli **Service AWS **.

1. In **Oppure seleziona un servizio per visualizzarne i casi d'uso**, scegli **ElastiCache**.

1. Scegli **Successivo: autorizzazioni**.

1. In **Policy name (Nome policy)**, si noti che `ElastiCacheServiceRolePolicy` è necessario per questo ruolo. Scegli **Successivo: Tag**.

1. Si noti che i tag non sono supportati per i ruoli collegati al servizio. Scegliere **Next:Review** (Successivo:Rivedi).

1. (Facoltativo) In **Role description** (Descrizione ruolo) modifica la descrizione per il nuovo ruolo collegato ai servizi.

1. Rivedere il ruolo e scegliere **Crea ruolo**.

### Creazione di un ruolo collegato ai servizi (CLI di IAM)
<a name="create-service-linked-role-iam-cli"></a>

Puoi utilizzare le operazioni IAM da AWS Command Line Interface per creare un ruolo collegato al servizio. Questo ruolo può includere la policy di attendibilità e le policy inline che il servizio richiede per assumere il ruolo.

**Per creare un ruolo collegato ai servizi (CLI)**

Attenersi alle operazioni seguenti:

```
$ aws iam [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) --aws-service-name elasticache.amazonaws.com
```

### Creazione di un ruolo collegato ai servizi (API di IAM)
<a name="create-service-linked-role-iam-api"></a>

È possibile utilizzare l'API di IAM per creare un ruolo collegato ai servizi. Questo ruolo può contenere la policy di attendibilità e le policy inline che il servizio richiede per assumere il ruolo.

**Per creare un ruolo collegato ai servizi (API)**

Utilizzare la chiamata API [CreateServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html). Nella richiesta, specificare un nome del servizio di `elasticache.amazonaws.com`. 

## Modifica della descrizione di un ruolo collegato ai servizi per Amazon ElastiCache
<a name="edit-service-linked-role"></a>

Amazon ElastiCache non ti consente di modificare il ruolo AWS ServiceRoleForElastiCache collegato al servizio. Dopo aver creato un ruolo collegato al servizio, non potrai modificarne il nome perché varie entità potrebbero farvi riferimento. È possibile tuttavia modificarne la descrizione utilizzando IAM.

### Modifica della descrizione di un ruolo collegato ai servizi (console di IAM)
<a name="edit-service-linked-role-iam-console"></a>

È possibile utilizzare la console di IAM per modificare la descrizione di un ruolo collegato ai servizi.

**Per modificare la descrizione di un ruolo collegato ai servizi (console)**

1. Nel pannello di navigazione della console IAM seleziona **Roles (Ruoli)**.

1. Scegliere il nome del ruolo da modificare.

1. Nella parte destra di **Role description** (Descrizione ruolo), scegliere **Edit** (Modifica). 

1. Digita una nuova descrizione nella casella e scegli **Save (Salva)**.

### Modifica della descrizione di un ruolo collegato ai servizi (CLI di IAM)
<a name="edit-service-linked-role-iam-cli"></a>

Puoi utilizzare le operazioni IAM da AWS Command Line Interface per modificare la descrizione di un ruolo collegato al servizio.

**Per modificare la descrizione di un ruolo collegato ai servizi (CLI)**

1. (Facoltativo) Per visualizzare la descrizione corrente di un ruolo, utilizza l'operazione AWS CLI for IAM. `[get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html)`  
**Example**  

   ```
   $ aws iam [get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html) --role-name AWS ServiceRoleForElastiCache
   ```

   Utilizzare il nome del ruolo, non l'ARN, per fare riferimento ai ruoli con le operazioni CLI. Ad esempio, per fare riferimento a un ruolo il cui ARN è `arn:aws:iam::123456789012:role/myrole`, puoi usare **myrole**.

1. Per aggiornare la descrizione di un ruolo collegato al servizio, utilizza l'operazione AWS CLI for IAM. `[update-role-description](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role-description.html)`

   Per Linux, macOS o Unix:

   ```
   $ aws iam [update-role-description](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role-description.html) \
       --role-name AWS ServiceRoleForElastiCache \
       --description "new description"
   ```

   Per Windows:

   ```
   $ aws iam [update-role-description](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role-description.html) ^
       --role-name AWS ServiceRoleForElastiCache ^
       --description "new description"
   ```

### Modifica della descrizione di un ruolo collegato ai servizi (API di IAM)
<a name="edit-service-linked-role-iam-api"></a>

È possibile utilizzare l'API di IAM per modificare la descrizione di un ruolo collegato ai servizi.

**Per modificare la descrizione di un ruolo collegato ai servizi (API)**

1. (Facoltativo) Per visualizzare la descrizione corrente di un ruolo, utilizzare l'operazione API di IAM [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html).  
**Example**  

   ```
   https://iam.amazonaws.com/
      ?Action=[GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html)
      &RoleName=AWS ServiceRoleForElastiCache
      &Version=2010-05-08
      &AUTHPARAMS
   ```

1. Per aggiornare la descrizione di un ruolo, utilizzare l'operazione API di IAM [UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html).  
**Example**  

   ```
   https://iam.amazonaws.com/
      ?Action=[UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)
      &RoleName=AWS ServiceRoleForElastiCache
      &Version=2010-05-08
      &Description="New description"
   ```

## Eliminazione di un ruolo collegato ai servizi per Amazon ElastiCache
<a name="delete-service-linked-role"></a>

Se non è più necessario utilizzare una funzionalità o un servizio che richiede un ruolo collegato al servizio, ti consigliamo di eliminare il ruolo. In questo modo non sarà più presente un'entità non utilizzata che non viene monitorata e gestita attivamente. Tuttavia, è necessario effettuare la pulizia delle risorse associate al ruolo collegato ai servizi prima di poterlo eliminare.

Amazon ElastiCache non elimina il ruolo collegato al servizio per te.

### Pulizia di un ruolo collegato ai servizi
<a name="service-linked-role-review-before-delete"></a>

Prima di utilizzare IAM per eliminare un ruolo collegato ai servizi, verifica innanzitutto che il ruolo non abbia risorse (cluster o gruppi di replica) associati al ruolo.

**Per verificare se il ruolo collegato ai servizi dispone di una sessione attiva nella console IAM**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Nel pannello di navigazione della console IAM seleziona **Ruoli**. Quindi scegli il nome (non la casella di controllo) del AWS ServiceRoleForElastiCache ruolo.

1. Nella pagina **Summary** (Riepilogo) per il ruolo selezionato, scegliere la scheda **Access Advisor (Consulente accessi)**.

1. Nella scheda **Access Advisor** (Consulente accessi), esamina l'attività recente per il ruolo collegato ai servizi.

**Per eliminare ElastiCache le risorse Amazon che richiedono AWS ServiceRoleForElastiCache**
+ Per eliminare un cluster, consultare i seguenti argomenti:
  + [Utilizzando il Console di gestione AWS](Clusters.Delete.md#Clusters.Delete.CON)
  + [Utilizzo di AWS CLI per eliminare un ElastiCache cluster](Clusters.Delete.md#Clusters.Delete.CLI)
  + [Utilizzo dell' ElastiCache API](Clusters.Delete.md#Clusters.Delete.API)
+ Per eliminare un gruppo di replica, consultare i seguenti argomenti:
  + [Eliminazione di un gruppo di replica (console)](Replication.DeletingRepGroup.md#Replication.DeletingRepGroup.CON)
  + [Eliminazione di un gruppo di replica (AWS CLI)](Replication.DeletingRepGroup.md#Replication.DeletingRepGroup.CLI)
  + [Eliminazione di un gruppo di replica (API) ElastiCache](Replication.DeletingRepGroup.md#Replication.DeletingRepGroup.API)

### Eliminazione di un ruolo collegato ai servizi (console di IAM)
<a name="delete-service-linked-role-iam-console"></a>

È possibile utilizzare la console IAM per eliminare un ruolo collegato ai servizi.

**Per eliminare un ruolo collegato ai servizi (console)**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione della console IAM seleziona **Roles (Ruoli)**. Quindi, seleziona la casella di controllo accanto al nome del ruolo che desideri eliminare, non il nome o la riga stessa. 

1. In operazioni **Role (Ruolo)** nella parte superiore della pagina, seleziona **Delete (Elimina)** ruolo.

1. Nella finestra di dialogo di conferma, esamina i dati dell'ultimo accesso al servizio, che mostrano l'ultima volta che ciascuno dei ruoli selezionati ha effettuato l'ultimo accesso a un AWS servizio. In questo modo potrai verificare se il ruolo è attualmente attivo. Se desideri procedere, seleziona **Yes, Delete (Sì, elimina)** per richiedere l'eliminazione del ruolo collegato ai servizi.

1. Controlla le notifiche della console IAM per monitorare lo stato dell'eliminazione del ruolo collegato ai servizi. Poiché l'eliminazione del ruolo collegato ai servizi IAM è asincrona, una volta richiesta l'eliminazione del ruolo, il task di eliminazione può essere eseguito correttamente o meno. Se il task non viene eseguito correttamente, puoi scegliere **View details (Visualizza dettagli)** o **View Resources (Visualizza risorse)** dalle notifiche per capire perché l'eliminazione non è stata effettuata.

### Eliminazione di un ruolo collegato ai servizi (CLI di IAM)
<a name="delete-service-linked-role-iam-cli"></a>

Puoi utilizzare le operazioni IAM da AWS Command Line Interface per eliminare un ruolo collegato al servizio.

**Per eliminare un ruolo collegato ai servizi (CLI)**

1. Se non conosci il nome del ruolo collegato ai servizi da eliminare, inserisci il comando seguente: Questo comando elenca i ruoli e i relativi Amazon Resource Names (ARNs) nel tuo account.

   ```
   $ aws iam [get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html) --role-name role-name
   ```

   Utilizzare il nome del ruolo, non l'ARN, per fare riferimento ai ruoli con le operazioni CLI. Ad esempio, per fare riferimento a un ruolo il cui ARN è `arn:aws:iam::123456789012:role/myrole`, puoi usare **myrole**.

1. Poiché un ruolo collegato ai servizi non può essere eliminato se è in uso o se a esso sono associate delle risorse, occorre inviare una richiesta di eliminazione. Se queste condizioni non sono soddisfatte, la richiesta può essere rifiutata. Acquisisci il valore di `deletion-task-id`dalla risposta per controllare lo stato del task di eliminazione. Per inviare una richiesta di eliminazione per un ruolo collegato ai servizi, inserire quanto segue:

   ```
   $ aws iam [delete-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-service-linked-role.html) --role-name role-name
   ```

1. Inserire quanto segue per verificare lo stato del processo di eliminazione:

   ```
   $ aws iam [get-service-linked-role-deletion-status](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-linked-role-deletion-status.html) --deletion-task-id deletion-task-id
   ```

   Lo stato di un task di eliminazione può essere `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED`o `FAILED`. Se l'eliminazione non viene eseguita correttamente, la chiamata restituisce il motivo dell'errore per consentire all'utente di risolvere il problema.

### Eliminazione di un ruolo collegato ai servizi (API di IAM)
<a name="delete-service-linked-role-iam-api"></a>

È possibile utilizzare l'API di IAM; per eliminare un ruolo collegato ai servizi. 

**Per eliminare un ruolo collegato ai servizi (API)**

1. Per inviare una richiesta di eliminazione per un ruolo collegato ai servizi, chiamare [DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html). Nella richiesta, specifica il nome del ruolo.

   Poiché un ruolo collegato ai servizi non può essere eliminato se è in uso o se a esso sono associate delle risorse, occorre inviare una richiesta di eliminazione. Se queste condizioni non sono soddisfatte, la richiesta può essere rifiutata. Acquisisci il valore di `DeletionTaskId`dalla risposta per controllare lo stato del task di eliminazione.

1. Chiamare [GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html) per controllare lo stato dell'eliminazione. Nella richiesta, specificare il `DeletionTaskId`.

   Lo stato di un task di eliminazione può essere `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED`o `FAILED`. Se l'eliminazione non viene eseguita correttamente, la chiamata restituisce il motivo dell'errore per consentire all'utente di risolvere il problema.

# ElastiCache Autorizzazioni API: riferimento ad azioni, risorse e condizioni
<a name="IAM.APIReference"></a>

Quando configuri policy di [controllo degli accessi](IAM.md) e di scrittura da allegare a una policy IAM (basata sull'identità o basata sulle risorse), utilizza la tabella seguente come riferimento. La tabella elenca ogni operazione dell' ElastiCache API Amazon e le azioni corrispondenti per le quali puoi concedere le autorizzazioni per eseguire l'azione. Puoi specificare le operazioni nel campo `Action` della policy e il valore di una risorsa nel campo `Resource` della policy. Se non diversamente indicato, la risorsa è obbligatoria. Alcuni campi includono sia una risorsa obbligatoria che risorse facoltative. Quando non è presente alcuna risorsa ARN, la risorsa nella policy è un carattere jolly (\$1).

Puoi utilizzare le chiavi di condizione nelle tue ElastiCache politiche per esprimere le condizioni. Per visualizzare un elenco di chiavi ElastiCache condizionali specifiche, insieme alle azioni e ai tipi di risorse a cui si applicano, consulta[Utilizzo delle chiavi di condizione](IAM.ConditionKeys.md). Per un elenco completo delle chiavi AWS-wide, consulta le chiavi di [contesto delle condizioni AWS globali nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) per l'*utente IAM*.

**Nota**  
Per specificare un'operazione, utilizza il prefisso `elasticache:` seguito dal nome dell'operazione API (ad esempio, `elasticache:DescribeCacheClusters`).

Per visualizzare un elenco di ElastiCache azioni, consulta [Actions Defined by Amazon ElastiCache](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-actions-as-permissions) nel *Service Authorization Reference*.