

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

# AWS Serverless Application Repository Esempi di politiche basate sull'identità
<a name="security_iam_id-based-policy-examples"></a>

Per impostazione predefinita, gli utenti e i ruoli IAM non dispongono dell'autorizzazione per creare o modificare risorse AWS Serverless Application Repository . Inoltre, non possono eseguire attività utilizzando l'API Console di gestione AWS AWS CLI, o. AWS Un amministratore IAM deve creare policy IAM che concedono a utenti e ruoli l'autorizzazione per eseguire operazioni API specifiche sulle risorse specificate di cui hanno bisogno. L'amministratore deve quindi collegare queste policy a utenti o IAM che richiedono tali autorizzazioni.

*Per scoprire come creare una policy basata sull'identità IAM utilizzando questi esempi di documenti di policy JSON, consulta [Creating Policies on the JSON Tab](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) nella IAM User Guide.*

**Topics**
+ [Best practice delle policy](#security_iam_service-with-iam-policy-best-practices)
+ [Utilizzo della console AWS Serverless Application Repository](#security_iam_id-based-policy-examples-console)
+ [Consenti agli utenti di visualizzare le loro autorizzazioni](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Esempi di policy gestite dal cliente](#security_iam_id-examples)

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

Le policy basate su identità sono molto efficaci. Determinano se qualcuno può creare, accedere o eliminare AWS Serverless Application Repository risorse nel tuo account. Queste azioni possono comportare costi per il tuo AWS account. Quando si creano o modificano policy basate sull’identità, seguire queste linee guida e raccomandazioni:
+ **Assegna il privilegio minimo**: quando crei policy personalizzate, concedi solo le autorizzazioni indispensabili per eseguire un'attività. Inizia con un set di autorizzazioni minimo e concedi autorizzazioni aggiuntive quando necessario. Questo è più sicuro che iniziare con autorizzazioni che siano troppo permissive e cercare di limitarle in un secondo momento. Per ulteriori informazioni, consulta [Assegnare il privilegio minimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) nella *Guida per l'utente di IAM*.
+ **Abilita MFA per operazioni sensibili**: per una maggiore sicurezza, richiedi agli utenti IAM di utilizzare l'autenticazione a più fattori (MFA) per accedere a risorse sensibili o ad operazioni API. Per ulteriori informazioni, consultare [Utilizzo dell'autenticazione a più fattori (MFA) in AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html) nella *Guida per l'utente di IAM*.
+ **Utilizza le condizioni della policy per ulteriore sicurezza**: per quanto possibile, definisci le condizioni per cui le policy basate su identità consentono l'accesso a una risorsa. Ad esempio, è possibile scrivere condizioni per specificare un intervallo di indirizzi IP consentiti dai quali deve provenire una richiesta. È anche possibile scrivere condizioni per consentire solo le richieste all'interno di un intervallo di date o ore specificato oppure per richiedere l'utilizzo di SSL o MFA. Per ulteriori informazioni, consulta 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 della console AWS Serverless Application Repository
<a name="security_iam_id-based-policy-examples-console"></a>

La AWS Serverless Application Repository console offre un ambiente integrato per l'individuazione e la gestione AWS Serverless Application Repository delle applicazioni. La console offre funzionalità e flussi di lavoro che spesso richiedono autorizzazioni per gestire un' AWS Serverless Application Repository applicazione oltre alle autorizzazioni specifiche dell'API documentate nel. [AWS Serverless Application Repository Autorizzazioni API: riferimento ad azioni e risorse](serverlessrepo-api-permissions-ref.md)

Per ulteriori informazioni sulle autorizzazioni necessarie per utilizzare la console, vedere. AWS Serverless Application Repository [Esempi di policy gestite dal cliente](#security_iam_id-examples)

## Consenti 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 politica include le autorizzazioni per completare questa azione sulla console o utilizzando l'API o a livello di codice. 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": "*"
        }
    ]
}
```

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

Negli esempi di questa sezione viene fornito un gruppo di policy di esempio che è possibile collegare a un utente. Se non hai familiarità con la creazione di policy, è opportuno creare prima un utente IAM nell'account in uso e collegare in seguito le policy all'utente. Inoltre puoi utilizzare questi esempi per creare una singola policy personalizzata che includa le autorizzazioni per eseguire più operazioni e quindi collegarla all'utente.

 *Per ulteriori informazioni su come allegare le policy agli utenti, consulta [Adding Permissions to a User nella IAM User](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) Guide.*

**Topics**
+ [Esempio publisher 1: permettere a un publisher di elencare le applicazioni](#security_iam_id-example-publisher-list-apps)
+ [Esempio publisher 2: permettere a un publisher di visualizzare i dettagli di un'applicazione o della versione dell'applicazione](#security_iam_id-example-publisher-view-app-details)
+ [Esempio publisher 3: permettere a un publisher di creare un'applicazione o una versione dell'applicazione](#security_iam_id-example-publisher-create-apps)
+ [Esempio publisher 4: permettere a un publisher di creare una policy dell'applicazione per condividerla con altri](#security_iam_id-example-publisher-create-app-policies)
+ [Esempio consumatore 1: permettere a un consumatore di cercare le applicazioni](#security_iam_id-example-consumer-search-apps)
+ [Esempio consumatore 2: permettere a un consumatore di visualizzare i dettagli di un'applicazione](#security_iam_id-example-consumer-view-app-details)
+ [Esempio consumatore 3: permettere a un consumatore di distribuire un'applicazione](#security_iam_id-example-consumer-deploy-apps)
+ [Esempio consumatore 4: negare l'accesso agli asset di distribuzione](#security_iam_id-example-consumer-deny-deployment-assets)
+ [Esempio consumatore 5: impedire a un consumatore la ricerca e la distribuzione di applicazioni pubbliche](#access-control-identity-based-example-consumer-deny-public-apps)

### Esempio publisher 1: permettere a un publisher di elencare le applicazioni
<a name="security_iam_id-example-publisher-list-apps"></a>

Per visualizzare gli elementi della console, un utente IAM dell'account deve disporre delle autorizzazioni per l'operazione `serverlessrepo:ListApplications`. Quando concedi queste autorizzazioni, la console può mostrare l'elenco delle AWS Serverless Application Repository applicazioni nell' AWS account creato nella AWS regione specifica a cui appartiene l'utente.

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

****  

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

------

 

### Esempio publisher 2: permettere a un publisher di visualizzare i dettagli di un'applicazione o della versione dell'applicazione
<a name="security_iam_id-example-publisher-view-app-details"></a>

Un utente può selezionare un' AWS Serverless Application Repository applicazione e visualizzarne i dettagli. Tali dettagli includono l'autore, la descrizione, le versioni e altre informazioni di configurazione. Per eseguire questa operazione, l'utente necessita di autorizzazioni per le operazioni API `serverlessrepo:GetApplication` e `serverlessrepo:ListApplicationVersions` per AWS Serverless Application Repository. 

Nel seguente esempio, queste autorizzazioni sono concesse per l'applicazione specifica il cui Amazon Resource Name (ARN) è specificato come valore `Resource`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:GetApplication",
                "serverlessrepo:ListApplicationVersions"
            ],
            "Resource": "arn:aws:serverlessrepo:us-east-1:111122223333:applications/application-name"
        }
    ]
}
```

------

 

### Esempio publisher 3: permettere a un publisher di creare un'applicazione o una versione dell'applicazione
<a name="security_iam_id-example-publisher-create-apps"></a>

Se si desidera consentire a un utente di disporre delle autorizzazioni per creare AWS Serverless Application Repository applicazioni, è necessario concedere le autorizzazioni alle `serverlessrepo:CreateApplicationVersions` operazioni `serverlessrepo:CreateApplication` and, come illustrato nella seguente politica.

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

****  

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

------

 

### Esempio publisher 4: permettere a un publisher di creare una policy dell'applicazione per condividerla con altri
<a name="security_iam_id-example-publisher-create-app-policies"></a>

Affinché gli utenti condividano le applicazioni con gli altri, è necessario concedere loro le autorizzazioni per creare le policy delle applicazioni, come indicato nella seguente policy.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ShareApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:PutApplicationPolicy",
                "serverlessrepo:GetApplicationPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 

### Esempio consumatore 1: permettere a un consumatore di cercare le applicazioni
<a name="security_iam_id-example-consumer-search-apps"></a>

Affinché i consumatori cerchino le applicazioni, devi concedere loro le seguenti autorizzazioni.

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

****  

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

------

 

### Esempio consumatore 2: permettere a un consumatore di visualizzare i dettagli di un'applicazione
<a name="security_iam_id-example-consumer-view-app-details"></a>

Un utente può selezionare un' AWS Serverless Application Repository applicazione e visualizzarne i dettagli, come autore, descrizione, versioni e altre informazioni di configurazione. A tale scopo, l'utente deve disporre delle autorizzazioni per le seguenti AWS Serverless Application Repository operazioni.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:GetApplication",
                "serverlessrepo:ListApplicationVersions"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 

### Esempio consumatore 3: permettere a un consumatore di distribuire un'applicazione
<a name="security_iam_id-example-consumer-deploy-apps"></a>

Affinché i clienti distribuiscano le applicazioni, è necessario concedere loro le autorizzazioni a eseguire una serie di operazioni. La policy seguente fornisce ai clienti le autorizzazioni necessarie.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DeployApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:CreateCloudFormationChangeSet",
                "cloudformation:CreateChangeSet",
                "cloudformation:ExecuteChangeSet",
                "cloudformation:DescribeStacks"

            ],
            "Resource": "*"
        }
    ]
}
```

------

**Nota**  
La distribuzione di un'applicazione potrebbe richiedere le autorizzazioni per utilizzare risorse aggiuntive. AWS Poiché AWS Serverless Application Repository utilizza lo stesso meccanismo di distribuzione sottostante CloudFormation, vedere [Controlling Access with AWS Identity and Access Management](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html) per ulteriori informazioni. Per assistenza con i problemi di distribuzione relativi alle autorizzazioni, consulta [Risoluzione dei problemi: autorizzazioni IAM insufficienti](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-insufficient-iam-permissions).

### Esempio consumatore 4: negare l'accesso agli asset di distribuzione
<a name="security_iam_id-example-consumer-deny-deployment-assets"></a>

Quando un'applicazione viene condivisa privatamente con un AWS account, per impostazione predefinita, tutti gli utenti di quell'account possono accedere alle risorse di distribuzione di tutti gli altri utenti dello stesso account. La seguente policy impedisce agli utenti di un account di accedere agli asset di distribuzione, che sono archiviati nel bucket Amazon S3 per. AWS Serverless Application Repository

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyDeploymentAssetAccess",
            "Effect": "Deny",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::awsserverlessrepo-changesets*/*"
            ]
        }
    ]
}
```

------

### Esempio consumatore 5: impedire a un consumatore la ricerca e la distribuzione di applicazioni pubbliche
<a name="access-control-identity-based-example-consumer-deny-public-apps"></a>

È possibile impedire agli utenti di eseguire determinate operazioni sulle applicazioni.

La seguente policy si applica alle applicazioni pubbliche impostando `serverlessrepo:applicationType` come `public`. Impedisce agli utenti di eseguire una serie di operazioni impostando `Effect` come `Deny`. Per ulteriori informazioni sulle chiavi di condizione disponibili per AWS Serverless Application Repository, consulta [Azioni, risorse e chiavi di condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsserverlessapplicationrepository.html) per. AWS Serverless Application Repository

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Condition": {
                "StringEquals": {
                    "serverlessrepo:applicationType": "public"
                }
            },
            "Action": [
                "serverlessrepo:SearchApplications",
                "serverlessrepo:GetApplication",
                "serverlessrepo:CreateCloudFormationTemplate",
                "serverlessrepo:CreateCloudFormationChangeSet",
                "serverlessrepo:ListApplicationVersions",
                "serverlessrepo:ListApplicationDependencies"
            ],
            "Resource": "*",
            "Effect": "Deny"
        }
    ]
}
```

------

**Nota**  
Questa dichiarazione politica può essere utilizzata anche come politica di controllo dei servizi e applicata a un' AWS organizzazione. Per ulteriori informazioni sulle politiche di controllo dei servizi, vedere [Service Control Policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) nella *Guida AWS Organizations per l'utente*.