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 AWS servizio, 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 AWS servizi, il principal è un identificatore di tipo dominio definito dal servizio, ad esempio s3.amazonaws.com
o sns.amazonaws.com
. Per i servizi AWS servizi 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:InvokeFunction
olambda: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_IAM
se si desidera limitare l'accesso solo a utenti autenticati. Impostare suNONE
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.Tipo: stringa
Valori validi:
NONE | AWS_IAM
Campo obbligatorio: no
- Principal
-
Il AWS servizio o l'Account AWS che richiama la funzione. Se specifichi un servizio, utilizza
SourceArn
oSourceAccount
per 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 AWS servizio, 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
-
Per i AWS servizi, 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
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 .
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: