Mengelola pengguna di Azure Data Manager for Energy
Dalam artikel ini, Anda mempelajari cara mengelola pengguna dan keanggotaan mereka di grup OSDU di Azure Data Manager for Energy. API pemberian hak digunakan untuk menambahkan atau menghapus pengguna ke grup OSDU dan untuk memeriksa hak saat pengguna mencoba mengakses layanan atau data OSDU. Untuk informasi selengkapnya tentang konsep grup OSDU, lihat Pemberian Izin.
Prasyarat
- Membuat instans Azure Data Manager for Energy. Lihat Cara membuat Azure Data Manager untuk instans Energi.
- Dapatkan berbagai parameter instans Anda, seperti
client-id
danclient-secret
. Lihat Cara menghasilkan token autentikasi. - Buat token akses perwakilan layanan yang diperlukan untuk memanggil API Pemberian Hak. Lihat Cara menghasilkan token autentikasi.
- Pertahankan semua nilai parameter tetap berguna. Mereka diperlukan untuk menjalankan permintaan manajemen pengguna yang berbeda melalui API Pemberian Izin.
Ambil object-id
ID objek Azure (OID) adalah OID pengguna Microsoft Entra.
Temukan OID pengguna terlebih dahulu. Jika Anda mengelola akses aplikasi, Anda harus menemukan dan menggunakan ID aplikasi (atau ID klien) alih-alih OID.
Masukkan OID pengguna (atau ID aplikasi atau klien jika mengelola akses untuk aplikasi) sebagai parameter dalam panggilan ke API Pemberian Hak instans Azure Data Manager for Energy Anda. Anda tidak dapat menggunakan ID email pengguna dalam parameter dan harus menggunakan ID objek.
Penambahan pengguna pertama kali dalam partisi data baru
Untuk menambahkan admin pertama ke partisi data baru instans Azure Data Manager for Energy, gunakan token akses OID yang digunakan untuk menyediakan instans.
client-id
Dapatkan token akses dengan menggunakan Buat token akses id klien.Jika Anda mencoba langsung menggunakan token akses Anda sendiri untuk menambahkan hak, itu menghasilkan kesalahan 401. Token
client-id
akses harus digunakan untuk menambahkan sekumpulan pengguna pertama dalam sistem. Pengguna tersebut (dengan akses admin) kemudian dapat mengelola lebih banyak pengguna dengan token akses mereka sendiri.client-id
Gunakan token akses untuk melakukan langkah-langkah berikut dengan menggunakan perintah yang diuraikan di bagian berikut:- Tambahkan pengguna ke
users@<data-partition-id>.<domain>
grup OSDU dengan peran OWNER. - Tambahkan pengguna ke
users.datalake.ops@<data-partition-id>.<domain>
grup OSDU dengan peran OWNER untuk memberikan akses semua grup layanan. - Tambahkan pengguna ke
users.data.root@<data-partition-id>.<domain>
grup OSDU dengan peran OWNER untuk memberikan akses dari semua grup data.
- Tambahkan pengguna ke
Pengguna menjadi admin partisi data. Admin kemudian dapat menambahkan atau menghapus lebih banyak pengguna ke grup pemberian hak yang diperlukan:
- Dapatkan token autentikasi admin dengan menggunakan Buat token akses pengguna dan dengan menggunakan nilai dan
client-secret
yang samaclient-id
. - Dapatkan grup OSDU, seperti
service.legal.editor@<data-partition-id>.<domain>
, yang ingin Anda tambahkan lebih banyak pengguna dengan menggunakan token akses admin. - Tambahkan lebih banyak pengguna ke grup OSDU tersebut dengan menggunakan token akses admin.
- Dapatkan token autentikasi admin dengan menggunakan Buat token akses pengguna dan dengan menggunakan nilai dan
Untuk mengetahui lebih lanjut tentang grup bootstrap OSDU, lihat di sini.
Mendapatkan daftar semua grup yang dapat Anda akses dalam partisi data
Jalankan perintah curl berikut di Azure Cloud Shell untuk mendapatkan semua grup yang tersedia untuk Anda atau yang dapat Anda akses di partisi data tertentu dari Instans Azure Data Manager for Energy.
curl --location --request GET "https://<adme-url>/api/entitlements/v2/groups/" \
--header 'data-partition-id: <data-partition>' \
--header 'Authorization: Bearer <access_token>'
Menambahkan anggota ke grup OSDU dalam partisi data
Jalankan perintah curl berikut di Azure Cloud Shell untuk menambahkan pengguna ke grup pengguna dengan menggunakan layanan pemberian izin.
Nilai yang akan dikirim untuk parameter
email
adalah OID pengguna dan bukan alamat email pengguna.curl --location --request POST 'https://<adme-url>/api/entitlements/v2/groups/<group-name>@<data-partition-id>.<domain>/members' \ --header 'data-partition-id: <data-partition-id>' \ --header 'Authorization: Bearer <access_token>' \ --header 'Content-Type: application/json' \ --data-raw '{ "email": "<Object_ID_1>", "role": "MEMBER" }, { "email": "<Object_ID_2>", "role": "MEMBER" } '
Contoh permintaan untuk pengguna grup OSDU
Pertimbangkan instans Azure Data Manager for Energy bernama
medstest
dengan partisi data bernamadp1
.curl --location --request POST 'https://medstest.energy.azure.com/api/entitlements/v2/groups/users@medstest-dp1.dataservices.energy/members' \ --header 'data-partition-id: medstest-dp1' \ --header 'Authorization: Bearer abcdefgh123456.............' \ --header 'Content-Type: application/json' \ --data-raw '{ "email": "90e0d063-2f8e-4244-860a-XXXXXXXXXX", "role": "MEMBER" }'
Respons sampel
{ "email": "90e0d063-2f8e-4244-860a-XXXXXXXXXX", "role": "MEMBER" }
Contoh permintaan untuk grup OSDU editor layanan hukum
curl --location --request POST 'https://medstest.energy.azure.com/api/entitlements/v2/groups/service.legal.editor@medstest-dp1.dataservices.energy/members' \ --header 'data-partition-id: medstest-dp1' \ --header 'Authorization: Bearer abcdefgh123456.............' \ --header 'Content-Type: application/json' \ --data-raw '{ "email": "90e0d063-2f8e-4244-860a-XXXXXXXXXX", "role": "MEMBER" }'
Penting
ID aplikasi adalah PEMILIK default dari semua grup.
Mendapatkan grup OSDU untuk pengguna tertentu dalam partisi data
Jalankan perintah curl berikut di Azure Cloud Shell untuk mendapatkan semua grup yang terkait dengan pengguna.
curl --location --request GET 'https://<adme-url>/api/entitlements/v2/members/<obejct-id>/groups?type=none' \ --header 'data-partition-id: <data-partition-id>' \ --header 'Authorization: Bearer <access_token>'
Permintaan sampel
Pertimbangkan instans Azure Data Manager for Energy bernama
medstest
dengan partisi data bernamadp1
.curl --location --request GET 'https://medstest.energy.azure.com/api/entitlements/v2/members/90e0d063-2f8e-4244-860a-XXXXXXXXXX/groups?type=none' \ --header 'data-partition-id: medstest-dp1' \ --header 'Authorization: Bearer abcdefgh123456.............'
Respons sampel
{ "desId": "90e0d063-2f8e-4244-860a-XXXXXXXXXX", "memberEmail": "90e0d063-2f8e-4244-860a-XXXXXXXXXX", "groups": [ { "name": "users", "description": "Datalake users", "email": "users@medstest-dp1.dataservices.energy" }, { "name": "service.search.user", "description": "Datalake Search users", "email": "service.search.user@medstest-dp1.dataservices.energy" } ] }
Menghapus anggota dari grup dalam partisi data
Jalankan perintah curl berikut di Azure Cloud Shell untuk menghapus anggota tertentu dari grup.
Jika API mencoba menghapus anggota dari
users@
grup tetapi anggota sudah menjadi bagian dari grup lain, maka permintaan API akan gagal. Untuk menghapus anggota dariusers@
grup dan dengan demikian dari partisi data, Anda dapat menggunakan perintah Hapus.curl --location --request DELETE 'https://<adme-url>/api/entitlements/v2/groups/<group-id>/members/<object-id>' \ --header 'data-partition-id: <data-partition-id>' \ --header 'Authorization: Bearer <access_token>'
Menghapus pengguna tertentu dari semua grup dalam partisi data
Jalankan perintah curl berikut di Azure Cloud Shell untuk menghapus pengguna tertentu dari partisi data tertentu.
Jangan hapus PEMILIK grup kecuali Anda memiliki PEMILIK lain yang dapat mengelola pengguna di grup tersebut. Meskipun users.data.root adalah pemilik default dan permanen dari semua rekaman data.
curl --location --request DELETE 'https://<adme-url>/api/entitlements/v2/members/<object-id>' \ --header 'data-partition-id: <data-partition-id>' \ --header 'Authorization: Bearer <access_token>'
Permintaan sampel
Pertimbangkan instans Azure Data Manager for Energy bernama
medstest
dengan partisi data bernamadp1
.curl --location --request DELETE 'https://medstest.energy.azure.com/api/entitlements/v2/members/90e0d063-2f8e-4244-860a-XXXXXXXXXX' \ --header 'data-partition-id: medstest-dp1' \ --header 'Authorization: Bearer abcdefgh123456.............'
Respons sampel
Tidak ada output untuk respons yang berhasil.
Langkah berikutnya
Setelah menambahkan pengguna ke grup, Anda dapat:
Anda juga dapat menyerap data ke dalam instans Azure Data Manager for Energy Anda: