チュートリアル: REST API を使用して Microsoft Purview コレクションのロールベースのアクセス制御を管理する

2021 年 8 月、Microsoft Purview のアクセス制御が Azure Identity & Access Management (IAM) (コントロール プレーン) から Microsoft Purview コレクション (データ プレーン) に移行されました。 この変更により、エンタープライズ データ キュレーターと管理者は、Microsoft Purview によってスキャンされたデータ ソースに対するより正確できめ細かいアクセス制御が可能になります。 この変更により、組織はデータの適切なアクセスと適切な使用を監査することもできます。

このチュートリアルでは、Microsoft Purview メタデータ ポリシー API を段階的に使用して、ユーザー、グループ、またはサービス プリンシパルをコレクションに追加し、そのコレクション内のロールを管理または削除する方法について説明します。 REST API は、Azure portalまたは Microsoft Purview ガバナンス ポータルを使用して、同じきめ細かいロールベースのアクセス制御を実現するための代替方法です。

Microsoft Purview の組み込みロールの詳細については、 Microsoft Purview のアクセス許可ガイドを参照してください。 このガイドでは、ロールを、ユーザーに付与されるアクセス許可のレベルにマップします。

メタデータ ポリシー API リファレンスの概要

次の表に、 Microsoft Purview メタデータ ポリシー API リファレンスの概要を示します。

注:

これらの API を実行する前に、{pv-acc-name} を Microsoft Purview アカウントの名前に置き換えてください。 たとえば、Microsoft Purview アカウント名が FabrikamPurviewAccount の場合、API エンドポイントは FabrikamPurviewAccount.purview.azure.com になります。 "api-version" パラメーターは変更される可能性があります。 最新の "api-version" と API シグネチャについては、 Microsoft Purview メタデータ ポリシー REST API のドキュメント を参照してください。

API 関数 REST メソッド API エンドポイント 説明
すべてのメタデータ ロールの読み取り GET https://{pv-acc-name}.purview.azure.com /policystore/metadataroles?&api-version=2021-07-01 Microsoft Purview アカウントからすべてのメタデータ ロールを読み取ります。
コレクション名によるメタデータ ポリシーの読み取り GET https://{pv-acc-name}.purview.azure.com /policystore/collections/{collectionName}/metadataPolicy?&api-version=2021-07-01 指定したコレクション名 (ポリシーの作成時に Microsoft Purview によって生成される 6 文字のランダムな名前) を使用してメタデータ ポリシーを読み取ります。
PolicyID によるメタデータ ポリシーの読み取り GET https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies/{policyId}?&api-version=2021-07-01 指定したポリシー ID を使用してメタデータ ポリシーを読み取ります。 ポリシー ID は GUID 形式です。
すべてのメタデータ ポリシーの読み取り GET https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies?&api-version=2021-07-01 Microsoft Purview アカウントからすべてのメタデータ ポリシーを読み取ります。 この API によって生成される JSON 出力リストから、操作する特定のポリシーを選択できます。
更新/PUT メタデータ ポリシー PUT https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies/{policyId}?&api-version=2021-07-01 指定したポリシー ID を使用してメタデータ ポリシーを更新します。 ポリシー ID は GUID 形式です。

Microsoft Purview カタログ コレクション API リファレンスの概要

次の表に、Microsoft Purview コレクション API の概要を示します。 各 API に関する完全なドキュメントについては、左側の列で API 操作を選択します。

操作​​ 説明
コレクションを作成または更新する コレクション エンティティを作成または更新します。
コレクションを削除する コレクション エンティティを削除します。
コレクションを取得する コレクションを取得します。
コレクション パスを取得する コレクション パスを表す親名チェーンと表示名チェーンを取得します。
子コレクション名を一覧表示する コレクション内の子コレクション名を一覧表示します。
コレクションを一覧表示する アカウント内のコレクションを一覧表示します。
  • API を使用している場合、API を実行するサービス プリンシパル、ユーザー、またはグループには、この API を正常に実行するために、Microsoft Purview でコレクション 管理 ロールが割り当てられている必要があります。

  • {collectionName} を必要とするすべての Microsoft Purview API では、 "name" ( "friendlyName" ではなく) を使用する必要があります。 {collectionName} を、実際の 6 文字の英数字のコレクション名文字列に置き換えます。

    注:

    この名前は、コレクションの作成時に指定したフレンドリ表示名とは異なります。 {collectionName} が手元にない場合は、 List Collections API を使用して、JSON 出力から 6 文字のコレクション名を選択します。

JSON ファイルの例を次に示します。

{
    "name": "74dhe7", 
    "friendlyName": "Friendly Name",
    "parentCollection": {
        "type": "CollectionReference",
        "referenceName": "{your_purview_account_name}"
    },
    "systemData": {
        "createdBy": "{guid}",
        "createdByType": "Application",
        "createdAt": "2021-08-26T21:21:51.2646627Z",
        "lastModifiedBy": "7f8d47e2-330c-42f0-8744-fcfb1ecb3ea0",
        "lastModifiedByType": "Application",
        "lastModifiedAt": "2021-08-26T21:21:51.2646628Z"
    },
    "collectionProvisioningState": "Succeeded"
}

ポリシー JSON の説明

コレクション API から受け取る JSON 出力の重要な識別子の一部を次に示します。

名前: ポリシーの名前。

Id: ポリシーの一意の識別子。

バージョン: ポリシーの最新バージョン番号。

重要

バージョン番号は、Update-Metadata-Policy API が呼び出されるたびにインクリメントされます。 Get-Policy by-Policy-ID API を呼び出して、ポリシーの最新のコピーをフェッチしてください。 更新ポリシー (PUT) API を呼び出す前に、この更新を毎回実行して、常に最新バージョンの JSON ファイルを使用できるようにします。

DecisionRules: このポリシーのルールと効果を一覧表示します。 メタデータ ポリシーの場合、効果は常に "Permit" です

コレクションまたはロールにユーザーを追加または削除する

Microsoft Purview REST API を使用して、ユーザー、グループ、またはサービス プリンシパルをコレクションまたはロールに追加または削除します。 サンプルの JSON 出力と共に、詳細な API 使用法が提供されます。 Microsoft Purview メタデータ ポリシー API を最大限に理解するために、次のセクションの手順に従うことを強くお勧めします。

すべてのメタデータ ロールを取得する

使用可能なすべてのメタデータ アクセス許可ロールを一覧表示するには、使用しているポータルに応じて、次のいずれかのコマンドを実行します。

クラシック Microsoft Purview ガバナンス ポータル:

GET https://{your_purview_account_name}.purview.azure.com/policystore/metadataroles?api-version=2021-07-01

新しい Microsoft Purview ポータル:

GET https://api.purview-service.microsoft.com/policystore/metadataroles?api-version=2021-07-01

出力 JSON では、ロールとそれに関連付けられているアクセス許可がこの形式で記述されます。

既定のメタデータ ロールを次の表に示します。

ロール ID アクセス許可 役割の説明
purviewmetadatarole_builtin_data-source-administrator Microsoft.Purview/accounts/scan/read Microsoft.Purview/accounts/scan/write Microsoft.Purview/accounts/collection/read 他のユーザーに対して、読み取り、書き込み、データ ソースの登録、スキャンのトリガーを行うアクセス権を付与します。
purviewmetadatarole_builtin_collection-administrator Microsoft.Purview/accounts/collection/read Microsoft.Purview/accounts/collection/write コレクション全体に対する管理者レベルのフル アクセス(コレクションへのユーザーとサービス プリンシパル名 (SPN) の追加または削除、管理権限、アクセスの許可または取り消しなど)。 場合によっては、コレクション管理者がコレクションの作成者と異なる場合があります。
purviewmetadatarole_builtin_purview-reader Microsoft.Purview/accounts/data/read Microsoft.Purview/accounts/collection/read スキャン バインドを除き、データ処理とすべてのメタデータ (分類、秘密度ラベル、分析情報、コレクション内の読み取り資産など) への読み取りアクセスのみを許可します。
purviewmetadatarole_builtin_dataキュレーター Microsoft.Purview/accounts/data/read Microsoft.Purview/accounts/data/write Microsoft.Purview/accounts/collection/read スキャン バインドを除き、データ処理とすべてのメタデータ (分類、秘密度ラベル、分析情報、コレクション内の読み取り資産など) へのフル アクセスを許可します。
purviewmetadatarole_builtin_data-share-contributor Microsoft.Purview/accounts/share/read Microsoft.Purview/accounts/share/write 共同作成者としてデータ共有へのアクセスを許可します。
{
  "values": [
    {
      "id": "purviewmetadatarole_builtin_data-curator",
      "name": "data-curator",
      "type": "Microsoft.Purview/role",
      "properties": {
        "provisioningState": "Provisioned",
        "roleType": "BuiltIn",
        "friendlyName": "Data Curator",
        "cnfCondition": [
          [
            {
              "attributeName": "request.azure.dataAction",
              "attributeValueIncludedIn": [
                "Microsoft.Purview/accounts/data/read",
                "Microsoft.Purview/accounts/data/write",
                "Microsoft.Purview/accounts/collection/read"
              ]
            }
          ]
        ],
        "version": 1
      }
    },
    {
      "id": "purviewmetadatarole_builtin_data-source-administrator",
      "name": "data-source-administrator",
      "type": "Microsoft.Purview/role",
      "properties": {
        "provisioningState": "Provisioned",
        "roleType": "BuiltIn",
        "friendlyName": "Data Source Administrator",
        "cnfCondition": [
          [
            {
              "attributeName": "request.azure.dataAction",
              "attributeValueIncludedIn": [
                "Microsoft.Purview/accounts/scan/read",
                "Microsoft.Purview/accounts/scan/write",
                "Microsoft.Purview/accounts/collection/read"
              ]
            }
          ]
        ],
        "version": 1
      }
    },
    {
      "id": "purviewmetadatarole_builtin_collection-administrator",
      "name": "collection-administrator",
      "type": "Microsoft.Purview/role",
      "properties": {
        "provisioningState": "Provisioned",
        "roleType": "BuiltIn",
        "friendlyName": "Collection Administrator",
        "cnfCondition": [
          [
            {
              "attributeName": "request.azure.dataAction",
              "attributeValueIncludedIn": [
                "Microsoft.Purview/accounts/collection/read",
                "Microsoft.Purview/accounts/collection/write"
              ]
            }
          ]
        ],
        "version": 1
      }
    },
    {
      "id": "purviewmetadatarole_builtin_purview-reader",
      "name": "purview-reader",
      "type": "Microsoft.Purview/role",
      "properties": {
        "provisioningState": "Provisioned",
        "roleType": "BuiltIn",
        "friendlyName": "Microsoft Purview Reader",
        "cnfCondition": [
          [
            {
              "attributeName": "request.azure.dataAction",
              "attributeValueIncludedIn": [
                "Microsoft.Purview/accounts/data/read",
                "Microsoft.Purview/accounts/collection/read"
              ]
            }
          ]
        ],
        "version": 1
      }
    },
    {
      "id": "purviewmetadatarole_builtin_data-share-contributor",
      "name": "data-share-contributor",
      "type": "Microsoft.Purview/role",
      "properties": {
        "provisioningState": "Provisioned",
        "roleType": "BuiltIn",
        "friendlyName": "Data share contributor",
        "cnfCondition": [
          [
            {
              "attributeName": "request.azure.dataAction",
              "attributeValueIncludedIn": [
                "Microsoft.Purview/accounts/share/read",
                "Microsoft.Purview/accounts/share/write"
              ]
            }
          ]
        ],
        "version": 1
      }
    }
  ]
}

すべてのメタデータ ポリシーを取得する

クラシック Microsoft Purview ガバナンス ポータル:

GET https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies?api-version=2021-07-01

新しい Microsoft Purview ポータル:

GET https://api.purview-service.microsoft.com/policystore/metadataPolicies?api-version=2021-07-01

上記のコマンドは、コレクション階層全体で使用可能なすべてのメタデータ ポリシーをツリー形式で、上部のルート コレクションからすべての子ポリシーまで一覧表示します。 各子コレクションには、次のレベルの子がそれぞれ含まれています。

例:

{
  "values": [
    {
      "name": "policy_FabrikamPurview",
      "id": "9b2f1cb9-584c-4a16-811e-9232884b5cac",
      "version": 30,
      "properties": {
        "description": "",
        "decisionRules": [
          {
            "kind": "decisionrule",
            "effect": "Permit",
            "dnfCondition": [
              [
                {
                  "attributeName": "resource.purview.collection",
                  "attributeValueIncludes": "fabrikampurview"
                },
                {
                  "fromRule": "permission:fabrikampurview",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "permission:fabrikampurview"
                }
              ]
            ]
          }
        ],
        "attributeRules": [
          {
            "kind": "attributerule",
            "id": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview",
            "name": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview",
            "dnfCondition": [
              [
                {
                  "attributeName": "principal.microsoft.id",
                  "attributeValueIncludedIn": [
                    "2f656762-e440-4b62-9eb6-a991d17d64b0",
                    "04314867-60a4-4e5a-ae16-8e5856f415d9",
                    "8988fe5c-5736-4179-9435-0a64c273b90b",
                    "6d563253-1d5b-48f2-baaa-5489f22ddce9",
                    "26f98046-5b02-4fa9-b709-e0519c658891",
                    "73fc02dc-becd-468b-a2a3-82238e722dae"
                  ]
                },
                {
                  "fromRule": "purviewmetadatarole_builtin_collection-administrator",
                  "attributeName": "derived.purview.role",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
                }
              ],
              [
                {
                  "fromRule": "purviewmetadatarole_builtin_collection-administrator",
                  "attributeName": "derived.purview.role",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
                },
                {
                  "attributeName": "principal.microsoft.groups",
                  "attributeValueIncludedIn": [
                    "ffd851fa-86ec-431b-95ea-8b84d5012383",
                    "cf84b126-4384-4952-91f1-7f705b25e569",
                    "5046aba1-5b81-411c-8fec-b84600f3f08b",
                    "b055a5c6-a04e-4d1a-8524-001ad81bfb28",
                    "cc194892-92fa-4ce3-96ae-1f98bef8211c"
                  ]
                }
              ]
            ]
          },
          {
            "kind": "attributerule",
            "id": "purviewmetadatarole_builtin_data-curator:fabrikampurview",
            "name": "purviewmetadatarole_builtin_data-curator:fabrikampurview",
            "dnfCondition": [
              [
                {
                  "attributeName": "principal.microsoft.id",
                  "attributeValueIncludedIn": [
                    "2f656762-e440-4b62-9eb6-a991d17d64b0",
                    "649f56ab-2dd2-40de-a731-3d3f28e7af92",
                    "c29a5809-f9ec-49fd-b762-2d4d64abb93e",
                    "04314867-60a4-4e5a-ae16-8e5856f415d9",
                    "73fc02dc-becd-468b-a2a3-82238e722dae",
                    "517a27d2-39ba-4c91-a032-dd9ecf8ad6f1",
                    "6d563253-1d5b-48f2-baaa-5489f22ddce9"
                  ]
                },
                {
                  "fromRule": "purviewmetadatarole_builtin_data-curator",
                  "attributeName": "derived.purview.role",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_data-curator"
                }
              ],
              [
                {
                  "fromRule": "purviewmetadatarole_builtin_data-curator",
                  "attributeName": "derived.purview.role",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_data-curator"
                },
                {
                  "attributeName": "principal.microsoft.groups",
                  "attributeValueIncludedIn": [
                    "b055a5c6-a04e-4d1a-8524-001ad81bfb28",
                    "cc194892-92fa-4ce3-96ae-1f98bef8211c",
                    "5046aba1-5b81-411c-8fec-b84600f3f08b"
                  ]
                }
              ]
            ]
          },
          {
            "kind": "attributerule",
            "id": "purviewmetadatarole_builtin_data-source-administrator:fabrikampurview",
            "name": "purviewmetadatarole_builtin_data-source-administrator:fabrikampurview",
            "dnfCondition": [
              [
                {
                  "attributeName": "principal.microsoft.id",
                  "attributeValueIncludedIn": [
                    "2f656762-e440-4b62-9eb6-a991d17d64b0",
                    "04314867-60a4-4e5a-ae16-8e5856f415d9",
                    "517a27d2-39ba-4c91-a032-dd9ecf8ad6f1",
                    "6d563253-1d5b-48f2-baaa-5489f22ddce9"
                  ]
                },
                {
                  "fromRule": "purviewmetadatarole_builtin_data-source-administrator",
                  "attributeName": "derived.purview.role",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_data-source-administrator"
                }
              ],
              [
                {
                  "fromRule": "purviewmetadatarole_builtin_data-source-administrator",
                  "attributeName": "derived.purview.role",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_data-source-administrator"
                },
                {
                  "attributeName": "principal.microsoft.groups",
                  "attributeValueIncludedIn": [
                    "b055a5c6-a04e-4d1a-8524-001ad81bfb28",
                    "cc194892-92fa-4ce3-96ae-1f98bef8211c",
                    "d34eb741-be5e-4098-90d7-eca8d4a5153f",
                    "664ec992-9af0-4773-88f2-dc39edc46f6f",
                    "5046aba1-5b81-411c-8fec-b84600f3f08b"
                  ]
                }
              ]
            ]
          },
          {
            "kind": "attributerule",
            "id": "permission:fabrikampurview",
            "name": "permission:fabrikampurview",
            "dnfCondition": [
              [
                {
                  "fromRule": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview"
                }
              ],
              [
                {
                  "fromRule": "purviewmetadatarole_builtin_purview-reader:fabrikampurview",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_purview-reader:fabrikampurview"
                }
              ],
              [
                {
                  "fromRule": "purviewmetadatarole_builtin_data-curator:fabrikampurview",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_data-curator:fabrikampurview"
                }
              ],
              [
                {
                  "fromRule": "purviewmetadatarole_builtin_data-source-administrator:fabrikampurview",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_data-source-administrator:fabrikampurview"
                }
              ]
            ]
          }
        ],
        "collection": {
          "type": "CollectionReference",
          "referenceName": "fabrikampurview"
        }
      }
    },
    {
      "name": "policy_b2zpf1",
      "id": "12b0bb28-2acc-413e-8fe1-179ff9cc54c3",
      "version": 0,
      "properties": {
        "description": "",
        "decisionRules": [
          {
            "kind": "decisionrule",
            "effect": "Permit",
            "dnfCondition": [
              [
                {
                  "attributeName": "resource.purview.collection",
                  "attributeValueIncludes": "b2zpf1"
                },
                {
                  "fromRule": "permission:b2zpf1",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "permission:b2zpf1"
                }
              ]
            ]
          }
        ],
        "attributeRules": [
          {
            "kind": "attributerule",
            "id": "purviewmetadatarole_builtin_collection-administrator:b2zpf1",
            "name": "purviewmetadatarole_builtin_collection-administrator:b2zpf1",
            "dnfCondition": [
              [
                {
                  "attributeName": "principal.microsoft.id",
                  "attributeValueIncludedIn": [
                    "2f656762-e440-4b62-9eb6-a991d17d64b0"
                  ]
                },
                {
                  "fromRule": "purviewmetadatarole_builtin_collection-administrator",
                  "attributeName": "derived.purview.role",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
                }
              ],
              [
                {
                  "fromRule": "purviewmetadatarole_builtin_collection-administrator:ukx7pq",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:ukx7pq"
                }
              ]
            ]
          },
          {
            "kind": "attributerule",
            "id": "permission:b2zpf1",
            "name": "permission:b2zpf1",
            "dnfCondition": [
              [
                {
                  "fromRule": "purviewmetadatarole_builtin_collection-administrator:b2zpf1",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:b2zpf1"
                }
              ],
              [
                {
                  "fromRule": "permission:ukx7pq",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "permission:ukx7pq"
                }
              ]
            ]
          }
        ],
        "collection": {
          "type": "CollectionReference",
          "referenceName": "b2zpf1"
        },
        "parentCollectionName": "ukx7pq"
      }
    },
    {
      "name": "policy_7wte2n",
      "id": "a72084e4-ccab-4aec-a364-08ab001e4999",
      "version": 0,
      "properties": {
        "description": "",
        "decisionRules": [
          {
            "kind": "decisionrule",
            "effect": "Permit",
            "dnfCondition": [
              [
                {
                  "attributeName": "resource.purview.collection",
                  "attributeValueIncludes": "7wte2n"
                },
                {
                  "fromRule": "permission:7wte2n",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "permission:7wte2n"
                }
              ]
            ]
          }
        ],
        "attributeRules": [
          {
            "kind": "attributerule",
            "id": "purviewmetadatarole_builtin_collection-administrator:7wte2n",
            "name": "purviewmetadatarole_builtin_collection-administrator:7wte2n",
            "dnfCondition": [
              [
                {
                  "attributeName": "principal.microsoft.id",
                  "attributeValueIncludedIn": [
                    "2f656762-e440-4b62-9eb6-a991d17d64b0"
                  ]
                },
                {
                  "fromRule": "purviewmetadatarole_builtin_collection-administrator",
                  "attributeName": "derived.purview.role",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
                }
              ],
              [
                {
                  "fromRule": "purviewmetadatarole_builtin_collection-administrator:ukx7pq",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:ukx7pq"
                }
              ]
            ]
          },
          {
            "kind": "attributerule",
            "id": "permission:7wte2n",
            "name": "permission:7wte2n",
            "dnfCondition": [
              [
                {
                  "fromRule": "purviewmetadatarole_builtin_collection-administrator:7wte2n",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:7wte2n"
                }
              ],
              [
                {
                  "fromRule": "permission:ukx7pq",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "permission:ukx7pq"
                }
              ]
            ]
          }
        ],
        "collection": {
          "type": "CollectionReference",
          "referenceName": "7wte2n"
        },
        "parentCollectionName": "ukx7pq"
      }
    }
  ]
}

選択したメタデータ ポリシーを取得する

{collectionName} または {PolicyID} のいずれかを指定することで、2 つの API のいずれかを使用して、特定のコレクションのメタデータ ポリシー JSON 構造をフェッチできます。

次の 2 つのセクションで説明するように、両方の API は同じ目的を果たし、両方の JSON 出力はまったく同じです。

コレクション名を使用してコレクションのメタデータ ポリシーを取得する

クラシック Microsoft Purview ガバナンス ポータル:

GET https://{your_purview_account_name}.purview.azure.com/policystore/collections/{collectionName}/metadataPolicy?api-version=2021-07-01

新しい Microsoft Purview ポータル:

GET https://api.purview-service.microsoft.com/policystore/collections/{collectionName}/metadataPolicy?api-version=2021-07-01
  1. Microsoft Purview アカウント名は {your_purview_account_name} です。 これを Microsoft Purview アカウント名に置き換えます。

  2. 前の API の JSON 出力 「Get All Metadata Policies」で、次のセクションを探します。

    { "type": "CollectionReference", "referenceName": "7xkdg2"}

  3. API URL の "{collectionName}" を"referenceName": "{6-char-collection-name}" の値に置き換えます。 たとえば、6 文字のコレクション名が "7xkdg2" の場合、API URL は次のように書式設定されます。

    https://{your_purview_account_name}.purview.azure.com/policystore/collections/7xkdg2/metadataPolicy?api-version=2021-07-01

  4. 次の API を実行します。

    {
      "name": "policy_qu45fs",
      "id": "c6639bb2-9c41-4be0-912b-775750e725de",
      "version": 0,
      "properties": {
        "description": "",
        "decisionRules": [
          {
            "kind": "decisionrule",
            "effect": "Permit",
            "dnfCondition": [
              [
                {
                  "attributeName": "resource.purview.collection",
                  "attributeValueIncludes": "qu45fs"
                },
                {
                  "fromRule": "permission:qu45fs",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "permission:qu45fs"
                }
              ]
            ]
          }
        ],
        "attributeRules": [
          {
            "kind": "attributerule",
            "id": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
            "name": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
            "dnfCondition": [
              [
                {
                  "attributeName": "principal.microsoft.id",
                  "attributeValueIncludedIn": [
                    "2f656762-e440-4b62-9eb6-a991d17d64b0"
                  ]
                },
                {
                  "fromRule": "purviewmetadatarole_builtin_collection-administrator",
                  "attributeName": "derived.purview.role",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
                }
              ],
              [
                {
                  "fromRule": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview"
                }
              ]
            ]
          },
          {
            "kind": "attributerule",
            "id": "permission:qu45fs",
            "name": "permission:qu45fs",
            "dnfCondition": [
              [
                {
                  "fromRule": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:qu45fs"
                }
              ],
              [
                {
                  "fromRule": "permission:fabrikampurview",
                  "attributeName": "derived.purview.permission",
                  "attributeValueIncludes": "permission:fabrikampurview"
                }
              ]
            ]
          }
        ],
        "collection": {
          "type": "CollectionReference",
          "referenceName": "qu45fs"
        },
        "parentCollectionName": "fabrikampurview"
      }
    }
    

ポリシー ID を使用してコレクションのメタデータ ポリシーを取得する

クラシック Microsoft Purview ガバナンス ポータル:

GET https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/{policyId}?api-version=2021-07-01

新しい Microsoft Purview ポータル:

GET https://api.purview-service.microsoft.com/policystore/metadataPolicies/{policyId}?api-version=2021-07-01
  1. Microsoft Purview アカウント名は {your_purview_account_name} です。 これを Microsoft Purview アカウント名に置き換えます。

  2. 前の API の JSON 出力 「Get All Metadata Policies」で、次のセクションを探します。

    {...."name": "policy_qu45fs", "id": "{policy-guid}", "version": N ....}

  3. API URL の "{policyId}" を "id" の値に置き換えます。 たとえば、"{policy-guid}" が "c6639bb2-9c41-4be0-912b-775750e725de" の場合、API URL は次のように書式設定されます。

    https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/c6639bb2-9c41-4be0-912b-775750e725de?api-version=2021-07-01

  4. 次に、次の API を実行します。

    注:

    この API 呼び出しと前の API 呼び出しの出力は同じです。 前に説明したように、どちらかを選択できます。

{
  "name": "policy_qu45fs",
  "id": "c6639bb2-9c41-4be0-912b-775750e725de",
  "version": 0,
  "properties": {
    "description": "",
    "decisionRules": [
      {
        "kind": "decisionrule",
        "effect": "Permit",
        "dnfCondition": [
          [
            {
              "attributeName": "resource.purview.collection",
              "attributeValueIncludes": "qu45fs"
            },
            {
              "fromRule": "permission:qu45fs",
              "attributeName": "derived.purview.permission",
              "attributeValueIncludes": "permission:qu45fs"
            }
          ]
        ]
      }
    ],
    "attributeRules": [
      {
        "kind": "attributerule",
        "id": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
        "name": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
        "dnfCondition": [
          [
            {
              "attributeName": "principal.microsoft.id",
              "attributeValueIncludedIn": [
                "2f656762-e440-4b62-9eb6-a991d17d64b0"
              ]
            },
            {
              "fromRule": "purviewmetadatarole_builtin_collection-administrator",
              "attributeName": "derived.purview.role",
              "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
            }
          ],
          [
            {
              "fromRule": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview",
              "attributeName": "derived.purview.permission",
              "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview"
            }
          ]
        ]
      },
      {
        "kind": "attributerule",
        "id": "permission:qu45fs",
        "name": "permission:qu45fs",
        "dnfCondition": [
          [
            {
              "fromRule": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
              "attributeName": "derived.purview.permission",
              "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:qu45fs"
            }
          ],
          [
            {
              "fromRule": "permission:fabrikampurview",
              "attributeName": "derived.purview.permission",
              "attributeValueIncludes": "permission:fabrikampurview"
            }
          ]
        ]
      }
    ],
    "collection": {
      "type": "CollectionReference",
      "referenceName": "qu45fs"
    },
    "parentCollectionName": "fabrikampurview"
  }
}

コレクション ポリシーを更新する

PUT https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/{policyId}?api-version=2021-07-01

このセクションでは、コレクションにユーザー、グループ、またはサービス プリンシパルを追加または削除することで、前の手順で取得したポリシー JSON を更新します。 次に、PUT REST メソッドを使用して Microsoft Purview サービスにプッシュします。

ユーザー、グループ、またはサービス プリンシパルを追加または削除する場合でも、同じ API プロセスに従います。

  1. JSON の "attributeValueIncludedIn" 配列に、ユーザー、グループ、またはサービス プリンシパル オブジェクト ID {guid} を指定します。

  2. 前の手順で Get-Policy-by-ID API の JSON 出力で"attributeValueIncludedIn" 配列を検索し、配列内のユーザー、グループ、またはサービス プリンシパル オブジェクト ID を追加または削除します。 ユーザー、グループ、またはサービス プリンシパル のオブジェクト ID をフェッチする方法がわからない場合は、「 Get-AzureADUser」を参照してください。

  3. JSON マッピングには、4 つのロールごとに複数のセクションがあります。 コレクション管理者のアクセス許可ロールには、"purviewmetadatarole_builtin_collection-administrator" という ID を含むセクションを使用します。 同様に、他のロールに対応するセクションを使用します。

  4. 追加/削除操作について理解を深めるために、前の API からの JSON 出力と次の出力の違いを慎重に調べます。 次の出力の JSON では、ユーザー ID "3a3a3a3a-2c2c-4b4b-1c1c-2a3b4c5d6e7f" をコレクション管理者として追加しました。

{
  "name": "policy_qu45fs",
  "id": "c6639bb2-9c41-4be0-912b-775750e725de",
  "version": 0,
  "properties": {
    "description": "",
    "decisionRules": [
      {
        "kind": "decisionrule",
        "effect": "Permit",
        "dnfCondition": [
          [
            {
              "attributeName": "resource.purview.collection",
              "attributeValueIncludes": "qu45fs"
            },
            {
              "fromRule": "permission:qu45fs",
              "attributeName": "derived.purview.permission",
              "attributeValueIncludes": "permission:qu45fs"
            }
          ]
        ]
      }
    ],
    "attributeRules": [
      {
        "kind": "attributerule",
        "id": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
        "name": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
        "dnfCondition": [
          [
            {
              "attributeName": "principal.microsoft.id",
              "attributeValueIncludedIn": [
                "2f656762-e440-4b62-9eb6-a991d17d64b0",
                "3a3a3a3a-2c2c-4b4b-1c1c-2a3b4c5d6e7f"
              ]
            },
            {
              "fromRule": "purviewmetadatarole_builtin_collection-administrator",
              "attributeName": "derived.purview.role",
              "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator"
            }
          ],
          [
            {
              "fromRule": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview",
              "attributeName": "derived.purview.permission",
              "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:fabrikampurview"
            }
          ]
        ]
      },
      {
        "kind": "attributerule",
        "id": "permission:qu45fs",
        "name": "permission:qu45fs",
        "dnfCondition": [
          [
            {
              "fromRule": "purviewmetadatarole_builtin_collection-administrator:qu45fs",
              "attributeName": "derived.purview.permission",
              "attributeValueIncludes": "purviewmetadatarole_builtin_collection-administrator:qu45fs"
            }
          ],
          [
            {
              "fromRule": "permission:fabrikampurview",
              "attributeName": "derived.purview.permission",
              "attributeValueIncludes": "permission:fabrikampurview"
            }
          ]
        ]
      }
    ],
    "collection": {
      "type": "CollectionReference",
      "referenceName": "qu45fs"
    },
    "parentCollectionName": "fabrikampurview"
  }
}

ルート コレクション管理者ロールを追加する

既定では、Microsoft Purview アカウントを作成したユーザーはルート コレクション管理者 (つまり、コレクション階層の最上位レベルの管理者) です。 ただし、場合によっては、organizationが API を使用してルート コレクション管理者を変更したい場合があります。

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/addRootCollectionAdmin?api-version=2021-07-01

上記のコマンドを実行するには、新しいルート コレクション管理者のオブジェクト ID を渡す必要があります。 前に説明したように、オブジェクト ID には、任意のユーザー、グループ、またはサービス プリンシパルの ID を指定できます。

{"objectId": "{guid}"}

注:

この API を呼び出すユーザーは、アカウントに対して書き込みアクションを実行するには、Microsoft Purview アカウントに対する所有者またはユーザー アカウントと認証 (UAA) アクセス許可が必要です。

その他のリソース

PowerShell ユーティリティを使用して、Microsoft Purview REST API を実行することもできます。 PowerShell ギャラリーから簡単にインストールできます。 このユーティリティを使用すると、同じコマンドをすべて実行できますが、Windows PowerShellから実行できます。

次の手順