이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용하여 확인된 권한 예제 AWS CLI
다음 코드 예제에서는 Verified Permissions와 AWS Command Line Interface 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.
각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.
주제
작업
다음 코드 예시에서는 create-identity-source
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
자격 증명 소스를 생성하려면
다음
create-identity-source
예제에서는 지정된 Amazon Cognito 사용자 풀에 저장된 자격 증명을 참조할 수 있는 자격 증명 소스를 생성합니다. 이러한 자격 증명은 Verified Permissions에서 유형의 엔터티로 사용할 수 있습니다User
.aws verifiedpermissions create-identity-source \ --configuration
file://config.txt
\ --principal-entity-type"User"
\ --policy-store-idPSEXAMPLEabcdefg111111
config.txt
의 콘텐츠:{ "cognitoUserPoolConfiguration": { "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5", "clientIds":["a1b2c3d4e5f6g7h8i9j0kalbmc"] } }
출력:
{ "createdDate": "2023-05-19T20:30:28.214829+00:00", "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }
자격 증명 소스에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 자격 증명 공급자와 함께 Amazon Verified Permissions 사용을 참조하세요.
-
자세한 API 내용은 명령 참조CreateIdentitySource
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 create-policy-store
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정책 스토어를 생성하려면
다음
create-policy-store
예제에서는 현재 AWS 리전에 정책 스토어를 생성합니다.aws verifiedpermissions create-policy-store \ --validation-settings
"mode=STRICT"
출력:
{ "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-05-16T17:41:29.103459+00:00", "lastUpdatedDate": "2023-05-16T17:41:29.103459+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }
정책 스토어에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책 스토어를 참조하세요.
-
자세한 API 내용은 명령 참조CreatePolicyStore
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 create-policy-template
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
예제 1: 정책 템플릿 생성
다음
create-policy-template
예제에서는 보안 주체의 자리 표시자를 포함하는 문이 포함된 정책 템플릿을 생성합니다.aws verifiedpermissions create-policy-template \ --definition
file://template1.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
template1.txt
파일의 콘텐츠:permit( principal in ?principal, action == Action::"view", resource == Photo::"VacationPhoto94.jpg" );
출력:
{ "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" }
정책 템플릿에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책 템플릿을 참조하세요.
-
자세한 API 내용은 명령 참조CreatePolicyTemplate
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 create-policy
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
예제 1: 정적 정책 생성
다음
create-policy
예제에서는 보안 주체와 리소스를 모두 지정하는 정책 범위를 사용하여 정적 정책을 생성합니다.aws verifiedpermissions create-policy \ --definition
file://definition1.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
definition1.txt
파일의 콘텐츠:{ "static": { "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album", "statement": "permit(principal in UserGroup::\"janeFriends\", action, resource in Album::\"vacationFolder\" );" } }
출력:
{ "createdDate": "2023-06-12T20:33:37.382907+00:00", "lastUpdatedDate": "2023-06-12T20:33:37.382907+00:00", "policyId": "SPEXAMPLEabcdefg111111", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "STATIC", "principal": { "entityId": "janeFriends", "entityType": "UserGroup" }, "resource": { "entityId": "vacationFolder", "entityType": "Album" } }
예제 2: 모든 사용자에게 리소스에 대한 액세스 권한을 부여하는 정적 정책을 생성하려면
다음
create-policy
예제에서는 리소스만 지정하는 정책 범위를 사용하여 정적 정책을 생성합니다.aws verifiedpermissions create-policy \ --definition
file://definition2.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
definition2.txt
파일의 콘텐츠:{ "static": { "description": "Grant everyone access to the publicFolder Album", "statement": "permit(principal, action, resource in Album::\"publicFolder\");" } }
출력:
{ "createdDate": "2023-06-12T20:39:44.975897+00:00", "lastUpdatedDate": "2023-06-12T20:39:44.975897+00:00", "policyId": "PbfR73F8oh5MMfr9uRtFDB", "policyStoreId": "PSEXAMPLEabcdefg222222", "policyType": "STATIC", "resource": { "entityId": "publicFolder", "entityType": "Album" } }
예제 3: 지정된 템플릿과 연결된 템플릿 연결 정책을 생성하려면
다음
create-policy
예제에서는 지정된 정책 템플릿을 사용하여 템플릿 연결 정책을 생성하고 지정된 보안 주체를 새 템플릿 연결 정책과 함께 사용하도록 연결합니다.aws verifiedpermissions create-policy \ --definition
file://definition.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
definition.txt
의 콘텐츠:{ "templateLinked": { "policyTemplateId": "PTEXAMPLEabcdefg111111", "principal": { "entityType": "User", "entityId": "alice" } } }
출력:
{ "createdDate": "2023-06-12T20:49:51.490211+00:00", "lastUpdatedDate": "2023-06-12T20:49:51.490211+00:00", "policyId": "TPEXAMPLEabcdefg111111", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "TEMPLATE_LINKED", "principal": { "entityId": "alice", "entityType": "User" }, "resource": { "entityId": "VacationPhoto94.jpg", "entityType": "Photo" } }
정책에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책을 참조하세요.
-
자세한 API 내용은 명령 참조CreatePolicy
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 delete-identity-source
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
자격 증명 소스를 삭제하려면
다음
delete-identity-source
예제에서는 지정된 ID가 있는 자격 증명 소스를 삭제합니다.aws verifiedpermissions delete-identity-source \ --identity-source-id
ISEXAMPLEabcdefg111111
\ --policy-store-idPSEXAMPLEabcdefg111111
이 명령은 출력을 생성하지 않습니다.
자격 증명 소스에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 자격 증명 공급자와 함께 Amazon Verified Permissions 사용을 참조하세요.
-
자세한 API 내용은 명령 참조DeleteIdentitySource
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 delete-policy-store
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정책 스토어를 삭제하려면
다음
delete-policy-store
예제에서는 지정된 ID가 있는 정책 스토어를 삭제합니다.aws verifiedpermissions delete-policy-store \ --policy-store-id
PSEXAMPLEabcdefg111111
이 명령은 출력을 생성하지 않습니다.
정책 스토어에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책 스토어를 참조하세요.
-
자세한 API 내용은 명령 참조DeletePolicyStore
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 delete-policy-template
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정책 템플릿을 삭제하려면
다음
delete-policy-template
예제에서는 지정된 ID가 있는 정책 템플릿을 삭제합니다.aws verifiedpermissions delete-policy \ --policy-template-id
PTEXAMPLEabcdefg111111
\ --policy-store-idPSEXAMPLEabcdefg111111
이 명령은 출력을 생성하지 않습니다.
정책 템플릿에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책 템플릿을 참조하세요.
-
자세한 API 내용은 명령 참조DeletePolicyTemplate
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 delete-policy
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정적 또는 템플릿 연결 정책을 삭제하려면
다음
delete-policy
예제에서는 지정된 ID가 있는 정책을 삭제합니다.aws verifiedpermissions delete-policy \ --policy-id
SPEXAMPLEabcdefg111111
\ --policy-store-idPSEXAMPLEabcdefg111111
이 명령은 출력을 생성하지 않습니다.
정책에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책을 참조하세요.
-
자세한 API 내용은 명령 참조DeletePolicy
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-identity-source
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
자격 증명 소스에 대한 세부 정보를 검색하려면
다음
get-identity-source
예제에서는 지정된 ID가 있는 자격 증명 소스에 대한 세부 정보를 표시합니다.aws verifiedpermissions get-identity-source \ --identity-source
ISEXAMPLEabcdefg111111
\ --policy-store-idPSEXAMPLEabcdefg111111
출력:
{ "createdDate": "2023-06-12T22:27:49.150035+00:00", "details": { "clientIds": [ "a1b2c3d4e5f6g7h8i9j0kalbmc" ], "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_1a2b3c4d5", "openIdIssuer": "COGNITO", "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5" }, "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-06-12T22:27:49.150035+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "principalEntityType": "User" }
자격 증명 소스에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 자격 증명 공급자와 함께 Amazon Verified Permissions 사용을 참조하세요.
-
자세한 API 내용은 명령 참조GetIdentitySource
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-policy-store
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정책 스토어에 대한 세부 정보를 검색하려면
다음
get-policy-store
예제에서는 지정된 ID가 있는 정책 스토어에 대한 세부 정보를 표시합니다.aws verifiedpermissions get-policy-store \ --policy-store-id
PSEXAMPLEabcdefg111111
출력:
{ "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-06-05T20:16:46.225598+00:00", "lastUpdatedDate": "2023-06-08T20:40:23.173691+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "validationSettings": { "mode": "OFF" } }
정책 스토어에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책 스토어를 참조하세요.
-
자세한 API 내용은 명령 참조GetPolicyStore
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-policy-template
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정책 템플릿에 대한 세부 정보를 검색하려면
다음
get-policy-template
예제에서는 지정된 ID가 있는 정책 템플릿에 대한 세부 정보를 표시합니다.aws verifiedpermissions get-policy-template \ --policy-template-id
PTEXAMPLEabcdefg111111
\ --policy-store-idPSEXAMPLEabcdefg111111
출력:
{ "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111", "statement": "permit(\n principal in ?principal,\n action == Action::\"view\",\n resource == Photo::\"VacationPhoto94.jpg\"\n);" }
정책 템플릿에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책 템플릿을 참조하세요.
-
자세한 API 내용은 명령 참조GetPolicyTemplate
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-policy
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정책에 대한 세부 정보를 검색하려면
다음
get-policy
예제에서는 지정된 ID로 정책의 세부 정보를 표시합니다.aws verifiedpermissions get-policy \ --policy-id
PSEXAMPLEabcdefg111111
\ --policy-store-idPSEXAMPLEabcdefg111111
출력:
{ "createdDate": "2023-06-12T20:33:37.382907+00:00", "definition": { "static": { "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album", "statement": "permit(principal in UserGroup::\"janeFriends\", action, resource in Album::\"vacationFolder\" );" } }, "lastUpdatedDate": "2023-06-12T20:33:37.382907+00:00", "policyId": "SPEXAMPLEabcdefg111111", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "STATIC", "principal": { "entityId": "janeFriends", "entityType": "UserGroup" }, "resource": { "entityId": "vacationFolder", "entityType": "Album" } }
정책에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책을 참조하세요.
-
자세한 API 내용은 명령 참조GetPolicy
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-schema
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정책 스토어에서 스키마를 검색하려면
다음
get-schema
예제에서는 지정된 정책 스토어의 스키마 세부 정보를 표시합니다.aws verifiedpermissions get-schema \ --policy-store-id
PSEXAMPLEabcdefg111111
출력:
{ "policyStoreId": "PSEXAMPLEabcdefg111111", "schema": "{\"MySampleNamespace\":{\"entityTypes\":{\"Employee\":{\"shape\":{\"attributes\":{\"jobLevel\":{\"type\":\"Long\"},\"name\":{\"type\":\"String\"}},\"type\":\"Record\"}}},\"actions\":{\"remoteAccess\":{\"appliesTo\":{\"principalTypes\":[\"Employee\"]}}}}}", "createdDate": "2023-06-14T17:47:13.999885+00:00", "lastUpdatedDate": "2023-06-14T17:47:13.999885+00:00" }
스키마에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 정책 스토어 스키마를 참조하세요.
-
자세한 API 내용은 명령 참조GetSchema
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 is-authorized-with-token
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
예제 1: 사용자 요청에 대한 권한 부여 결정을 요청하려면(허용)
다음
is-authorized-with-token
예제에서는 Amazon Cognito 에서 인증한 사용자에 대한 권한 부여 결정을 요청합니다. 요청은 액세스 토큰이 아닌 Cognito에서 제공하는 자격 증명 토큰을 사용합니다. 이 예제에서는 지정된 정보 스토어가 보안 주체를 유형의 엔터티로 반환하도록 구성됩니다CognitoUser
.aws verifiedpermissions is-authorized-with-token \ --action actionId="View",actionType="Action" \ --resource entityId="vacationPhoto94.jpg",entityType="Photo" \ --policy-store-id
PSEXAMPLEabcdefg111111
\ --identity-token"AbCdE12345...long.string...54321EdCbA"
정책 스토어에는 지정된 Cognito 사용자 풀 및 애플리케이션 ID의 ID를 허용하는 다음 문이 있는 정책이 포함되어 있습니다.
permit( principal == CognitoUser::"us-east-1_1a2b3c4d5|a1b2c3d4e5f6g7h8i9j0kalbmc", action, resource == Photo::"VacationPhoto94.jpg" );
출력:
{ "decision":"Allow", "determiningPolicies":[ { "determiningPolicyId":"SPEXAMPLEabcdefg111111" } ], "errors":[] }
Cognito 사용자 풀의 자격 증명 사용에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 자격 증명 공급자와 Amazon Verified Permissions 사용을 참조하세요.
-
자세한 API 내용은 명령 참조IsAuthorizedWithToken
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 is-authorized
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
예제 1: 사용자 요청에 대한 권한 부여 결정을 요청하려면(허용)
다음
is-authorized
예제에서는User
라는 유형의 리소스에 대해updatePhoto
작업을 수행Alice
하려는Photo
라는 유형의 보안 주체에 대한 권한 부여 결정을 요청합니다VacationPhoto94.jpg
.응답은 요청이 하나의 정책에서 허용된다는 것을 보여줍니다.
aws verifiedpermissions is-authorized \ --principal
entityType=User,entityId=alice
\ --actionactionType=Action,actionId=view
\ --resourceentityType=Photo,entityId=VactionPhoto94.jpg
\ --policy-store-idPSEXAMPLEabcdefg111111
출력:
{ "decision": "ALLOW", "determiningPolicies": [ { "policyId": "SPEXAMPLEabcdefg111111" } ], "errors": [] }
예제 2: 사용자 요청에 대한 권한 부여 결정을 요청하려면(거부)
다음 예제는 보안 주체가 라는 점을 제외하고 이전 예제와 동일합니다
User::"Bob"
. 정책 스토어에는 해당 사용자가 에 액세스할 수 있도록 허용하는 정책이 포함되어 있지 않습니다Album::"alice_folder"
.출력은 목록이 비어 있기 때문에
DeterminingPolicies
가 암시적Deny
임을 나타냅니다.aws verifiedpermissions create-policy \ --definition
file://definition2.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
출력:
{ "decision": "DENY", "determiningPolicies": [], "errors": [] }
자세한 내용은 Amazon Verified Permissions 사용 설명서 섹션을 참조하세요.
-
자세한 API 내용은 명령 참조IsAuthorized
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-identity-sources
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
사용 가능한 자격 증명 소스를 나열하려면
다음
list-identity-sources
예제에서는 지정된 정책 스토어의 모든 자격 증명 소스를 나열합니다.aws verifiedpermissions list-identity-sources \ --policy-store-id
PSEXAMPLEabcdefg111111
출력:
{ "identitySources": [ { "createdDate": "2023-06-12T22:27:49.150035+00:00", "details": { "clientIds": [ "a1b2c3d4e5f6g7h8i9j0kalbmc" ], "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_1a2b3c4d5", "openIdIssuer": "COGNITO", "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5" }, "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-06-12T22:27:49.150035+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "principalEntityType": "User" } ] }
자격 증명 소스에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 자격 증명 공급자와 함께 Amazon Verified Permissions 사용을 참조하세요.
-
자세한 API 내용은 명령 참조ListIdentitySources
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-policies
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
사용 가능한 정책을 나열하려면
다음
list-policies
예제에서는 지정된 정책 스토어의 모든 정책을 나열합니다.aws verifiedpermissions list-policies \ --policy-store-id
PSEXAMPLEabcdefg111111
출력:
{ "policies": [ { "createdDate": "2023-06-12T20:33:37.382907+00:00", "definition": { "static": { "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album" } }, "lastUpdatedDate": "2023-06-12T20:33:37.382907+00:00", "policyId": "SPEXAMPLEabcdefg111111", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "STATIC", "principal": { "entityId": "janeFriends", "entityType": "UserGroup" }, "resource": { "entityId": "vacationFolder", "entityType": "Album" } }, { "createdDate": "2023-06-12T20:39:44.975897+00:00", "definition": { "static": { "description": "Grant everyone access to the publicFolder Album" } }, "lastUpdatedDate": "2023-06-12T20:39:44.975897+00:00", "policyId": "SPEXAMPLEabcdefg222222", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "STATIC", "resource": { "entityId": "publicFolder", "entityType": "Album" } }, { "createdDate": "2023-06-12T20:49:51.490211+00:00", "definition": { "templateLinked": { "policyTemplateId": "PTEXAMPLEabcdefg111111" } }, "lastUpdatedDate": "2023-06-12T20:49:51.490211+00:00", "policyId": "SPEXAMPLEabcdefg333333", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "TEMPLATE_LINKED", "principal": { "entityId": "alice", "entityType": "User" }, "resource": { "entityId": "VacationPhoto94.jpg", "entityType": "Photo" } } ] }
정책에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책을 참조하세요.
-
자세한 API 내용은 명령 참조ListPolicies
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-policy-stores
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
사용 가능한 정책 스토어를 나열하려면
다음
list-policy-stores
예제에서는 AWS 리전의 모든 정책 스토어를 나열합니다.create-policy-store
및 를 제외한 Verified Permissions에 대한 모든 명령은 작업하려는 정책 스토어의 ID를 지정list-policy-stores
해야 합니다.aws verifiedpermissions list-policy-stores
출력:
{ "policyStores": [ { "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-06-05T20:16:46.225598+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }, { "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg222222", "createdDate": "2023-06-08T18:09:37.364356+00:00", "policyStoreId": "PSEXAMPLEabcdefg222222" }, { "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg333333", "createdDate": "2023-06-08T18:09:46.920600+00:00", "policyStoreId": "PSEXAMPLEabcdefg333333" } ] }
정책 스토어에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책 스토어를 참조하세요.
-
자세한 API 내용은 명령 참조ListPolicyStores
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-policy-templates
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
사용 가능한 정책 템플릿을 나열하려면
다음
list-policy-templates
예제에서는 지정된 정책 스토어의 모든 정책 템플릿을 나열합니다.aws verifiedpermissions list-policy-templates \ --policy-store-id
PSEXAMPLEabcdefg111111
출력:
{ "policyTemplates": [ { "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" } ] }
정책 템플릿에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책 템플릿을 참조하세요.
-
자세한 API 내용은 명령 참조ListPolicyTemplates
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 put-schema
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
스키마를 정책 스토어에 저장하려면
다음
put-schema
예제에서는 지정된 정책 스토어에서 스키마를 생성하거나 바꿉니다.입력 파일의
cedarJson
파라미터는 JSON 객체의 문자열 표현을 취합니다. 여기에는 가장 바깥쪽의 따옴표 쌍 내에 포함된 따옴표(“)가 포함되어 있습니다. 이렇게 하려면 모든 포함된 따옴표 앞에 백슬래시 문자( ')를 붙이고 모든 줄을 줄 바꿈 없이 단일 텍스트 줄로 결합하여 를 JSON 문자열로 변환해야 합니다.여기서는 가독성을 위해 여러 줄에 걸쳐 예제 문자열을 표시할 수 있지만, 작업을 수행하려면 파라미터를 단일 줄 문자열로 제출해야 합니다.
aws verifiedpermissions put-schema --정의 파일://schema.txt --policy-store-id PSEXAMPLEabcdefg111111
schema.txt
의 콘텐츠:{ "cedarJson": "{\"MySampleNamespace\": {\"actions\": {\"remoteAccess\": { \"appliesTo\": {\"principalTypes\": [\"Employee\"]}}},\"entityTypes\": { \"Employee\": {\"shape\": {\"attributes\": {\"jobLevel\": {\"type\": \"Long\"},\"name\": {\"type\": \"String\"}},\"type\": \"Record\"}}}}}" }
출력:
{ "policyStoreId": "PSEXAMPLEabcdefg111111", "namespaces": [ "MySampleNamespace" ], "createdDate": "2023-06-14T17:47:13.999885+00:00", "lastUpdatedDate": "2023-06-14T17:47:13.999885+00:00" }
스키마에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 정책 스토어 스키마를 참조하세요.
-
자세한 API 내용은 명령 참조PutSchema
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 update-identity-source
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
자격 증명 소스를 업데이트하려면
다음
update-identity-source
예제에서는 새 Cognito 사용자 풀 구성을 제공하고 자격 증명 소스에서 반환한 엔터티 유형을 변경하여 지정된 자격 증명 소스를 수정합니다.aws verifiedpermissions update-identity-source --identity-source-id
ISEXAMPLEabcdefg111111
\ --update-configurationfile://config.txt
\ --principal-entity-type"Employee"
\ --policy-store-idPSEXAMPLEabcdefg111111
config.txt
의 콘텐츠:{ "cognitoUserPoolConfiguration": { "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5", "clientIds":["a1b2c3d4e5f6g7h8i9j0kalbmc"] } }
출력:
{ "createdDate": "2023-05-19T20:30:28.214829+00:00", "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }
자격 증명 소스에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 자격 증명 공급자와 함께 Amazon Verified Permissions 사용을 참조하세요.
-
자세한 API 내용은 명령 참조UpdateIdentitySource
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 update-policy-store
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정책 스토어를 업데이트하려면
다음
update-policy-store
예제에서는 유효성 검사 설정을 변경하여 정책 스토어를 수정합니다.aws verifiedpermissions update-policy-store \ --validation-settings
"mode=STRICT"
\ --policy-store-idPSEXAMPLEabcdefg111111
출력:
{ "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-05-16T17:41:29.103459+00:00", "lastUpdatedDate": "2023-05-16T17:41:29.103459+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }
정책 스토어에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책 스토어를 참조하세요.
-
자세한 API 내용은 명령 참조UpdatePolicyStore
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 update-policy-template
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
예제 1: 정책 템플릿 업데이트
다음
update-policy-template
예제에서는 지정된 템플릿 연결 정책을 수정하여 정책 문을 바꿉니다.aws verifiedpermissions update-policy-template \ --policy-template-id
PTEXAMPLEabcdefg111111
\ --statementfile://template1.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
template1.txt
파일의 콘텐츠:permit( principal in ?principal, action == Action::"view", resource == Photo::"VacationPhoto94.jpg" );
출력:
{ "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" }
정책 템플릿에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책 템플릿을 참조하세요.
-
자세한 API 내용은 명령 참조UpdatePolicyTemplate
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 update-policy
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
예제 1: 정적 정책 생성
다음
create-policy
예제에서는 보안 주체와 리소스를 모두 지정하는 정책 범위를 사용하여 정적 정책을 생성합니다.aws verifiedpermissions create-policy \ --definition
file://definition.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
statement
파라미터는 JSON 객체의 문자열 표현을 취합니다. 여기에는 가장 바깥쪽의 따옴표 쌍 내에 포함된 따옴표(“)가 포함되어 있습니다. 이렇게 하려면 모든 포함된 따옴표 앞에 백슬래시 문자( ')를 붙이고 모든 줄을 줄 바꿈 없이 단일 텍스트 줄로 결합하여 를 JSON 문자열로 변환해야 합니다.여기서는 가독성을 위해 여러 줄에 걸쳐 예제 문자열을 표시할 수 있지만, 작업을 수행하려면 파라미터를 단일 줄 문자열로 제출해야 합니다.
definition.txt
파일의 콘텐츠:{ "static": { "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album", "statement": "permit(principal in UserGroup::\"janeFriends\", action, resource in Album::\"vacationFolder\" );" } }
출력:
{ "createdDate": "2023-06-12T20:33:37.382907+00:00", "lastUpdatedDate": "2023-06-12T20:33:37.382907+00:00", "policyId": "SPEXAMPLEabcdefg111111", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "STATIC", "principal": { "entityId": "janeFriends", "entityType": "UserGroup" }, "resource": { "entityId": "vacationFolder", "entityType": "Album" } }
예제 2: 모든 사용자에게 리소스에 대한 액세스 권한을 부여하는 정적 정책을 생성하려면
다음
create-policy
예제에서는 리소스만 지정하는 정책 범위를 사용하여 정적 정책을 생성합니다.aws verifiedpermissions create-policy \ --definition
file://definition2.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
definition2.txt
파일의 콘텐츠:{ "static": { "description": "Grant everyone access to the publicFolder Album", "statement": "permit(principal, action, resource in Album::\"publicFolder\");" } }
출력:
{ "createdDate": "2023-06-12T20:39:44.975897+00:00", "lastUpdatedDate": "2023-06-12T20:39:44.975897+00:00", "policyId": "PbfR73F8oh5MMfr9uRtFDB", "policyStoreId": "PSEXAMPLEabcdefg222222", "policyType": "STATIC", "resource": { "entityId": "publicFolder", "entityType": "Album" } }
예제 3: 지정된 템플릿과 연결된 템플릿 연결 정책을 생성하려면
다음
create-policy
예제에서는 지정된 정책 템플릿을 사용하여 템플릿 연결 정책을 생성하고 지정된 보안 주체를 새 템플릿 연결 정책과 함께 사용하도록 연결합니다.aws verifiedpermissions create-policy \ --definition
file://definition2.txt
\ --policy-store-idPSEXAMPLEabcdefg111111
definition3.txt의 내용:
{ "templateLinked": { "policyTemplateId": "PTEXAMPLEabcdefg111111", "principal": { "entityType": "User", "entityId": "alice" } } }
출력:
{ "createdDate": "2023-06-12T20:49:51.490211+00:00", "lastUpdatedDate": "2023-06-12T20:49:51.490211+00:00", "policyId": "TPEXAMPLEabcdefg111111", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyType": "TEMPLATE_LINKED", "principal": { "entityId": "alice", "entityType": "User" }, "resource": { "entityId": "VacationPhoto94.jpg", "entityType": "Photo" } }
정책에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책을 참조하세요.
-
자세한 API 내용은 명령 참조UpdatePolicy
의 섹션을 참조하세요. AWS CLI
-