Hantera ACL:er för dataposten
I den här artikeln får du lära dig hur du lägger till eller tar bort ACL:er från dataposten i din Azure Data Manager for Energy-instans.
Skapa en datagrupp som ACL
Kör följande curl-kommando i Azure Cloud Shell för att skapa en ny datagrupp, t.ex. data.sampledb.viewer, i den specifika datapartitionen i Azure Data Manager for Energy-instansen.
Begärandeformat
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"
}
Skapa en post med ACL:er
Begärandeformat
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
}
]
Exempelsvar
{
"recordCount": 1,
"recordIds": [
"opendes:master-data--Well:999736019023"
],
"skippedRecordIds": [],
"recordIdVersions": [
"opendes:master-data--Well:999736019023:1702017200855277"
]
}
Behåll post-ID:t från svaret praktiskt för framtida referenser.
Hämta skapad post med ACL:er
Begärandeformat
curl --location 'https://<adme-url>/api/storage/v2/records/opendes:master-data--Well:999736019023' \
--header 'data-partition-id: opendes' \
--header 'Authorization: Bearer <token>’
Exempelsvar
{
"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"
}
Ta bort ACL:er från dataposten
Den första /acl/owners/0
åtgärden tar bort ACL från den 0:e positionen i matrisen för ACL. När du tar bort den första posten med den här åtgärden tar systemet bort den. Den föregående andra posten blir sedan den första posten. Den andra /acl/owners/0
åtgärden försöker ta bort den andra posten.
Begärandeformat
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"
}
]
}
Exempelsvar
{
"recordCount": 1,
"recordIds": [
"opendes:master-data--Well:999736019023:1702017200855277"
],
"notFoundRecordIds": [],
"failedRecordIds": [],
"errors": []
}
Om du tar bort den senaste ägar-ACL:en från dataposten får du felet.
Exempelsvar
{
"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"
]
}
Nästa steg
När du har lagt till ACL:er i dataposterna kan du:
Du kan också mata in data i din Azure Data Manager for Energy-instans: