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
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 $LATEST.
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.
Sintassi della richiesta
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
La richiesta utilizza i seguenti parametri URI.
- FunctionName
-
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
-
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
La richiesta accetta i seguenti dati in formato JSON.
- Action
-
L'operazione che il principale può utilizzare per la funzione. Ad esempio,
lambda:InvokeFunctionolambda:GetFunction.Tipo: stringa
Modello:
(lambda:[*]|lambda:[a-zA-Z]+|[*])Campo obbligatorio: sì
- EventSourceToken
-
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
-
Il tipo di autenticazione utilizzato dall'URL della funzione. Impostare su
AWS_IAMse si desidera limitare l'accesso solo a utenti autenticati. Impostare suNONEse 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.Tipo: stringa
Valori validi:
NONE | AWS_IAMCampo obbligatorio: no
- Principal
-
Il Servizio AWS o l'Account AWS che richiama la funzione. Se specifichi un servizio, utilizza
SourceArnoSourceAccountper limitare chi può chiamare la funzione tramite quel servizio.Tipo: stringa
Modello:
[^\s]+Campo obbligatorio: sì
- PrincipalOrgID
-
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
-
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
-
Per Servizio AWS, l'ID dell'Account AWS proprietario della risorsa. Usalo assieme a
SourceArnper 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
-
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
-
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
HTTP/1.1 201
Content-type: application/json
{
"Statement": "string"
}
Elementi di risposta
Se l'operazione riesce, il servizio restituisce una risposta HTTP 201.
I dati seguenti vengono restituiti in formato JSON mediante il servizio.
- Statement
-
L'istruzione di autorizzazione aggiunta alla policy di funzione.
Tipo: stringa
Errori
Per informazioni sugli errori comuni a tutte le operazioni, consultare Errori comuni.
- 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 .
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
GetFunctiono l'GetAliasAPI 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 .
Codice di stato HTTP: 429
Vedi anche
Per ulteriori informazioni sull'utilizzo di questa API in uno degli SDK AWS specifici della lingua, consulta quanto segue: