AddPermission - AWS Lambda

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:InvokeFunction o lambda: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 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.

Tipo: stringa

Valori validi: NONE | AWS_IAM

Campo obbligatorio: no

Principal

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

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 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 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 GetFunction o 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: