Contoh Izin Terverifikasi menggunakan AWS CLI - AWS SDKContoh Kode

Ada lebih banyak AWS SDK contoh yang tersedia di GitHub repo SDKContoh AWS Dokumen.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh Izin Terverifikasi menggunakan AWS CLI

Contoh kode berikut menunjukkan kepada Anda cara melakukan tindakan dan mengimplementasikan skenario umum dengan menggunakan Izin Terverifikasi AWS Command Line Interface dengan.

Tindakan adalah kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakancreate-identity-source.

AWS CLI

Untuk membuat sumber identitas

create-identity-sourceContoh berikut membuat sumber identitas yang memungkinkan Anda mereferensikan identitas yang disimpan di kumpulan pengguna Amazon Cognito yang ditentukan. Identitas tersebut tersedia di Izin Terverifikasi sebagai entitas tipe. User

aws verifiedpermissions create-identity-source \ --configuration file://config.txt \ --principal-entity-type "User" \ --policy-store-id PSEXAMPLEabcdefg111111

Isi dari config.txt:

{ "cognitoUserPoolConfiguration": { "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5", "clientIds":["a1b2c3d4e5f6g7h8i9j0kalbmc"] } }

Output:

{ "createdDate": "2023-05-19T20:30:28.214829+00:00", "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }

Untuk informasi selengkapnya tentang sumber identitas, lihat Menggunakan Izin Terverifikasi Amazon dengan penyedia identitas di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakancreate-policy-store.

AWS CLI

Untuk membuat toko kebijakan

create-policy-storeContoh berikut membuat penyimpanan kebijakan di AWS Wilayah saat ini.

aws verifiedpermissions create-policy-store \ --validation-settings "mode=STRICT"

Output:

{ "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" }

Untuk informasi selengkapnya tentang toko kebijakan, lihat penyimpanan kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakancreate-policy-template.

AWS CLI

Contoh 1: Untuk membuat template kebijakan

create-policy-templateContoh berikut membuat template kebijakan dengan pernyataan yang berisi placeholder untuk prinsipal.

aws verifiedpermissions create-policy-template \ --definition file://template1.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Isi filetemplate1.txt:

permit( principal in ?principal, action == Action::"view", resource == Photo::"VacationPhoto94.jpg" );

Output:

{ "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" }

Untuk informasi selengkapnya tentang templat kebijakan, lihat templat kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakancreate-policy.

AWS CLI

Contoh 1: Untuk membuat kebijakan statis

create-policyContoh berikut membuat kebijakan statis dengan cakupan kebijakan yang menentukan prinsipal dan sumber daya.

aws verifiedpermissions create-policy \ --definition file://definition1.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Isi filedefinition1.txt:

{ "static": { "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album", "statement": "permit(principal in UserGroup::\"janeFriends\", action, resource in Album::\"vacationFolder\" );" } }

Output:

{ "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" } }

Contoh 2: Untuk membuat kebijakan statis yang memberikan akses ke sumber daya kepada semua orang

create-policyContoh berikut membuat kebijakan statis dengan cakupan kebijakan yang hanya menentukan sumber daya.

aws verifiedpermissions create-policy \ --definition file://definition2.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Isi filedefinition2.txt:

{ "static": { "description": "Grant everyone access to the publicFolder Album", "statement": "permit(principal, action, resource in Album::\"publicFolder\");" } }

Output:

{ "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" } }

Contoh 3: Untuk membuat kebijakan terkait template yang dikaitkan dengan template yang ditentukan

create-policyContoh berikut membuat kebijakan yang ditautkan templat menggunakan templat kebijakan yang ditentukan dan mengaitkan prinsipal yang ditentukan untuk digunakan dengan kebijakan terkait templat yang baru.

aws verifiedpermissions create-policy \ --definition file://definition.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Isi dari definition.txt:

{ "templateLinked": { "policyTemplateId": "PTEXAMPLEabcdefg111111", "principal": { "entityType": "User", "entityId": "alice" } } }

Output:

{ "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" } }

Untuk informasi selengkapnya tentang kebijakan, lihat kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

  • Untuk API detailnya, lihat CreatePolicydi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakandelete-identity-source.

AWS CLI

Untuk menghapus sumber identitas

delete-identity-sourceContoh berikut menghapus sumber identitas yang memiliki Id tertentu.

aws verifiedpermissions delete-identity-source \ --identity-source-id ISEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya tentang sumber identitas, lihat Menggunakan Izin Terverifikasi Amazon dengan penyedia identitas di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakandelete-policy-store.

AWS CLI

Untuk menghapus toko kebijakan

delete-policy-storeContoh berikut menghapus penyimpanan kebijakan yang memiliki Id yang ditentukan.

aws verifiedpermissions delete-policy-store \ --policy-store-id PSEXAMPLEabcdefg111111

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya tentang toko kebijakan, lihat penyimpanan kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakandelete-policy-template.

AWS CLI

Untuk menghapus templat kebijakan

delete-policy-templateContoh berikut menghapus template kebijakan yang memiliki Id tertentu.

aws verifiedpermissions delete-policy \ --policy-template-id PTEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya tentang templat kebijakan, lihat templat kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakandelete-policy.

AWS CLI

Untuk menghapus kebijakan statis atau terkait templat

delete-policyContoh berikut menghapus kebijakan yang memiliki Id yang ditentukan.

aws verifiedpermissions delete-policy \ --policy-id SPEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya tentang kebijakan, lihat kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

  • Untuk API detailnya, lihat DeletePolicydi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanget-identity-source.

AWS CLI

Untuk mengambil detail tentang sumber identitas

get-identity-sourceContoh berikut menampilkan rincian untuk sumber identitas dengan Id yang ditentukan.

aws verifiedpermissions get-identity-source \ --identity-source ISEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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" }

Untuk informasi selengkapnya tentang sumber identitas, lihat Menggunakan Izin Terverifikasi Amazon dengan penyedia identitas di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakanget-policy-store.

AWS CLI

Untuk mengambil detail tentang toko kebijakan

get-policy-storeContoh berikut menampilkan detail untuk penyimpanan kebijakan dengan Id yang ditentukan.

aws verifiedpermissions get-policy-store \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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" } }

Untuk informasi selengkapnya tentang toko kebijakan, lihat penyimpanan kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

  • Untuk API detailnya, lihat GetPolicyStoredi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanget-policy-template.

AWS CLI

Untuk mengambil detail tentang templat kebijakan

get-policy-templateContoh berikut menampilkan rincian untuk template kebijakan dengan ID yang ditentukan.

aws verifiedpermissions get-policy-template \ --policy-template-id PTEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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);" }

Untuk informasi selengkapnya tentang templat kebijakan, lihat templat kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakanget-policy.

AWS CLI

Untuk mengambil detail tentang kebijakan

get-policyContoh berikut menampilkan detail kebijakan dengan ID yang ditentukan.

aws verifiedpermissions get-policy \ --policy-id PSEXAMPLEabcdefg111111 \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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" } }

Untuk informasi selengkapnya tentang kebijakan, lihat kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

  • Untuk API detailnya, lihat GetPolicydi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanget-schema.

AWS CLI

Untuk mengambil skema di toko kebijakan

get-schemaContoh berikut menampilkan rincian skema di toko kebijakan yang ditentukan.

aws verifiedpermissions get-schema \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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" }

Untuk informasi selengkapnya tentang skema, lihat Skema penyimpanan kebijakan di Panduan Pengguna Izin Terverifikasi Amazon.

  • Untuk API detailnya, lihat GetSchemadi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanis-authorized-with-token.

AWS CLI

Contoh 1: Untuk meminta keputusan otorisasi untuk permintaan pengguna (izinkan)

is-authorized-with-tokenContoh berikut meminta keputusan otorisasi untuk pengguna yang diautentikasi oleh Amazon Cognito. Permintaan menggunakan token identitas yang disediakan oleh Cognito daripada token akses. Dalam contoh ini, penyimpanan informasi yang ditentukan dikonfigurasi untuk mengembalikan prinsipal sebagai entitas tipe. 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"

Toko kebijakan berisi kebijakan dengan pernyataan berikut yang menerima identitas dari kumpulan pengguna Cognito dan Id aplikasi yang ditentukan.

permit( principal == CognitoUser::"us-east-1_1a2b3c4d5|a1b2c3d4e5f6g7h8i9j0kalbmc", action, resource == Photo::"VacationPhoto94.jpg" );

Output:

{ "decision":"Allow", "determiningPolicies":[ { "determiningPolicyId":"SPEXAMPLEabcdefg111111" } ], "errors":[] }

Untuk informasi selengkapnya tentang menggunakan identitas dari kumpulan pengguna Cognito, lihat Menggunakan Izin Terverifikasi Amazon dengan penyedia identitas di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakanis-authorized.

AWS CLI

Contoh 1: Untuk meminta keputusan otorisasi untuk permintaan pengguna (izinkan)

is-authorizedContoh berikut meminta keputusan otorisasi untuk kepala sekolah tipe User bernamaAlice, yang ingin melakukan updatePhoto operasi, pada sumber daya tipe Photo bernamaVacationPhoto94.jpg.

Tanggapan menunjukkan bahwa permintaan diizinkan oleh satu kebijakan.

aws verifiedpermissions is-authorized \ --principal entityType=User,entityId=alice \ --action actionType=Action,actionId=view \ --resource entityType=Photo,entityId=VactionPhoto94.jpg \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "decision": "ALLOW", "determiningPolicies": [ { "policyId": "SPEXAMPLEabcdefg111111" } ], "errors": [] }

Contoh 2: Untuk meminta keputusan otorisasi untuk permintaan pengguna (tolak)

Contoh berikut adalah sama dengan contoh sebelumnya, kecuali bahwa prinsipal adalahUser::"Bob". Toko kebijakan tidak berisi kebijakan apa pun yang memungkinkan pengguna tersebut mengaksesAlbum::"alice_folder".

Output menunjukkan Deny bahwa implisit karena daftar DeterminingPolicies kosong.

aws verifiedpermissions create-policy \ --definition file://definition2.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "decision": "DENY", "determiningPolicies": [], "errors": [] }

Untuk informasi selengkapnya, lihat Panduan Pengguna Izin Terverifikasi Amazon.

  • Untuk API detailnya, lihat IsAuthorizeddi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-identity-sources.

AWS CLI

Untuk daftar sumber identitas yang tersedia

list-identity-sourcesContoh berikut mencantumkan semua sumber identitas di toko kebijakan yang ditentukan.

aws verifiedpermissions list-identity-sources \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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" } ] }

Untuk informasi selengkapnya tentang sumber identitas, lihat Menggunakan Izin Terverifikasi Amazon dengan penyedia identitas di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakanlist-policies.

AWS CLI

Untuk daftar kebijakan yang tersedia

list-policiesContoh berikut mencantumkan semua kebijakan di toko kebijakan yang ditentukan.

aws verifiedpermissions list-policies \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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" } } ] }

Untuk informasi selengkapnya tentang kebijakan, lihat kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

  • Untuk API detailnya, lihat ListPoliciesdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-policy-stores.

AWS CLI

Untuk daftar toko kebijakan yang tersedia

list-policy-storesContoh berikut mencantumkan semua toko kebijakan di AWS Wilayah. Semua perintah untuk Izin Terverifikasi kecuali create-policy-store dan list-policy-stores mengharuskan Anda menentukan Id penyimpanan kebijakan yang ingin Anda gunakan.

aws verifiedpermissions list-policy-stores

Output:

{ "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" } ] }

Untuk informasi selengkapnya tentang toko kebijakan, lihat penyimpanan kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakanlist-policy-templates.

AWS CLI

Untuk membuat daftar templat kebijakan yang tersedia

list-policy-templatesContoh berikut mencantumkan semua templat kebijakan di toko kebijakan yang ditentukan.

aws verifiedpermissions list-policy-templates \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "policyTemplates": [ { "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" } ] }

Untuk informasi selengkapnya tentang templat kebijakan, lihat templat kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakanput-schema.

AWS CLI

Untuk menyimpan skema ke toko kebijakan

put-schemaContoh berikut membuat atau menggantikan skema di toko kebijakan tertentu.

cedarJsonParameter dalam file input mengambil representasi string dari suatu JSON objek. Ini berisi tanda kutip tertanam (“) dalam pasangan tanda kutip terluar. Ini mengharuskan Anda untuk mengonversi JSON ke string dengan mendahului semua tanda kutip yang disematkan dengan karakter garis miring terbalik (") dan menggabungkan semua baris menjadi satu baris teks tanpa jeda baris.

Contoh string dapat ditampilkan dibungkus di beberapa baris di sini untuk keterbacaan, tetapi operasi mengharuskan parameter dikirimkan sebagai string baris tunggal.

aws verifiedpermissions put-schema --definition file: //schema.txt -- policy-store-id PSEXAMPLEabcdefg111111

Isi dari schema.txt:

{ "cedarJson": "{\"MySampleNamespace\": {\"actions\": {\"remoteAccess\": { \"appliesTo\": {\"principalTypes\": [\"Employee\"]}}},\"entityTypes\": { \"Employee\": {\"shape\": {\"attributes\": {\"jobLevel\": {\"type\": \"Long\"},\"name\": {\"type\": \"String\"}},\"type\": \"Record\"}}}}}" }

Output:

{ "policyStoreId": "PSEXAMPLEabcdefg111111", "namespaces": [ "MySampleNamespace" ], "createdDate": "2023-06-14T17:47:13.999885+00:00", "lastUpdatedDate": "2023-06-14T17:47:13.999885+00:00" }

Untuk informasi selengkapnya tentang skema, lihat Skema penyimpanan kebijakan di Panduan Pengguna Izin Terverifikasi Amazon.

  • Untuk API detailnya, lihat PutSchemadi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanupdate-identity-source.

AWS CLI

Untuk memperbarui sumber identitas

update-identity-sourceContoh berikut memodifikasi sumber identitas yang ditentukan dengan menyediakan konfigurasi kumpulan pengguna Cognito baru dan mengubah jenis entitas yang dikembalikan oleh sumber identitas.

aws verifiedpermissions update-identity-source --identity-source-id ISEXAMPLEabcdefg111111 \ --update-configuration file://config.txt \ --principal-entity-type "Employee" \ --policy-store-id PSEXAMPLEabcdefg111111

Isi dari config.txt:

{ "cognitoUserPoolConfiguration": { "userPoolArn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_1a2b3c4d5", "clientIds":["a1b2c3d4e5f6g7h8i9j0kalbmc"] } }

Output:

{ "createdDate": "2023-05-19T20:30:28.214829+00:00", "identitySourceId": "ISEXAMPLEabcdefg111111", "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }

Untuk informasi selengkapnya tentang sumber identitas, lihat Menggunakan Izin Terverifikasi Amazon dengan penyedia identitas di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakanupdate-policy-store.

AWS CLI

Untuk memperbarui toko kebijakan

update-policy-storeContoh berikut memodifikasi penyimpanan kebijakan dengan mengubah setelan validasinya.

aws verifiedpermissions update-policy-store \ --validation-settings "mode=STRICT" \ --policy-store-id PSEXAMPLEabcdefg111111

Output:

{ "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" }

Untuk informasi selengkapnya tentang toko kebijakan, lihat penyimpanan kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakanupdate-policy-template.

AWS CLI

Contoh 1: Untuk memperbarui templat kebijakan

update-policy-templateContoh berikut memodifikasi kebijakan terkait templat yang ditentukan untuk menggantikan pernyataan kebijakannya.

aws verifiedpermissions update-policy-template \ --policy-template-id PTEXAMPLEabcdefg111111 \ --statement file://template1.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Isi filetemplate1.txt:

permit( principal in ?principal, action == Action::"view", resource == Photo::"VacationPhoto94.jpg" );

Output:

{ "createdDate": "2023-06-12T20:47:42.804511+00:00", "lastUpdatedDate": "2023-06-12T20:47:42.804511+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111", "policyTemplateId": "PTEXAMPLEabcdefg111111" }

Untuk informasi selengkapnya tentang templat kebijakan, lihat templat kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

Contoh kode berikut menunjukkan cara menggunakanupdate-policy.

AWS CLI

Contoh 1: Untuk membuat kebijakan statis

create-policyContoh berikut membuat kebijakan statis dengan cakupan kebijakan yang menentukan prinsipal dan sumber daya.

aws verifiedpermissions create-policy \ --definition file://definition.txt \ --policy-store-id PSEXAMPLEabcdefg111111

statementParameter mengambil representasi string dari suatu JSON objek. Ini berisi tanda kutip tertanam (“) dalam pasangan tanda kutip terluar. Ini mengharuskan Anda untuk mengonversi JSON ke string dengan mendahului semua tanda kutip yang disematkan dengan karakter garis miring terbalik (") dan menggabungkan semua baris menjadi satu baris teks tanpa jeda baris.

Contoh string dapat ditampilkan dibungkus di beberapa baris di sini untuk keterbacaan, tetapi operasi mengharuskan parameter dikirimkan sebagai string baris tunggal.

Isi filedefinition.txt:

{ "static": { "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album", "statement": "permit(principal in UserGroup::\"janeFriends\", action, resource in Album::\"vacationFolder\" );" } }

Output:

{ "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" } }

Contoh 2: Untuk membuat kebijakan statis yang memberikan akses ke sumber daya kepada semua orang

create-policyContoh berikut membuat kebijakan statis dengan cakupan kebijakan yang hanya menentukan sumber daya.

aws verifiedpermissions create-policy \ --definition file://definition2.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Isi filedefinition2.txt:

{ "static": { "description": "Grant everyone access to the publicFolder Album", "statement": "permit(principal, action, resource in Album::\"publicFolder\");" } }

Output:

{ "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" } }

Contoh 3: Untuk membuat kebijakan terkait template yang dikaitkan dengan template yang ditentukan

create-policyContoh berikut membuat kebijakan yang ditautkan templat menggunakan templat kebijakan yang ditentukan dan mengaitkan prinsipal yang ditentukan untuk digunakan dengan kebijakan terkait templat yang baru.

aws verifiedpermissions create-policy \ --definition file://definition2.txt \ --policy-store-id PSEXAMPLEabcdefg111111

Isi dari definition3.txt:

{ "templateLinked": { "policyTemplateId": "PTEXAMPLEabcdefg111111", "principal": { "entityType": "User", "entityId": "alice" } } }

Output:

{ "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" } }

Untuk informasi selengkapnya tentang kebijakan, lihat kebijakan Izin Terverifikasi Amazon di Panduan Pengguna Izin Terverifikasi Amazon.

  • Untuk API detailnya, lihat UpdatePolicydi Referensi AWS CLI Perintah.