Doc AWS SDK ExamplesWord リポジトリには、さらに多くの GitHub の例があります。 AWS SDK
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した検証済みアクセス許可の例 AWS CLI
次のコード例は、Verified Permissions AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には、完全なソースコードへのリンクが含まれています。ここでは、コンテキストでコードを設定および実行する方法の手順を確認できます。
トピック
アクション
次の例は、create-identity-source
を使用する方法を説明しています。
- AWS CLI
-
ID ソースを作成するには
次の
create-identity-source
例では、指定された Amazon Cognito ユーザープールに保存されている ID を参照できる ID ソースを作成します。これらの ID は、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" }
ID ソースの詳細については、「Amazon Verified Permissions ユーザーガイド」の「ID プロバイダーでの 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
-
ID ソースを削除するには
次の
delete-identity-source
例では、指定された ID を持つ ID ソースを削除します。aws verifiedpermissions delete-identity-source \ --identity-source-id
ISEXAMPLEabcdefg111111
\ --policy-store-idPSEXAMPLEabcdefg111111
このコマンドでは何も出力されません。
ID ソースの詳細については、「Amazon Verified Permissions ユーザーガイド」の「ID プロバイダーでの 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
-
ID ソースの詳細を取得するには
次の
get-identity-source
例では、指定された ID を持つ 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" }
ID ソースの詳細については、「Amazon Verified Permissions ユーザーガイド」の「ID プロバイダーでの 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 が提供する ID トークンを使用します。この例では、指定された情報ストアは、プリンシパルを タイプのエンティティとして返すように設定されています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 ユーザープールからの ID の使用の詳細については、「Amazon Verified Permissions ユーザーガイド」の「ID プロバイダーでの Amazon Verified Permissions の使用」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のIsAuthorizedWithToken
」を参照してください。
-
次のコード例は、is-authorized
を使用する方法を示しています。
- AWS CLI
-
例 1: ユーザーリクエストの承認決定をリクエストするには (許可)
次の
is-authorized
例では、User
というタイプのリソースに対してAlice
という名前のプリンシパルの承認決定をリクエストします。このプリンシパルは、Photo
という名前のリソースに対してupdatePhoto
オペレーションを実行しますVacationPhoto94.jpg
。レスポンスは、リクエストが 1 つのポリシーで許可されていることを示します。
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
-
使用可能な ID ソースを一覧表示するには
次の
list-identity-sources
例では、指定されたポリシーストア内のすべての ID ソースを一覧表示します。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" } ] }
ID ソースの詳細については、Amazon Verified Permissions ユーザーガイドの「ID プロバイダーでの 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
および を除く検証済みアクセス許可のすべてのコマンドでは、操作するポリシーストアの 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 を文字列に変換する必要があります。文字列の例は、読みやすいように複数の行にラップして表示できますが、オペレーションではパラメータを 1 行の文字列として送信する必要があります。
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
-
ID ソースを更新するには
次の
update-identity-source
例では、新しい Cognito ユーザープール設定を指定し、ID ソースによって返されるエンティティタイプを変更することで、指定された ID ソースを変更します。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" }
ID ソースの詳細については、「Amazon Verified Permissions ユーザーガイド」の「ID プロバイダーでの 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 を文字列に変換する必要があります。文字列の例は、読みやすいように複数の行にラップして表示できますが、オペレーションではパラメータを 1 行の文字列として送信する必要があります。
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
」を参照してください。
-