AWS Doc SDK ExamplesWord
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용하여 확인된 권한 예제 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 세부 정보는 AWS CLI 명령 참조의 CreateIdentitySource
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 CreatePolicyStore
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 CreatePolicyTemplate
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 CreatePolicy
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 DeleteIdentitySource
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 DeletePolicyStore
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 DeletePolicyTemplate
를 참조하세요.
-
다음 코드 예시에서는 delete-policy
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정적 또는 템플릿 연결 정책을 삭제하려면
다음
delete-policy
예제에서는 지정된 ID가 있는 정책을 삭제합니다.aws verifiedpermissions delete-policy \ --policy-id
SPEXAMPLEabcdefg111111
\ --policy-store-idPSEXAMPLEabcdefg111111
이 명령은 출력을 생성하지 않습니다.
정책에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeletePolicy
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 GetIdentitySource
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 GetPolicyStore
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 GetPolicyTemplate
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 GetPolicy
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 GetSchema
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 IsAuthorizedWithToken
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 IsAuthorized
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 ListIdentitySources
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 ListPolicies
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 ListPolicyStores
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 ListPolicyTemplates
를 참조하세요.
-
다음 코드 예시에서는 put-schema
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
스키마를 정책 스토어에 저장하려면
다음
put-schema
예제에서는 지정된 정책 스토어에서 스키마를 생성하거나 바꿉니다.입력 파일의
cedarJson
파라미터는 JSON 객체의 문자열 표현을 사용합니다. 여기에는 가장 바깥쪽의 따옴표 쌍 내에 포함된 따옴표(“)가 포함되어 있습니다. 이렇게 하려면 모든 포함된 따옴표 앞에 백슬래시 문자( ')를 붙이고 모든 줄을 줄 바꿈 없이 단일 텍스트 줄로 결합하여 JSON를 문자열로 변환해야 합니다.여기서는 가독성을 위해 여러 줄에 걸쳐 예제 문자열을 표시할 수 있지만, 작업을 수행하려면 파라미터를 단일 줄 문자열로 제출해야 합니다.
aws verifiedpermissions put-schema --definition file://schema.txt --policy-store-id PSEXAMPLEabcdefg111111Word
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 세부 정보는 AWS CLI 명령 참조의 PutSchema
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 UpdateIdentitySource
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 UpdatePolicyStore
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 UpdatePolicyTemplate
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 UpdatePolicy
를 참조하세요.
-