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
-
Funktionsname –
my-function
(nur Name),my-function:v1
(mit Alias). -
Funktions-ARN –
arn:aws:lambda:us-west-2:123456789012:function:my-function
. -
Partielle ARN –
123456789012: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
oderlambda: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 aufNONE
, 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
oderSourceAccount
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 dieGetAlias
-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: