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.
Um eine Funktion mit einer anderen gemeinsam zu nutzen AWS-Konto, fügen Sie der ressourcenbasierten Richtlinie der Funktion eine kontoübergreifende Berechtigungsanweisung hinzu. Führen Sie den Befehl add-permissionprincipal
an. Im folgenden Beispiel wird dem Konto 111122223333
die Berechtigung zum Aufrufen von my-function
mit dem Alias prod
erteilt.
aws lambda add-permission \ --function-name my-function:
prod
\ --statement-id xaccount \ --action lambda:InvokeFunction \ --principal111122223333
\ --output text
Die Ausgabe sollte folgendermaßen aussehen:
{"Sid":"xaccount","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::111122223333:root"},"Action":"lambda:InvokeFunction","Resource":"arn:aws:lambda:us-east-1:123456789012:function:my-function"}
Die ressourcenbasierte Richtlinie erteilt dem anderen Konto die Berechtigung für den Zugriff auf die Funktion, erlaubt den Benutzern in diesem Konto jedoch nicht, ihre Berechtigungen zu überschreiten. Benutzer in dem anderen Konto müssen über die entsprechenden Benutzerberechtigungen verfügen, um die Lambda-API verwenden zu können.
Um den Zugriff auf einen Benutzer oder eine Rolle in einem anderen Konto einzuschränken, geben Sie den vollständigen ARN der Identität als Prinzipal an. Beispiel, arn:aws:iam::123456789012:user/developer
.
Der Alias schränkt ein, welche Version das andere Konto aufrufen kann. Dies erfordert, dass das andere Konto den Alias in den ARN der Funktion einschließt.
aws lambda invoke \ --function-name arn:aws:lambda:us-east-2:123456789012:function:my-function:prod out
Die Ausgabe sollte folgendermaßen aussehen:
{
"StatusCode": 200,
"ExecutedVersion": "1"
}
Der Funktionsbesitzer kann dann den Alias so aktualisieren, dass er auf eine neue Version verweist, ohne dass der Aufrufer die Methode ändern muss, mit der er Ihre Funktion aufruft. Dadurch wird sichergestellt, dass das andere Konto seinen Code nicht ändern muss, um die neue Version zu verwenden, und nur zum Aufruf der Version der Funktion berechtigt ist, die dem Alias zugeordnet ist.
Sie können kontoübergreifenden Zugriff für die meisten API-Aktionen erteilen, die für eine vorhandene Funktion ausgeführt werden. Beispielsweise könnten Sie Zugriff auf lambda:ListAliases
gewähren, damit ein Konto eine Liste der Aliasse abrufen kann, oder lambda:GetFunction
, damit es Ihren Funktionscode herunterladen kann. Fügen Sie jede Berechtigung separat hinzu oder verwenden Sie lambda:*
, um Zugriff auf alle Aktionen der angegebenen Funktion zu gewähren.
Um anderen Konten Berechtigungen für mehrere Funktionen oder für Aktionen zu erteilen, die nicht für eine Funktion ausgeführt werden, empfehlen wir die Verwendung von IAM-Rollen.