翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Verified Permissions ポリシーストアスキーマ
スキーマは、アプリケーションでサポートされているエンティティタイプの構造と、アプリケーションが承認リクエストで提供する可能性のあるアクションを宣言したものです。
詳細については、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 を 1 行の文字列にエスケープし、その前にそのデータ型:cedarJson
の宣言を記述する必要があります。次の例では、JSON スキーマのエスケープバージョンを含むschema.json
ファイルの次の内容を使用しています。
この例では、読みやすいように行を折り返しています。コマンドが受け付けるには、ファイル全体を 1 行にまとめる必要があります。
{"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 を使用してポリシーストアを作成できます。詳細については、PutSchema「Amazon Verified Permissions API リファレンスガイド」の「」を参照してください。