GetContextKeysForCustomPolicyOR와 함께 사용 AWS SDK CLI - AWS SDK코드 예제

AWS 문서 AWS SDK SDK 예제 GitHub 리포지토리에 더 많은 예제가 있습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

GetContextKeysForCustomPolicyOR와 함께 사용 AWS SDK CLI

다음 코드 예제는 GetContextKeysForCustomPolicy의 사용 방법을 보여 줍니다.

CLI
AWS CLI

예 1: 명령줄에서 매개 변수로 제공된 하나 이상의 사용자 지정 JSON 정책에서 참조하는 컨텍스트 키를 나열하려면

다음 get-context-keys-for-custom-policy 명령은 제공된 각 정책을 구문 분석하고 해당 정책에서 사용되는 컨텍스트 키를 나열합니다. 이 명령을 사용하여 정책 시뮬레이터 명령 simulate-custom-policysimulate-custom-policy를 성공적으로 사용하기 위해 제공해야 하는 컨텍스트 키 값을 식별합니다. get-context-keys-for-custom-policy명령을 사용하여 IAM 사용자 또는 역할과 관련된 모든 정책에서 사용하는 컨텍스트 키 목록을 검색할 수도 있습니다. file://로 시작하는 파라미터 값은 명령에 파일을 읽고 파일 이름 자체 대신 파라미터 값으로 내용을 사용하도록 지시합니다.

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

출력:

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

예 2: 파일 입력으로 제공된 하나 이상의 사용자 지정 JSON 정책에서 참조하는 컨텍스트 키를 나열하려면

다음 get-context-keys-for-custom-policy 명령은 정책이 파라미터 대신 파일로 제공된다는 점을 제외하면 이전 예와 동일합니다. 명령에는 구조 JSON 목록이 아니라 문자열 목록이 필요하므로 파일을 다음과 같이 JSON 구조화해야 합니다. 단, 파일을 하나로 축소할 수는 있습니다.

[ "Policy1", "Policy2" ]

예를 들어 이전 예제의 정책이 포함된 파일은 다음과 같아야 합니다. 정책 문자열 내에 포함된 각 큰따옴표는 앞에 백슬래시를 붙여 이스케이프 처리해야 합니다.

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

그런 다음 이 파일을 다음 명령에 제출할 수 있습니다.

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

출력:

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

자세한 내용은 사용AWS IAM 설명서의 IAM 정책 시뮬레이터 (AWS CLI및 AWS API) 사용을 참조하십시오.

PowerShell
에 대한 도구 PowerShell

예제 1: 이 예제는 제공된 정책 json에 있는 모든 컨텍스트 키를 가져옵니다. 여러 정책을 제공하려면 쉼표로 구분된 값 목록으로 제공합니다.

$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