Tutorial: usar APIs REST para gerenciar o controle de acesso baseado em função em coleções do Microsoft Purview

Em agosto de 2021, o controle de acesso no Microsoft Purview passou do Azure Identity & Access Management (IAM) (plano de controle) para coleções do Microsoft Purview (plano de dados). Essa alteração fornece aos curadores e administradores de dados corporativos um controle de acesso granular mais preciso em suas fontes de dados digitalizadas pelo Microsoft Purview. A alteração também permite que as organizações auditem o acesso correto e o uso correto de seus dados.

Este tutorial orienta você sobre o uso passo a passo das APIs da Política de Metadados do Microsoft Purview para ajudá-lo a adicionar usuários, grupos ou entidades de serviço a uma coleção e gerenciar ou remover suas funções nessa coleção. AS APIs REST são um método alternativo para usar o portal do Azure ou o portal de governança do Microsoft Purview para obter o mesmo controle de acesso granular baseado em função.

Para obter mais informações sobre as funções internas no Microsoft Purview, consulte o guia de permissões do Microsoft Purview. O guia mapeia as funções para o nível de permissões de acesso concedidas aos usuários.

Resumo da Referência da API da Política de Metadados

A tabela a seguir fornece uma visão geral da Referência da API de Metadados do Microsoft Purview.

Observação

Substitua {pv-acc-name} pelo nome da sua conta do Microsoft Purview antes de executar essas APIs. Por exemplo, se o nome da conta do Microsoft Purview for FabrikamPurviewAccount, os pontos de extremidade da API ficarão FabrikamPurviewAccount.purview.azure.com. O parâmetro "api-version" está sujeito a alterações. Consulte a documentação da API REST da política de metadados do Microsoft Purview para a mais recente "api-version" e a assinatura da API.

Função API Método REST Ponto de extremidade de API Descrição
Ler todas as funções de metadados OBTER https://{pv-acc-name}.purview.azure.com /policystore/metadados?&api-version=2021-07-01 Lê todas as funções de metadados de sua conta do Microsoft Purview.
Ler política de metadados por nome da coleção OBTER https://{pv-acc-name}.purview.azure.com /policystore/collections/{collectionName}/metadataPolicy?&api-version=2021-07-01 Lê a política de metadados usando um nome de coleção especificado (o nome aleatório de seis caracteres gerado pelo Microsoft Purview quando ele cria a política).
Ler política de metadados por PolicyID OBTER https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies/{policyId}?&api-version=2021-07-01 Lê a política de metadados usando uma ID de política especificada. A ID da política está no formato GUID.
Ler todas as políticas de metadados OBTER https://{pv-acc-name}.purview.azure.com /policystore/metadadosPolicies?&api-version=2021-07-01 Lê todas as políticas de metadados de sua conta do Microsoft Purview. Você pode escolher uma determinada política com a qual trabalhar na lista de saída JSON gerada por essa API.
Política de Metadados de Atualização/PUT PUT https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies/{policyId}?&api-version=2021-07-01 Atualizações a política de metadados usando uma ID de política especificada. A ID da política está no formato GUID.

Resumo de referência de API de coleções do catálogo do Microsoft Purview

A tabela a seguir fornece uma visão geral das APIs de coleções do Microsoft Purview. Para obter a documentação completa sobre cada API, selecione a operação de API na coluna à esquerda.

Operação Descrição
Criar ou atualizar coleção Cria ou atualiza uma entidade de coleção.
Excluir coleção Exclui uma entidade de coleção.
Obter coleção Obtém uma coleção.
Obter o caminho da coleção Obtém o nome pai e as cadeias de nomes de exibição que representam o caminho da coleção.
Listar nomes de coleção filho Lista os nomes das coleções filho na coleção.
Listar coleções Lista as coleções na conta.
  • Se você estiver usando a API, a entidade de serviço, o usuário ou o grupo que executa a API deverão ter uma função collection Administração atribuída no Microsoft Purview para executar essa API com êxito.

  • Para todas as APIs do Microsoft Purview que exigem {collectionName}, você precisará usar "name" (e não "friendlyName"). Substitua {collectionName} pela cadeia de caracteres de nome de coleção alfanumérica real de seis caracteres.

    Observação

    Esse nome é diferente do nome de exibição amigável fornecido quando você criou a coleção. Se você não tiver {collectionName} à mão, use a API Coleções de Listas para selecionar o nome da coleção de seis caracteres na saída JSON.

Aqui está um exemplo de arquivo 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"
}

Descrição JSON da política

Aqui estão alguns dos identificadores importantes na saída JSON recebida das APIs da coleção:

Nome: o nome da política.

Id: o identificador exclusivo da política.

Versão: o número de versão mais recente da política.

Importante

O número da versão é incrementado sempre que a API de Política de Metadados de Atualização é chamada. Certifique-se de buscar a cópia mais recente da política invocando a API Get-Policy-by-Policy-ID. Execute essa atualização todas as vezes antes de chamar a API PUT (Política de Atualização), para que você sempre tenha a versão mais recente do arquivo JSON.

DecisionRules: liste as regras e o efeito dessa política. Para políticas de metadados, o efeito é sempre "Permitir".

Adicionar ou remover usuários de uma coleção ou função

Use APIs REST do Microsoft Purview para adicionar ou remover um usuário, grupo ou entidade de serviço de uma coleção ou função. O uso detalhado da API é fornecido junto com saídas JSON de exemplo. É altamente recomendável que você siga as instruções nas próximas seções sequencialmente para melhor compreensão das APIs de política de metadados do Microsoft Purview.

Obter todas as funções de metadados

Para listar todas as funções de permissão de acesso de metadados disponíveis, execute um dos seguintes comandos, dependendo do portal que você estiver usando:

Portal de governança clássico do Microsoft Purview:

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

Novo portal do Microsoft Purview:

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

O JSON de saída descreverá as funções e suas permissões associadas nesse formato.

As funções de metadados padrão estão listadas na tabela a seguir:

ID da função Permissões Descrição da função
purviewmetadatarole_builtin_data-source-administrator Microsoft.Purview/accounts/scan/read Microsoft.Purview/accounts/scan/write Microsoft.Purview/accounts/collection/read Concede acesso a outras pessoas para ler, gravar coleta, registrar fontes de dados e disparar verificações.
purviewmetadatarole_builtin_collection-administrador Microsoft.Purview/accounts/collection/read Microsoft.Purview/accounts/collection/write Acesso completo em nível de administrador a toda a coleção, incluindo adicionar ou remover usuários e SPNs (nomes de entidade de serviço) da coleção, direitos de gerenciamento e conceder ou revogar o acesso. Em alguns casos, o Administrador de Coleção pode ser diferente do criador da coleção.
leitor de purviewmetadatarole_builtin_purview Microsoft.Purview/accounts/data/read Microsoft.Purview/accounts/collection/read Concede apenas acesso de leitura ao tratamento de dados e a todos os metadados, incluindo classificações, rótulos de confidencialidade, insights e ativos de leitura em uma coleção, exceto associações de verificação.
purviewmetadatarole_builtin_data-curador Microsoft.Purview/accounts/data/read Microsoft.Purview/accounts/data/write Microsoft.Purview/accounts/collection/read Concede acesso total ao tratamento de dados e a todos os metadados, incluindo classificações, rótulos de confidencialidade, insights e ativos de leitura em uma coleção, exceto associações de verificação.
purviewmetadatarole_builtin_data-share-contribuidor Microsoft.Purview/accounts/share/read Microsoft.Purview/accounts/share/write Concede acesso a compartilhamentos de dados como um contribuidor.
{
  "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
      }
    }
  ]
}

Obter todas as políticas de metadados

Portal de governança clássico do Microsoft Purview:

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

Novo portal do Microsoft Purview:

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

O comando anterior lista todas as políticas de metadados disponíveis em toda a hierarquia de coleções no formato de árvore, desde a coleção raiz na parte superior até todas as suas políticas filho. Cada coleção filho contém cada um de seus próximos filhos de nível.

Exemplo:

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

Obter a política de metadados selecionada

Você pode usar uma das duas APIs para buscar a estrutura JSON da política de metadados de uma determinada coleção fornecendo {collectionName} ou {PolicyID}.

Conforme descrito nas duas seções a seguir, ambas as APIs servem para o mesmo propósito e as saídas JSON de ambas são exatamente as mesmas.

Obter a política de metadados da coleção usando o nome da coleção

Portal de governança clássico do Microsoft Purview:

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

Novo portal do Microsoft Purview:

GET https://api.purview-service.microsoft.com/policystore/collections/{collectionName}/metadataPolicy?api-version=2021-07-01
  1. O nome da conta do Microsoft Purview é {your_purview_account_name}. Substitua-o pelo nome da conta do Microsoft Purview.

  2. Na saída JSON da API anterior, "Obter todas as políticas de metadados", procure a seguinte seção:

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

  3. Substitua "{collectionName}" na URL da API pelo valor de "referenceName": "{6-char-collection-name}". Por exemplo, se o nome da coleção de seis caracteres for "7xkdg2", a URL da API será formatada como:

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

  4. Execute a seguinte 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"
      }
    }
    

Obter a política de metadados da coleção usando a ID da política

Portal de governança clássico do Microsoft Purview:

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

Novo portal do Microsoft Purview:

GET https://api.purview-service.microsoft.com/policystore/metadataPolicies/{policyId}?api-version=2021-07-01
  1. O nome da conta do Microsoft Purview é {your_purview_account_name}. Substitua-o pelo nome da conta do Microsoft Purview.

  2. Na saída JSON da API anterior, "Obter todas as políticas de metadados", procure a seguinte seção:

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

  3. Substitua "{policyId}" na URL da API pelo valor de "id". Por exemplo, se o "{policy-guid}" for "c6639bb2-9c41-4be0-912b-775750e725de", a URL da API será formatada como:

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

  4. Agora execute a seguinte API:

    Observação

    A saída dessa chamada de API e da chamada de API anterior é a mesma. Conforme mencionado anteriormente, você pode escolher um deles.

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

Atualizar a política de coleção

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

Nesta seção, você atualiza a política JSON obtida na etapa anterior adicionando ou removendo um usuário, grupo ou entidade de serviço da coleção. Em seguida, você o envia por push para o serviço Microsoft Purview usando um método PUT REST.

Se você estiver adicionando ou removendo um usuário, grupo ou entidade de serviço, você seguirá o mesmo processo de API.

  1. Forneça a ID do objeto do usuário, grupo ou entidade de serviço {guid} na matriz "attributeValueIncludedIn" do JSON.

  2. Pesquise a saída JSON da API Get-Policy-by-ID para a matriz "attributeValueIncludedIn" na etapa anterior e adicione ou remova a ID do objeto usuário, grupo ou entidade de serviço na matriz. Se você não tiver certeza sobre como buscar a ID do objeto do usuário, grupo ou entidade de serviço, consulte Get-AzureADUser.

  3. Há várias seções no mapeamento JSON para cada uma das quatro funções. Para a função Permissões do Administrador de Coleção, use a seção com a ID chamada "purviewmetadatarole_builtin_collection-administrador". Da mesma forma, use a seção correspondente para as outras funções.

  4. Para entender melhor a operação de adição/remoção, examine cuidadosamente a diferença entre a saída JSON da API anterior e a saída a seguir. Na saída a seguir JSON, adicionamos a ID do usuário "3a3a3a3a-2c2c-4b4b-1c1c-2a3b4c5d6e7f" como administrador de coleção.

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

Adicionar a função Administrador de Coleção Raiz

Por padrão, o usuário que criou a conta do Microsoft Purview é o Administrador de Coleção Raiz (ou seja, o administrador do nível mais alto da hierarquia de coleção). No entanto, em alguns casos, uma organização pode querer alterar o Administrador de Coleção Raiz usando a API.

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

Para executar o comando anterior, você só precisa passar a ID do objeto do administrador do Conjunto raiz. Como mencionamos antes, a ID do objeto pode ser a de qualquer usuário, grupo ou entidade de serviço.

{"objectId": "{guid}"}

Observação

Os usuários que chamam essa API devem ter permissões de Proprietário ou Conta de Usuário e Autenticação (UAA) na conta do Microsoft Purview para executar uma ação de gravação na conta.

Mais recursos

Você pode optar por executar APIs REST do Microsoft Purview usando o utilitário do PowerShell. Ele pode ser facilmente instalado a partir de Galeria do PowerShell. Com esse utilitário, você pode executar todos os mesmos comandos, mas de Windows PowerShell.

Próximas etapas