AddPermission - AWS Lambda

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AddPermission

Gewährt einem AWS-Service, AWS-Konto oder einer AWS-Organisation die Berechtigung, eine Funktion zu nutzen. Sie können die Richtlinie auf Funktionsebene anwenden oder einen Qualifier angeben, um den Zugriff auf eine einzelne Version oder einen einzelnen Alias zu beschränken. Wenn Sie einen Qualifier verwenden, muss der Aufrufer den vollständigen Amazon-Ressourcenname (ARN) dieser Version oder des Alias verwenden, um die Funktion aufzurufen. Hinweis: Lambda unterstützt das Hinzufügen von Richtlinien zu Version $LASTES nicht.

Um einem anderen Konto die Berechtigung zu gewähren, geben Sie die Konto-ID als a Principal. Um einer Organisation Berechtigungen in AWS Organizations zu gewähren, geben Sie die Organisations-ID als PrincipalOrgID an. Für AWS-Services ist der Prinzipal ein vom Service definierter Bezeichner im Domainstil (z. B. s3.amazonaws.com oder sns.amazonaws.com). Für AWS-Services können Sie außerdem den ARN der zugehörigen Ressource als den SourceArn angeben. Wenn Sie einem Services-Prinzipal die Berechtigung erteilen, ohne die Quelle anzugeben, können andere Konten möglicherweise Ressourcen in Ihrem Konto konfigurieren, um Ihre Lambda-Funktion aufzurufen.

Diese Operation fügt einer ressourcenbasierten Berechtigungsrichtlinie für die Funktion eine Anweisung hinzu. Weitere Informationen über Funktionsrichtlinien finden Sie unter Verwenden von ressourcenbasierten Richtlinien für Lambda.

Anforderungssyntax

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" }

URI-Anfrageparameter

Die Anforderung verwendet die folgenden URI-Parameter.

FunctionName

Der Name der Lambda-Funktion, der Version oder des Alias.

Name Formate
  • Funktionsnamemy-function (nur Name), my-function:v1 (mit Alias).

  • Funktions-ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partielle ARN123456789012:function:my-function.

Sie können an jedes der Formate eine Versionsnummer oder einen Alias anhängen. Die Längenbeschränkung gilt nur für den gesamten ARN. Wenn Sie nur den Funktionsnamen angeben, ist dieser auf 64 Zeichen begrenzt.

Längenbeschränkungen: Minimale Länge von 1. Maximale Länge beträgt 140 Zeichen.

Pattern: (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-_]+))?

Erforderlich: Ja

Qualifier

Geben Sie eine Version oder einen Alias hinzu, um einer veröffentlichten Version der Funktion Berechtigungen hinzuzufügen.

Längenbeschränkungen: Minimale Länge von 1. Maximale Länge beträgt 128 Zeichen.

Pattern: (|[a-zA-Z0-9$_-]+)

Anforderungstext

Die Anforderung akzeptiert die folgenden Daten im JSON-Format.

Action

Die Aktion, die der Prinzipal für die Funktion anwenden kann. Beispiel: lambda:InvokeFunction oder lambda:GetFunction.

Typ: Zeichenfolge

Pattern: (lambda:[*]|lambda:[a-zA-Z]+|[*])

Erforderlich: Ja

EventSourceToken

Ein Token für Alexa-Smart-Home-Funktionen, das der Aufrufer bereitstellen muss.

Typ: Zeichenfolge

Längenbeschränkungen: Minimale Länge von 0. Maximale Länge beträgt 256 Zeichen.

Pattern: [a-zA-Z0-9._\-]+

Erforderlich: Nein

FunctionUrlAuthType

Die Art der Authentifizierung, die Ihre Funktions-URL verwendet. Setzen Sie diese Option auf AWS_IAM, wenn Sie den Zugriff nur auf authentifizierte Benutzer beschränken möchten. Setzen Sie sie auf NONE, wenn Sie die IAM-Authentifizierung umgehen möchten, um einen öffentlichen Endpunkt zu erstellen. Weitere Informationen finden Sie unter Sicherheits- und Authentifizierungsmodell für Lambda-Funktions-URLs.

Typ: Zeichenfolge

Zulässige Werte: NONE | AWS_IAM

Erforderlich: Nein

Principal

Das AWS-Service oder der AWS-Konto, der die Funktion aufruft. Wenn Sie einen Service angeben, verwenden Sie SourceArn oder SourceAccount steuern, welche Benutzer über die Funktion aufrufen kann.

Typ: Zeichenfolge

Pattern: [^\s]+

Erforderlich: Ja

PrincipalOrgID

Die Kennung für Ihre Organisation in AWS Organizations. Verwenden Sie diesen, um allen AWS-Konten unter dieser Organisation Berechtigungen zu gewähren.

Typ: Zeichenfolge

Längenbeschränkungen: Minimale Länge von 12. Maximale Länge von 34.

Pattern: ^o-[a-z0-9]{10,32}$

Erforderlich: Nein

RevisionId

Aktualisieren Sie die Richtlinie nur, wenn die Revisions-ID mit der angegebenen ID übereinstimmt. Verwenden Sie diese Option, um das Ändern einer Richtlinie zu vermeiden, die sich seit der letzten Lesung geändert hat.

Typ: Zeichenfolge

Erforderlich: Nein

SourceAccount

Für AWS-Service die ID des AWS-Konto, dem die Ressource gehört. Verwenden Sie diese zusammen mit SourceArn, um sicherzustellen, dass das angegebene Konto Eigentümer der Ressource ist. Es ist möglich, dass ein Amazon S3-Bucket von seinem Besitzer gelöscht und von einem anderen Konto neu erstellt wird.

Typ: Zeichenfolge

Längenbeschränkungen: Maximale Länge von 12.

Pattern: \d{12}

Erforderlich: Nein

SourceArn

Für AWS-Services der ARN der AWS-Ressource, die die Funktion aufruft. Zum Beispiel ein Amazon S3-Bucket oder ein Amazon SNS-Thema.

Beachten Sie, dass Lambda den Vergleich mit dem StringLike-Operator konfiguriert.

Typ: Zeichenfolge

Pattern: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

Erforderlich: Nein

StatementId

Ein Anweisungsbezeichner, der die Anweisung von anderen in derselben Richtlinie unterscheidet.

Typ: Zeichenfolge

Längenbeschränkungen: Minimale Länge von 1. Maximale Länge beträgt 100 Zeichen.

Pattern: ([a-zA-Z0-9-_]+)

Erforderlich: Ja

Antwortsyntax

HTTP/1.1 201 Content-type: application/json { "Statement": "string" }

Antwortelemente

Wenn die Aktion erfolgreich ist, sendet der Service eine HTTP-201-Antwort zurück.

Die folgenden Daten werden vom Service im JSON-Format zurückgegeben.

Statement

Die Berechtigungsanweisung, die der Funktionsrichtlinie hinzugefügt wurde.

Typ: Zeichenfolge

Fehler

Weitere Informationen zu den allgemeinen Fehlern, die bei allen Aktionen zurückgegeben werden, finden Sie unter Häufige Fehler.

InvalidParameterValueException

Einer der Parameter in der Anfrage ist ungültig.

HTTP Status Code: 400

PolicyLengthExceededException

Die Berechtigungsrichtlinie für die Ressource ist zu groß. Weitere Informationen finden Sie unter Lambda-Kontingente.

HTTP Status Code: 400

PreconditionFailedException

Das RevisionId bereitgestellte stimmt nicht mit dem neuesten RevisionId für die Lambda-Funktion oder den Alias überein. Rufen Sie die GetFunction oder die GetAlias -API-Operation auf, um das neueste RevisionId für Ihre Ressource abzurufen.

HTTP-Statuscode: 412

ResourceConflictException

Die Ressource ist bereits vorhanden, oder ein anderer Vorgang ist im Gange.

HTTP-Statuscode: 409

ResourceNotFoundException

Die in der Anforderung angegebene Ressource ist nicht vorhanden.

HTTP Status Code: 404

ServiceException

Beim Service AWS Lambda trat ein interner Fehler auf.

HTTP Status Code: 500

TooManyRequestsException

Der Durchsatz einer Anforderung wurde überschritten. Weitere Informationen finden Sie unter Lambda-Kontingente.

HTTP-Statuscode: 429

Weitere Informationen finden Sie auch unter:

Weitere Informationen zur Verwendung dieser API in einem der sprachspezifischen AWS-SDKs finden Sie unter: