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 dan client-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.

  1. Temukan OID pengguna terlebih dahulu. Jika Anda mengelola akses aplikasi, Anda harus menemukan dan menggunakan ID aplikasi (atau ID klien) alih-alih OID.

  2. 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.

    Cuplikan layar yang memperlihatkan menemukan ID objek dari ID Microsoft Entra.

    Cuplikan layar yang memperlihatkan menemukan OID dari profil.

Penambahan pengguna pertama kali dalam partisi data baru

  1. Untuk menambahkan admin pertama ke partisi data baru instans Azure Data Manager for Energy, gunakan token akses OID yang digunakan untuk menyediakan instans.

  2. 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.

  3. client-id Gunakan token akses untuk melakukan langkah-langkah berikut dengan menggunakan perintah yang diuraikan di bagian berikut:

    1. Tambahkan pengguna ke users@<data-partition-id>.<domain> grup OSDU dengan peran OWNER.
    2. Tambahkan pengguna ke users.datalake.ops@<data-partition-id>.<domain> grup OSDU dengan peran OWNER untuk memberikan akses semua grup layanan.
    3. Tambahkan pengguna ke users.data.root@<data-partition-id>.<domain> grup OSDU dengan peran OWNER untuk memberikan akses dari semua grup data.
  4. Pengguna menjadi admin partisi data. Admin kemudian dapat menambahkan atau menghapus lebih banyak pengguna ke grup pemberian hak yang diperlukan:

    1. Dapatkan token autentikasi admin dengan menggunakan Buat token akses pengguna dan dengan menggunakan nilai dan client-secret yang samaclient-id.
    2. Dapatkan grup OSDU, seperti service.legal.editor@<data-partition-id>.<domain>, yang ingin Anda tambahkan lebih banyak pengguna dengan menggunakan token akses admin.
    3. Tambahkan lebih banyak pengguna ke grup OSDU tersebut dengan menggunakan token akses admin.

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

  1. Jalankan perintah curl berikut di Azure Cloud Shell untuk menambahkan pengguna ke grup pengguna dengan menggunakan layanan pemberian izin.

  2. 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 bernama dp1.

        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.

    Cuplikan layar yang memperlihatkan ID aplikasi di ID Microsoft Entra.

Mendapatkan grup OSDU untuk pengguna tertentu dalam partisi data

  1. 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 bernama dp1.

        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

  1. Jalankan perintah curl berikut di Azure Cloud Shell untuk menghapus anggota tertentu dari grup.

  2. Jika API mencoba menghapus anggota dari users@ grup tetapi anggota sudah menjadi bagian dari grup lain, maka permintaan API akan gagal. Untuk menghapus anggota dari users@ 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

  1. Jalankan perintah curl berikut di Azure Cloud Shell untuk menghapus pengguna tertentu dari partisi data tertentu.

  2. 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 bernama dp1.

        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: