Weitere AWS-SDK-Beispiele sind im GitHub-Repository Beispiele für AWS Doc SDKs
Verwendung von GetContextKeysForCustomPolicy mit einer CLI
Die folgenden Code-Beispiele zeigen, wie GetContextKeysForCustomPolicy verwendet wird.
- CLI
-
- AWS CLI
-
Beispiel 1: So listen Sie die Kontextschlüssel auf, auf die von einer oder mehreren benutzerdefinierten JSON-Richtlinien verwiesen wird, die als Parameter in der Befehlszeile bereitgestellt werden
Der folgende Befehl
get-context-keys-for-custom-policyanalysiert jede bereitgestellte Richtlinie und listet die von diesen Richtlinien verwendeten Kontextschlüssel auf. Verwenden Sie diesen Befehl, um zu ermitteln, welche Kontextschlüsselwerte Sie angeben müssen, um die Richtlinien-Simulatorbefehlesimulate-custom-policyundsimulate-custom-policyerfolgreich verwenden zu können. Sie können auch die Liste der Kontextschlüssel abrufen, die von allen Richtlinien verwendet werden, die einem IAM-Benutzer oder einer IAM-Rolle zugeordnet sind, indem Sie den Befehlget-context-keys-for-custom-policyverwenden. Parameterwerte, die mitfile://beginnen, weisen den Befehl an, die Datei zu lesen und deren Inhalt als Wert für den Parameter anstelle des Dateinamens selbst zu verwenden.aws iam get-context-keys-for-custom-policy \ --policy-input-list '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/${aws:username}","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2015-08-16T12:00:00Z"}}}}'Ausgabe:
{ "ContextKeyNames": [ "aws:username", "aws:CurrentTime" ] }Beispiel 2: So listen Sie die Kontextschlüssel auf, auf die von einer oder mehreren benutzerdefinierten JSON-Richtlinien verwiesen wird, die als Dateieingabe bereitgestellt werden
Der folgende Befehl
get-context-keys-for-custom-policyist derselbe wie im vorherigen Beispiel, mit der Ausnahme, dass die Richtlinien in einer Datei und nicht als Parameter bereitgestellt werden. Da der Befehl eine JSON-Liste von Zeichenfolgen und keine Liste von JSON-Strukturen erwartet, muss die Datei wie folgt strukturiert sein. Sie können sie jedoch zu einer einzigen Datei zusammenfassen.[ "Policy1", "Policy2" ]Eine Datei, die die Richtlinie aus dem vorherigen Beispiel enthält, muss beispielsweise wie folgt aussehen. Sie müssen jedes eingebettete Anführungszeichen in der Zeichenfolge der Richtlinie durch Voranstellen eines umgekehrten Schrägstrichs '' ersetzen.
[ "{\"Version\": \"2012-10-17\", \"Statement\": {\"Effect\": \"Allow\", \"Action\": \"dynamodb:*\", \"Resource\": \"arn:aws:dynamodb:us-west-2:128716708097:table/${aws:username}\", \"Condition\": {\"DateGreaterThan\": {\"aws:CurrentTime\": \"2015-08-16T12:00:00Z\"}}}}" ]Diese Datei kann dann dem folgenden Befehl übergeben werden.
aws iam get-context-keys-for-custom-policy \ --policy-input-listfile://policyfile.jsonAusgabe:
{ "ContextKeyNames": [ "aws:username", "aws:CurrentTime" ] }Weitere Informationen finden Sie unter Verwendung des IAM-Richtliniensimulators (AWS-CLI und AWS-API) im Handbuch für AWS-IAM-Benutzer.
-
Weitere API-Informationen finden Sie unter GetContextKeysForCustomPolicy
in der AWS CLI-Befehlsreferenz.
-
- PowerShell
-
- Tools für PowerShell V4
-
Beispiel 1: In diesem Beispiel werden alle Kontextschlüssel abgerufen, die im bereitgestellten Richtlinien-JSON vorhanden sind. Um mehrere Richtlinien bereitzustellen, können Sie eine durch Kommas getrennte Werteliste bereitstellen.
$policy1 = '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2015-08-16T12:00:00Z"}}}}' $policy2 = '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/"}}' Get-IAMContextKeysForCustomPolicy -PolicyInputList $policy1,$policy2-
Weitere API-Informationen finden Sie unter GetContextKeysForCustomPolicy in der AWS -Tools für PowerShell-Cmdlet-Referenz (V4).
-
- Tools für PowerShell V5
-
Beispiel 1: In diesem Beispiel werden alle Kontextschlüssel abgerufen, die im bereitgestellten Richtlinien-JSON vorhanden sind. Um mehrere Richtlinien bereitzustellen, können Sie eine durch Kommas getrennte Werteliste bereitstellen.
$policy1 = '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2015-08-16T12:00:00Z"}}}}' $policy2 = '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/"}}' Get-IAMContextKeysForCustomPolicy -PolicyInputList $policy1,$policy2-
Weitere API-Informationen finden Sie unter GetContextKeysForCustomPolicy in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).
-