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.
Feinabstimmung der Abschnitte „Ressourcen“ und „Bedingungen“ der Richtlinien
Sie können den Umfang der Benutzerberechtigungen einschränken, indem Sie Ressourcen und Bedingungen in einer AWS Identity and Access Management (IAM) -Richtlinie angeben. Jede Aktion in einer Richtlinie unterstützt eine Kombination aus Ressourcen- und Bedingungstypen, die je nach Verhalten der Aktion variiert.
Jede IAM Richtlinienaussage erteilt die Genehmigung für eine Aktion, die an einer Ressource ausgeführt wird. Wenn die Aktion nicht auf eine benannte Ressource reagiert oder Sie die Berechtigung zum Ausführen der Aktion für alle Ressourcen erteilen, wird der Wert der Ressource in der Richtlinie als Platzhalter () dargeste (*
). Bei vielen Aktionen können Sie die Ressourcen einschränken, die ein Benutzer ändern kann, indem Sie den Amazon-Ressourcennamen (ARN) einer Ressource oder ein ARN Muster angeben, das mehreren Ressourcen entspricht.
Um die Berechtigungen pro Ressource einzuschränken, geben Sie die Ressource nach anARN.
Lambda-Ressourcenformat ARN
-
Funktion –
arn:aws:lambda:
us-west-2
:123456789012
:function:my-function
-
Funktionsversion –
arn:aws:lambda:
us-west-2
:123456789012
:function:my-function
:1
-
Funktionsalias –
arn:aws:lambda:
us-west-2
:123456789012
:function:my-function
:TEST
-
Mapping von Ereignisquellen –
arn:aws:lambda:
us-west-2
:123456789012
:event-source-mapping:fa123456-14a1-4fd2-9fec-83de64ad683de6d47
-
Ebene –
arn:aws:lambda:
us-west-2
:123456789012
:layer:my-layer
-
Ebenenversion –
arn:aws:lambda:
us-west-2
:123456789012
:layer:my-layer
:1
Die folgende Richtlinie ermöglicht es einem Benutzer beispielsweise, eine Funktion AWS-Konto 123456789012
aufzurufen, die my-function
in der Region USA West (Oregon) AWS benannt ist.
Beispiel Aufrufen der Funktionsrichtlinie
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Invoke", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ],
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:my-function"
} ] }
Dies ist ein Sonderfall, in dem sich die Aktions-ID (lambda:InvokeFunction
) von der API Operation (Invoke) unterscheidet. Bei anderen Aktionen ist die Aktionskennung der Operationsname mit dem Präfix lambda:
.
Sections
Den Abschnitt „Bedingung“ in Richtlinien verstehen
Bedingungen sind ein optionales Richtlinienelement, das zusätzliche Logik anwendet, um zu bestimmen, ob eine Aktion zulässig ist. Zusätzlich zu gemeinsamen Bedingungen, die alle Aktionen unterstützen, definiert Lambda Bedingungstypen, die Sie verwenden können, um die Werte zusätzlicher Parameter für einige Aktionen einzuschränken.
Mit der Bedingung lambda:Principal
können Sie beispielsweise den Service oder das Konto beschränken, für das ein Benutzer in der ressourcenbasierten Richtlinie einer Funktion Aufrufzugriff gewähren kann. Mit der folgenden Richtlinie kann ein Benutzer Amazon Simple Notification Service (AmazonSNS) -Themen die Erlaubnis erteilen, eine Funktion mit dem Namen test
aufzurufen.
Beispiel Verwalten von Berechtigungen für Funktionsrichtlinien
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageFunctionPolicy", "Effect": "Allow", "Action": [ "lambda:AddPermission", "lambda:RemovePermission" ], "Resource": "arn:aws:lambda:us-west-2:123456789012:function:test:*",
"Condition": { "StringEquals": { "lambda:Principal": "sns.amazonaws.com" } }
} ] }
Die Bedingung setzt voraus, dass der Auftraggeber Amazon ist SNS und kein anderer Service oder Account. Das Ressourcenmuster erfordert, dass der Funktionsname test
lautet und eine Versionsnummer oder einen Alias enthält. Beispiel, test:v1
.
Weitere Informationen zu Ressourcen und Bedingungen für Lambda und andere AWS Dienste finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für AWS Dienste in der Service Authorization Reference.
Referenzierung von Funktionen im Abschnitt „Ressourcen“ der Richtlinien
Sie verweisen in einer Richtlinienerklärung mit einem Amazon-Ressourcennamen (ARN) auf eine Lambda-Funktion. Das Format einer Funktion ARN hängt davon ab, ob Sie auf die gesamte Funktion (unqualifiziert) oder auf eine Funktionsversion oder einen Alias (qualifiziert) verweisen.
Bei API Lambda-Aufrufen können Benutzer eine Version oder einen Alias angeben, indem sie eine Version ARN oder einen Alias ARN im GetFunctionFunctionName
Parameter übergeben oder einen Wert im GetFunctionQualifier
Parameter festlegen. Lambda trifft Autorisierungsentscheidungen, indem es das Ressourcenelement in der IAM Richtlinie sowohl mit den als auch mit den FunctionName
Qualifier
weitergeleiteten API Aufrufen vergleicht. Wenn es keine Übereinstimmung gibt, lehnt Lambda die Anforderung ab.
Unabhängig davon, ob Sie eine Aktion für Ihre Funktion zulassen oder ablehnen, müssen Sie in Ihrer Richtlinienerklärung die richtigen ARN Funktionstypen verwenden, um die erwarteten Ergebnisse zu erzielen. Wenn Ihre Richtlinie beispielsweise auf das Unqualifizierte verweist, akzeptiert Lambda AnfragenARN, die auf das Unqualifizierte verweisen, lehnt ARN jedoch Anfragen ab, die auf ein qualifiziertes Objekt verweisen. ARN
Anmerkung
Sie können kein Platzhalterzeichen (*) verwenden, um die Konto-ID abzugleichen. Weitere Informationen zur akzeptierten Syntax finden Sie in der IAMJSONRichtlinienreferenz im Benutzerhandbuch. IAM
Beispiel ermöglicht den Aufruf eines unqualifizierten ARN
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction"
} ] }
Wenn Ihre Richtlinie auf eine bestimmte qualifizierte Person verweistARN, akzeptiert Lambda Anfragen, die sich auf diese beziehen, ARN lehnt jedoch Anfragen ab, die sich auf die unqualifizierte Person ARN oder eine andere qualifizierte Person beziehenARN, z. B. myFunction:2
Beispiel ermöglicht den Aufruf eines bestimmten qualifizierten ARN
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction:1"
} ] }
Wenn Ihre Richtlinie auf eine qualifizierte ARN Verwendung verweist:*
, akzeptiert Lambda jede qualifizierte Nutzung, lehnt ARN jedoch Anfragen ab, die sich auf die unqualifizierte Nutzung beziehen. ARN
Beispiel ermöglicht den Aufruf aller qualifizierten ARN
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction:*"
} ] }
Wenn Ihre Richtlinie auf eine ARN Nutzung verweist*
, akzeptiert Lambda jede qualifizierte oder ARN unqualifizierte Nutzung.
Beispiel erlaubt den Aufruf aller qualifizierten oder unqualifizierten ARN
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction*"
} ] }
Unterstützte Funktionsaktionen
Aktionen, die sich auf eine Funktion beziehen, können nach Funktion, Version oder Alias auf eine bestimmte Funktion beschränkt werdenARN, wie in der folgenden Tabelle beschrieben. Aktionen, die keine Ressourcenbeschränkungen unterstützen, werden für alle Ressourcen gewährt (*
).
Aktion | Ressource | Bedingung |
---|---|---|
Funktion Funktionsversion Funktionsalias |
|
|
Berechtigung: |
Funktion Funktionsversion Funktionsalias |
|
Funktion |
|
|
Funktion |
|
|
DeleteFunctionCodeSigningConfig |
Funktion |
|
Funktion Funktionsalias |
|
|
Funktion |
|
|
DeleteFunctionEventInvokeConfig |
Funktion |
|
DeleteProvisionedConcurrencyConfig |
Funktionsalias Funktionsversion |
|
|
None |
|
Funktion |
|
|
Funktion |
|
Unterstützte Aktionen zur Zuordnung von Ereignisquellen
Für Ereignisquellenzuordnungen können Sie Lösch- und Aktualisierungsberechtigungen auf eine bestimmte Ereignisquelle beschränken. Mit der Bedingung lambda:FunctionArn
können Sie Benutzer konfigurieren lassen, welche Funktionen von einer Ereignisquelle aufgerufen werden.
Für diese Aktionen ist die Ressource die Ereignisquellen-Zuweisung. Daher bietet Lambda eine Bedingung, mit der Sie Berechtigungen basierend auf der Funktion, die die Ereignisquellen-Zuweisung aufruft, einschränken können.
Aktionen für die Ereignisquellen-Zuweisung | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Aktion | Ressource | Bedingung | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ereignisquellen-Zuweisung |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
None |
Unterstützte Layer-Aktionen
Mit Ebenenaktionen können Sie die Ebenen einschränken, die ein Benutzer verwalten oder mit einer Funktion verwenden kann. Aktionen im Zusammenhang mit der Ebenenverwendung und Ebenenberechtigung reagieren auf die Version einer Ebene, während PublishLayerVersion
auf den Namen einer Ebene reagiert. Beide können mit Platzhaltern verwendet werden, um die Ebenen, mit denen ein Benutzer arbeiten kann, nach Name einzuschränken.
Anmerkung
Die GetLayerVersionAktion umfasst auch GetLayerVersionByArn. Lambda wird nicht GetLayerVersionByArn
als IAM Aktion unterstützt.
Ebenenaktionen | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Aktion | Ressource | Bedingung | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ebenenversion |
None | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ebene |
Keine | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
None |