À utiliser GetContextKeysForCustomPolicy avec un AWS SDK ou CLI - AWS Identity and Access Management

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

À utiliser GetContextKeysForCustomPolicy avec un AWS SDK ou CLI

Les exemples de code suivants montrent comment utiliserGetContextKeysForCustomPolicy.

CLI
AWS CLI

Exemple 1 : pour répertorier les clés de contexte référencées par une ou plusieurs JSON politiques personnalisées fournies en paramètre sur la ligne de commande

La get-context-keys-for-custom-policy commande suivante analyse chaque politique fournie et répertorie les clés de contexte utilisées par ces politiques. Utilisez cette commande pour identifier les valeurs de clé de contexte que vous devez fournir pour utiliser correctement les commandes du simulateur de politiques simulate-custom-policy etsimulate-custom-policy. Vous pouvez également récupérer la liste des clés de contexte utilisées par toutes les politiques associées à un IAM utilisateur ou à un rôle à l'aide de la get-context-keys-for-custom-policy commande. Les valeurs de paramètres commençant file:// par indiquent à la commande de lire le fichier et d'utiliser le contenu comme valeur du paramètre au lieu du nom du fichier lui-même.

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

Sortie :

{ "ContextKeyNames": [ "aws:username", "aws:CurrentTime" ] }

Exemple 2 : pour répertorier les clés de contexte référencées par une ou plusieurs JSON politiques personnalisées fournies en entrée de fichier

La get-context-keys-for-custom-policy commande suivante est identique à l'exemple précédent, sauf que les politiques sont fournies dans un fichier plutôt que sous forme de paramètre. Comme la commande attend une JSON liste de chaînes et non une liste de JSON structures, le fichier doit être structuré comme suit, bien que vous puissiez le réduire en une seule.

[ "Policy1", "Policy2" ]

Ainsi, par exemple, un fichier contenant la politique de l'exemple précédent doit ressembler à ce qui suit. Vous devez éviter chaque guillemet intégré dans la chaîne de politique en le faisant précéder d'une « barre oblique inverse ».

[ "{\"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\"}}}}" ]

Ce fichier peut ensuite être soumis à la commande suivante.

aws iam get-context-keys-for-custom-policy \ --policy-input-list file://policyfile.json

Sortie :

{ "ContextKeyNames": [ "aws:username", "aws:CurrentTime" ] }

Pour plus d'informations, consultez la section Utilisation du simulateur de IAM politiques (AWS CLIet AWS API) dans le guide de AWS IAM l'utilisateur.

PowerShell
Outils pour PowerShell

Exemple 1 : Cet exemple récupère toutes les clés de contexte présentes dans la politique JSON fournie. Afin de fournir plusieurs politiques, vous pouvez fournir une liste de valeurs séparées par des virgules.

$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

Pour obtenir la liste complète des guides AWS SDK de développement et des exemples de code, consultezL'utilisation de ce service avec un AWS SDK. Cette rubrique inclut également des informations sur la mise en route et des détails sur SDK les versions précédentes.