Aracılığıyla paylaş


Veri kaydının ACL'lerini yönetme

Bu makalede, Enerji için Azure Data Manager örneğinizdeki veri kaydına ACL eklemeyi veya bu kayıttan ACL'leri kaldırmayı öğreneceksiniz.

ACL olarak veri grubu oluşturma

Azure Cloud Shell'de aşağıdaki curl komutunu çalıştırarak Enerji için Azure Data Manager örneğinin belirli veri bölümünde data.sampledb.viewer gibi yeni bir veri grubu oluşturun.

İstek biçimi

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

ACL'lerle kayıt oluşturma

İstek biçimi

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

Örnek yanıt

{
    "recordCount": 1,
    "recordIds": [
        "opendes:master-data--Well:999736019023"
    ],
    "skippedRecordIds": [],
    "recordIdVersions": [
        "opendes:master-data--Well:999736019023:1702017200855277"
    ]
}

Sonraki başvurular için yanıttan kayıt kimliğinin el altında kalmasını sağlayın.

ACL'lerle kayıt oluşturma

İstek biçimi

curl --location 'https://<adme-url>/api/storage/v2/records/opendes:master-data--Well:999736019023' \
--header 'data-partition-id: opendes' \
--header 'Authorization: Bearer <token>’

Örnek yanıt

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

ACL'leri veri kaydından silme

İlk /acl/owners/0 işlem, ACL dizisindeki 0. konumdan ACL'yi kaldırır. Bu işlemle ilk girdiyi sildiğinizde sistem bunu siler. Önceki ikinci girdi daha sonra ilk girdi olur. İkinci /acl/owners/0 işlem ikinci girdiyi kaldırmaya çalışır.

İstek biçimi

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

Örnek yanıt

{
      "recordCount": 1,
      "recordIds": [
          "opendes:master-data--Well:999736019023:1702017200855277"
      ],
      "notFoundRecordIds": [],
      "failedRecordIds": [],
      "errors": []
}

Veri kaydından son sahip ACL'sini silerseniz hatayı alırsınız.

Örnek yanıt

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

Sonraki adımlar

Veri kayıtlarına ACL'ler ekledikten sonra şunları yapabilirsiniz:

Ayrıca Verileri Enerji için Azure Data Manager örneğine de alabilirsiniz: