Úselo GetContextKeysForCustomPolicy con un CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Úselo GetContextKeysForCustomPolicy con un CLI

En los siguientes ejemplos de código se muestra cómo se utiliza GetContextKeysForCustomPolicy.

CLI
AWS CLI

Ejemplo 1: Para enumerar las claves de contexto a las que hacen referencia una o más JSON políticas personalizadas proporcionadas como parámetro en la línea de comandos

El siguiente comando get-context-keys-for-custom-policy analiza cada política proporcionada y enumera las claves de contexto utilizadas por esas políticas. Utilice este comando para identificar qué valores clave de contexto debe proporcionar para utilizar correctamente los comandos del simulador de políticas simulate-custom-policy ysimulate-custom-policy. También puede recuperar la lista de claves de contexto utilizadas por todas las políticas asociadas a un IAM usuario o rol mediante el get-context-keys-for-custom-policy comando. Los parámetros que comienzan con file:// indican al comando que lea el contenido del archivo y lo use como valor del parámetro en lugar del nombre del archivo en sí.

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

Salida:

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

Ejemplo 2: Para enumerar las claves de contexto a las que hacen referencia una o más JSON políticas personalizadas proporcionadas como entrada de archivo

El siguiente comando get-context-keys-for-custom-policy es igual al anterior, excepto que las políticas se proporcionan en un archivo y no como un parámetro. Como el comando espera una JSON lista de cadenas y no una lista de JSON estructuras, el archivo debe estructurarse de la siguiente manera, aunque puede comprimirlo en una sola.

[ "Policy1", "Policy2" ]

Así, por ejemplo, un archivo que contenga la política del ejemplo anterior debe tener el siguiente aspecto. Debe evitar cada comilla doble incrustada en la cadena de la política precediéndola de una barra invertida “.

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

A continuación, este archivo se puede enviar al siguiente comando.

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

Salida:

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

Para obtener más información, consulte Uso del simulador de IAM políticas (AWS CLIy AWS API) en la Guía del AWS IAM usuario.

PowerShell
Herramientas para PowerShell

Ejemplo 1: este ejemplo busca todas las claves de contexto presentes en el JSON de la política proporcionada. Para proporcionar varias políticas, puede proporcionarlas como una lista de valores separados por comas.

$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