Mengelola ACL rekaman data
Dalam artikel ini, Anda mempelajari cara menambahkan atau menghapus ACL dari rekaman data di instans Azure Data Manager for Energy Anda.
Membuat grup data sebagai ACL
Jalankan perintah curl berikut di Azure Cloud Shell untuk membuat grup data baru, misalnya, data.sampledb.viewer, dalam partisi data tertentu dari Instans Azure Data Manager for Energy.
Format permintaan
curl --location --request POST "https://<adme-url>/api/entitlements/v2/groups/" \
--header 'data-partition-id: <data-partition>' \
--header 'Authorization: Bearer <access_token>'
--data-raw '{
"description": "<data-group-description>",
"name": "data.sampledb.viewer"
}
Membuat rekaman dengan ACL
Format permintaan
curl --location --request PUT 'https://<adme-url>/api/storage/v2/records/' \
--header 'data-partition-id: opendes' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <token>’ \
--header 'Content-Type: application/json' \
--data-raw '[
{
"acl": {
"owners": [
"data.default.owners@opendes.contoso.com",
"data.wellbore1.owner@opendes.contoso.com"
],
"viewers": [
"data.default.viewers@opendes.contoso.com"
]
},
"data": {
"FacilityID": "Example External Facility Identifier",
"Source": "Create Record test"
},
"id": "opendes:master-data--Well:999635346360",
"kind": "osdu:wks:master-data--Well:1.0.0",
"legal": {
"legaltags": [
"opendes-Test-Legal-Tag-2311232"
],
"otherRelevantDataCountries": [
"US"
],
"status": "compliant"
},
"meta": [
{}
],
"version": 0
}
]
Respons sampel
{
"recordCount": 1,
"recordIds": [
"opendes:master-data--Well:999736019023"
],
"skippedRecordIds": [],
"recordIdVersions": [
"opendes:master-data--Well:999736019023:1702017200855277"
]
}
Pertahankan ID rekaman dari respons yang berguna untuk referensi di masa mendatang.
Mendapatkan rekaman yang dibuat dengan ACL
Format permintaan
curl --location 'https://<adme-url>/api/storage/v2/records/opendes:master-data--Well:999736019023' \
--header 'data-partition-id: opendes' \
--header 'Authorization: Bearer <token>’
Respons sampel
{
"data": {
"FacilityID": "Example External Facility Identifier",
"Source": "Create Record test"
},
"meta": [
{}
],
"id": "opendes:master-data--Well:999736019023",
"version": 1702017200855277,
"kind": "osdu:wks:master-data--Well:1.0.0",
"acl": {
"viewers": [
"data.default.viewers@opendes.contoso.com"
],
"owners": [
"data.default.owners@opendes.contoso.com",
"data.wellbore1.owner@opendes.contoso.com"
]
},
"legal": {
"legaltags": [
"opendes-Test-Legal-Tag-2311232"
],
"otherRelevantDataCountries": [
"US"
],
"status": "compliant"
},
"createUser": "preshipping@azureglobal1.onmicrosoft.com",
"createTime": "2023-12-08T06:33:21.338Z"
}
Menghapus ACL dari rekaman data
Operasi pertama /acl/owners/0
menghapus ACL dari posisi ke-0 dalam array ACL. Ketika Anda menghapus entri pertama dengan operasi ini, sistem akan menghapusnya. Entri kedua sebelumnya kemudian menjadi entri pertama. Operasi kedua /acl/owners/0
mencoba menghapus entri kedua.
Format permintaan
curl --location --request PATCH 'https://<adme-url>/api/storage/v2/records/' \
--header 'data-partition-id: opendes' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <token>’\
--header 'Content-Type: application/json-patch+json' \
--data '
{
"query": {
"ids": ["opendes:master-data--Well:999736019023"]
},
"ops": [
{
"op": "remove",
"path": "/acl/owners/0"
}
]
}
Respons sampel
{
"recordCount": 1,
"recordIds": [
"opendes:master-data--Well:999736019023:1702017200855277"
],
"notFoundRecordIds": [],
"failedRecordIds": [],
"errors": []
}
Jika Anda menghapus ACL pemilik terakhir dari rekaman data, Anda akan mendapatkan kesalahan.
Respons sampel
{
"recordCount": 0,
"recordIds": [],
"notFoundRecordIds": [],
"failedRecordIds": [
"opendes:master-data--Well: 999736019023"
],
"errors": [
"Patch operation for record: opendes:master-data--Well:999512152273 aborted. Potentially empty value of legaltags or acl/owners or acl/viewers"
]
}
Langkah berikutnya
Setelah menambahkan ACL ke rekaman data, Anda dapat:
Anda juga dapat menyerap data ke dalam instans Azure Data Manager for Energy Anda: