

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

# AddPermission
<a name="API_AddPermission"></a>

Concede a un Servizio AWS, un Account AWS o a un'organizzazione AWS l'autorizzazione all'uso di una funzione. Puoi applicare la policy a livello di funzione oppure specificare un qualificatore per limitare l'accesso a una singola versione o un alias. Se utilizzi un qualificatore, l'invoker deve utilizzare l'Amazon Resource Name (ARN) completo di tale versione o alias per richiamare la funzione. Nota: Lambda non supporta l'aggiunta di criteri alla versione \$1LATEST.

Per concedere l'autorizzazione a un altro account, specifica l'ID account come `Principal`. Per concedere un'autorizzazione a un'organizzazione definita in AWS Organizations, specifica l'ID dell'organizzazione come `PrincipalOrgID`. Per i servizi Servizi AWS, il principal è un identificatore di tipo dominio definito dal servizio, ad esempio `s3.amazonaws.com` o `sns.amazonaws.com`. Per i servizi Servizi AWS si può anche specificare l'ARN della risorsa associata come `SourceArn`. Se concedi l'autorizzazione a un servizio principale senza specificare l'origine, altri account potrebbero configurare le risorse nel proprio account per richiamare la funzione Lambda.

Questa operazione aggiunge un'istruzione a una policy di autorizzazione basata su risorse della funzione. Per ulteriori informazioni, consulta [Utilizzo delle policy basate su risorse per Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html).

## Sintassi della richiesta
<a name="API_AddPermission_RequestSyntax"></a>

```
POST /2015-03-31/functions/FunctionName/policy?Qualifier=Qualifier HTTP/1.1
Content-type: application/json

{
   "Action": "string",
   "EventSourceToken": "string",
   "FunctionUrlAuthType": "string",
   "Principal": "string",
   "PrincipalOrgID": "string",
   "RevisionId": "string",
   "SourceAccount": "string",
   "SourceArn": "string",
   "StatementId": "string"
}
```

## Parametri della richiesta URI
<a name="API_AddPermission_RequestParameters"></a>

La richiesta utilizza i seguenti parametri URI.

 ** [FunctionName](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-FunctionName"></a>
Il nome, la versione o l'alias della funzione Lambda.  

**Formati di nome**
+  **Nome della funzione**: `my-function` (solo nome), `my-function:v1` (con alias).
+  **ARN funzione**: `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
+  **ARN parziale**: `123456789012:function:my-function`.
Puoi aggiungere un numero di versione o un alias a qualsiasi formato. Il vincolo di lunghezza si applica solo all'ARN completo. Se specifichi solo il nome della funzione, questo avrà un limite di lunghezza di 64 caratteri.  
Limitazioni di lunghezza: lunghezza minima di 1. Lunghezza massima di 140.  
Modello: `(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?`   
Campo obbligatorio: sì

 ** [Qualifier](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-Qualifier"></a>
Specificare una versione o un alias per aggiungere le autorizzazioni a una versione pubblicata della funzione.  
Limitazioni di lunghezza: lunghezza minima di 1. La lunghezza massima è 128 caratteri.  
Modello: `(|[a-zA-Z0-9$_-]+)` 

## Corpo della richiesta
<a name="API_AddPermission_RequestBody"></a>

La richiesta accetta i seguenti dati in formato JSON.

 ** [Action](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-Action"></a>
L'operazione che il principale può utilizzare per la funzione. Ad esempio, `lambda:InvokeFunction` o `lambda:GetFunction`.  
Tipo: stringa  
Modello: `(lambda:[*]|lambda:[a-zA-Z]+|[*])`   
Campo obbligatorio: sì

 ** [EventSourceToken](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-EventSourceToken"></a>
Per le funzioni Alexa Smart Home, un token che deve essere fornito dall'invoker.  
Tipo: stringa  
Limitazioni di lunghezza: lunghezza minima di 0. La lunghezza massima è 256 caratteri.  
Modello: `[a-zA-Z0-9._\-]+`   
Campo obbligatorio: no

 ** [FunctionUrlAuthType](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-FunctionUrlAuthType"></a>
Il tipo di autenticazione utilizzato dall'URL della funzione. Impostare su `AWS_IAM` se si desidera limitare l'accesso solo a utenti autenticati. Impostare su `NONE` se si desidera ignorare l'autenticazione IAM per creare un endpoint pubblico. Per ulteriori informazioni, consultare [Modello di sicurezza e autenticazione per gli URL della funzione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html).  
Tipo: stringa  
Valori validi: `NONE | AWS_IAM`   
Campo obbligatorio: no

 ** [Principal](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-Principal"></a>
Il Servizio AWS o l'Account AWS che richiama la funzione. Se specifichi un servizio, utilizza `SourceArn` o `SourceAccount` per limitare chi può chiamare la funzione tramite quel servizio.  
Tipo: stringa  
Modello: `[^\s]+`   
Campo obbligatorio: sì

 ** [PrincipalOrgID](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-PrincipalOrgID"></a>
L'identificatore per la tua organizzazione in AWS Organizations. Usalo per concedere autorizzazioni a tutti gli Account AWS in questa organizzazione.  
Tipo: stringa  
Vincoli di lunghezza: lunghezza minima di 12. Lunghezza massima di 34.  
Modello: `^o-[a-z0-9]{10,32}$`   
Campo obbligatorio: no

 ** [RevisionId](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-RevisionId"></a>
Aggiorna la policy solo se l'ID di revisione corrisponde all'ID specificato. Utilizzare questa opzione per evitare di modificare una policy modificata dall'ultima lettura.  
Tipo: string  
Campo obbligatorio: no

 ** [SourceAccount](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-SourceAccount"></a>
Per Servizio AWS, l'ID dell'Account AWS proprietario della risorsa. Usalo assieme a `SourceArn` per accertarti che l'account specificato sia il proprietario della risorsa. Un bucket Amazon S3 può essere eliminato dal relativo proprietario e creato nuovamente da un altro account.  
Tipo: stringa  
Limitazioni di lunghezza: lunghezza massima di 12.  
Modello: `\d{12}`   
Campo obbligatorio: no

 ** [SourceArn](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-SourceArn"></a>
Per i Servizi AWS, l'ARN della risorsa AWS che richiama la funzione. Ad esempio, un bucket Amazon S3 o un argomento Amazon SNS.  
Si noti che Lambda configura il confronto utilizzando l'operatore `StringLike`.  
Tipo: stringa  
Modello: `arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)`   
Campo obbligatorio: no

 ** [StatementId](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-StatementId"></a>
Identificatore di istruzione che differenzia l'istruzione dagli altri contenuti della stessa policy.  
Tipo: stringa  
Limitazioni di lunghezza: lunghezza minima di 1. Lunghezza massima di 100.  
Modello: `([a-zA-Z0-9-_]+)`   
Campo obbligatorio: sì

## Sintassi della risposta
<a name="API_AddPermission_ResponseSyntax"></a>

```
HTTP/1.1 201
Content-type: application/json

{
   "Statement": "string"
}
```

## Elementi di risposta
<a name="API_AddPermission_ResponseElements"></a>

Se l'operazione riesce, il servizio restituisce una risposta HTTP 201.

I dati seguenti vengono restituiti in formato JSON mediante il servizio.

 ** [Statement](#API_AddPermission_ResponseSyntax) **   <a name="lambda-AddPermission-response-Statement"></a>
L'istruzione di autorizzazione aggiunta alla policy di funzione.  
Tipo: stringa

## Errori
<a name="API_AddPermission_Errors"></a>

Per informazioni sugli errori comuni a tutte le operazioni, consultare [Errori comuni](CommonErrors.md).

 ** InvalidParameterValueException **   
Uno dei parametri della richiesta non è valido.  
Codice di stato HTTP: 400

 ** PolicyLengthExceededException **   
La policy di autorizzazione per la risorsa è troppo grande. Per ulteriori informazioni, consulta la pagina relativa alle [quote di ](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).  
Codice di stato HTTP: 400

 ** PreconditionFailedException **   
Il valore RevisionId fornito non corrisponde a quello più recente RevisionId per la funzione o l'alias Lambda. Chiama l'operazione `GetFunction` o l'`GetAlias`API per recuperare le ultime novità RevisionId relative alla risorsa.  
Codice di stato HTTP: 412

 ** ResourceConflictException **   
La risorsa esiste già o è in corso un'altra operazione.  
Codice di stato HTTP: 409

 ** ResourceNotFoundException **   
La risorsa specificata nella richiesta non esiste.  
Codice di stato HTTP: 404

 ** ServiceException **   
Il servizio AWS Lambda ha riscontrato un errore interno.  
Codice di stato HTTP: 500

 ** TooManyRequestsException **   
È stato superato il limite di throughput della richiesta. Per ulteriori informazioni, consulta la pagina relativa alle [quote di ](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#api-requests).  
Codice di stato HTTP: 429

## Vedi anche
<a name="API_AddPermission_SeeAlso"></a>

Per ulteriori informazioni sull'utilizzo di questa API in uno degli SDK AWS specifici della lingua, consulta quanto segue:
+  [Interfaccia a riga di comando AWS](https://docs.aws.amazon.com/goto/aws-cli/lambda-2015-03-31/AddPermission) 
+  [SDK AWS per .NET](https://docs.aws.amazon.com/goto/DotNetSDKV3/lambda-2015-03-31/AddPermission) 
+  [SDK AWS per C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/lambda-2015-03-31/AddPermission) 
+  [SDK AWS per Go](https://docs.aws.amazon.com/goto/SdkForGoV1/lambda-2015-03-31/AddPermission) 
+  [SDK AWS per Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/lambda-2015-03-31/AddPermission) 
+  [AWSSDK per V3 JavaScript ](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/lambda-2015-03-31/AddPermission) 
+  [SDK AWS per PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/lambda-2015-03-31/AddPermission) 
+  [SDK AWS per Python](https://docs.aws.amazon.com/goto/boto3/lambda-2015-03-31/AddPermission) 
+  [SDK AWS per Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/lambda-2015-03-31/AddPermission) 