기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Verified Permissions 정책 스토어 스키마
스키마는 애플리케이션이 지원하는 엔터티 유형의 구조와 애플리케이션이 권한 부여 요청에서 제공할 수 있는 작업을 선언한 것입니다. Verified Permissions와 Cedar가 스키마를 처리하는 방법의 차이점은 섹션을 참조하세요스키마 지원.
자세한 내용은 Cedar 정책 언어 참조 가이드의 Cedar 스키마 형식을 참조하세요.
Verified Permissions에서 스키마를 사용하는 것은 선택 사항이지만 프로덕션 소프트웨어에는 스키마를 사용하는 것이 좋습니다. 새 정책을 생성할 때 Verified Permissions는 스키마를 사용하여 범위 및 조건에서 참조되는 엔터티와 속성을 검증하여 시스템 동작에 혼란을 줄 수 있는 정책 내 오타와 실수를 방지할 수 있습니다. 정책 검증을 활성화하면 모든 새 정책이 스키마를 준수해야 합니다.
- AWS Management Console
-
- AWS CLI
-
AWS CLI를 사용하여 새 스키마를 제출하거나 기존 스키마를 덮어쓰려면
다음 예제와 유사한 AWS CLI 명령을 실행하여 정책 스토어를 생성할 수 있습니다.
다음과 같은 Cedar 콘텐츠가 포함된 스키마를 생각해 보십시오.
{
"MySampleNamespace": {
"actions": {
"remoteAccess": {
"appliesTo": {
"principalTypes": [ "Employee" ]
}
}
},
"entityTypes": {
"Employee": {
"shape": {
"type": "Record",
"attributes": {
"jobLevel": {"type": "Long"},
"name": {"type": "String"}
}
}
}
}
}
}
먼저 를 단일 줄 문자열JSON로 이스케이프하고 데이터 형식인 의 선언으로 접두사를 지정해야 합니다cedarJson
. 다음 예제에서는 JSON 스키마의 이스케이프된 버전이 포함된 다음 schema.json
파일 내용을 사용합니다.
이 예제는 가독성을 위해 줄바꿈 처리되었습니다. 명령이 파일을 받아들이려면 전체 파일을 한 줄에 입력해야 합니다.
{"cedarJson": "{\"MySampleNamespace\": {\"actions\": {\"remoteAccess\": {\"appliesTo\":
{\"principalTypes\": [\"Employee\"]}}},\"entityTypes\": {\"Employee\": {\"shape\":
{\"attributes\": {\"jobLevel\": {\"type\": \"Long\"},\"name\": {\"type\": \"String\"}},
\"type\": \"Record\"}}}}}"}
$
aws verifiedpermissions put-schema \
--definition file://schema.json \
--policy-store PSEXAMPLEabcdefg111111
{
"policyStoreId": "PSEXAMPLEabcdefg111111",
"namespaces": [
"MySampleNamespace"
],
"createdDate": "2023-07-17T21:07:43.659196+00:00",
"lastUpdatedDate": "2023-08-16T17:03:53.081839+00:00"
}
- AWS SDKs
-
를 사용하여 정책 스토어를 생성할 수 있습니다PutSchema
API. 자세한 내용은 Amazon Verified Permissions API 참조 가이드PutSchema의 섹션을 참조하세요.