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

AWS Doc SDK ExamplesWord AWS SDK 리포지토리에는 더 많은 GitHub 예제가 있습니다.

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

CLI와 GetContextKeysForCustomPolicy 함께 사용

다음 코드 예제는 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" ] }

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

PowerShell
for 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