Tutorial: Utilizar APIs REST para gerir o controlo de acesso baseado em funções em coleções do Microsoft Purview
Em agosto de 2021, o controlo de acesso no Microsoft Purview passou do Azure Identity & Access Management (IAM) (plano de controlo) para coleções do Microsoft Purview (plano de dados). Esta alteração dá aos curadores e administradores de dados empresariais um controlo de acesso mais preciso e granular nas respetivas origens de dados analisadas pelo Microsoft Purview. A alteração também permite que as organizações auditem o acesso certo e a utilização correta dos dados.
Este tutorial orienta-o ao longo da utilização passo a passo das APIs de Política de Metadados do Microsoft Purview para o ajudar a adicionar utilizadores, grupos ou principais de serviço a uma coleção e gerir ou remover as respetivas funções nessa coleção. As APIs REST são um método alternativo para utilizar a portal do Azure ou o portal de governação do Microsoft Purview para obter o mesmo controlo granular de acesso baseado em funções.
Para obter mais informações sobre as funções incorporadas 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 que são concedidas aos utilizadores.
Resumo da Referência da API da Política de Metadados
A tabela seguinte fornece uma descrição geral da Referência da API de Política de Metadados do Microsoft Purview.
Observação
Substitua {pv-acc-name} pelo nome da sua conta do Microsoft Purview antes de executar estas APIs. Por exemplo, se o nome da conta do Microsoft Purview for FabrikamPurviewAccount, os pontos finais da API tornar-se-ão FabrikamPurviewAccount.purview.azure.com. O parâmetro "api-version" está sujeito a alterações. Veja a documentação da API REST da política de Metadados do Microsoft Purview para obter a "versão da api" mais recente 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/metadataroles?&api-version=2021-07-01 | Lê todas as funções de metadados da 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 com um nome de coleção especificado (o nome aleatório de seis carateres gerado pelo Microsoft Purview quando 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 com um ID de política especificado. O ID da política está no formato GUID. |
Ler Todas as Políticas de Metadados | OBTER | https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies?&api-version=2021-07-01 | Lê todas as políticas de metadados da sua conta do Microsoft Purview. Pode escolher uma determinada política com a qual trabalhar a partir da lista de saídaS JSON gerada por esta API. |
Atualizar/COLOCAR Política de Metadados | PUT | https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies/{policyId}?&api-version=2021-07-01 | Atualizações a política de metadados com um ID de política especificado. O ID da política está no formato GUID. |
Resumo de referência da API de coleções de catálogos do Microsoft Purview
A tabela seguinte fornece uma descrição geral das APIs de coleções do Microsoft Purview. Para obter documentação completa sobre cada API, selecione a operação da API na coluna esquerda.
Operação | Descrição |
---|---|
Criar ou atualizar coleção | Cria ou atualiza uma entidade de coleção. |
Eliminar coleção | Elimina uma entidade de coleção. |
Obter coleção | Obtém uma coleção. |
Obter caminho da coleção | Obtém o nome principal e as cadeias de nomes a apresentar que representam o caminho da coleção. |
Listar nomes de coleções subordinadas | Listas os nomes das coleções subordinadas na coleção. |
Listar coleções | Listas as coleções na conta. |
Se estiver a utilizar a API, o principal de serviço, utilizador ou grupo que executa a API deve ter uma função de Coleção Administração atribuída no Microsoft Purview para executar esta API com êxito.
Para todas as APIs do Microsoft Purview que necessitem de {collectionName}, terá de utilizar "name" (e não "friendlyName"). Substitua {collectionName} pela cadeia de nome de coleção alfanumérica de seis carateres real.
Observação
Este nome é diferente do nome a apresentar amigável que forneceu quando criou a coleção. Se não tiver {collectionName} à mão, utilize a API Coleções de Listas para selecionar o nome da coleção de seis carateres na saída JSON.
Eis um ficheiro JSON de exemplo:
{
"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
Seguem-se alguns dos identificadores importantes na saída JSON que são recebidos das APIs da coleção:
Nome: o nome da política.
ID: o identificador exclusivo da política.
Versão: o número da versão mais recente da política.
Importante
O número da versão é incrementado sempre que a API Update-Metadata-Policy é chamada. Certifique-se de que obtém a cópia mais recente da política ao invocar a API Get-Policy-by-Policy-ID. Efetue esta atualização sempre antes de chamar a API de Política de Atualização (PUT), para que tenha sempre a versão mais recente do ficheiro JSON.
DecisionRules: liste as regras e o efeito desta política. Para políticas de metadados, o efeito é sempre "Permitir".
Adicionar ou remover utilizadores de uma coleção ou função
Utilize as APIs REST do Microsoft Purview para adicionar ou remover um utilizador, grupo ou principal de serviço de uma coleção ou função. A utilização detalhada da API é fornecida juntamente com saídas JSON de exemplo. Recomendamos vivamente que siga as instruções nas secções seguintes sequencialmente para compreender melhor as 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 a metadados disponíveis, execute um dos seguintes comandos, consoante o portal que estiver a utilizar:
Portal de governação 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 irá descrever as funções e as respetivas permissões associadas neste formato.
As funções de metadados predefinidas estão listadas na seguinte tabela:
ID da Função | Permissões | Descrição da função |
---|---|---|
purviewmetadatarole_builtin_data-origem-administrador | Microsoft.Purview/accounts/scan/read Microsoft.Purview/accounts/scan/write Microsoft.Purview/accounts/collection/read | Concede acesso a outras pessoas para ler, escrever recolha, registar origens de dados e acionar análises. |
purviewmetadatarole_builtin_collection administrador | Microsoft.Purview/accounts/collection/read Microsoft.Purview/accounts/collection/write | Acesso total ao nível do administrador a toda a coleção, incluindo adicionar ou remover utilizadores e nomes de principais de serviço (SPNs) da coleção, direitos de gestão e conceder ou revogar o acesso. Em alguns casos, o Administrador de Coleções pode ser diferente do criador da coleção. |
purviewmetadatarole_builtin_purview leitor | Microsoft.Purview/accounts/data/read Microsoft.Purview/accounts/collection/read | Concede apenas acesso de leitura ao processamento de dados e a todos os metadados, incluindo classificações, etiquetas de confidencialidade, informações e recursos de leitura numa coleção, exceto enlaces de análise. |
purviewmetadatarole_builtin_data-curador | Microsoft.Purview/accounts/data/read Microsoft.Purview/accounts/data/write Microsoft.Purview/accounts/collection/read | Concede acesso total ao processamento de dados e a todos os metadados, incluindo classificações, etiquetas de confidencialidade, informações e recursos de leitura numa coleção, exceto enlaces de análise. |
purviewmetadatarole_builtin_data-share-contribuidor | Microsoft.Purview/accounts/share/read Microsoft.Purview/accounts/share/write | Concede acesso a partilhas de dados como 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 governação 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 de raiz na parte superior até todas as políticas subordinadas. Cada coleção subordinada contém cada um dos menores de nível seguinte.
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
Pode utilizar uma das duas APIs para obter uma estrutura JSON de política de metadados de uma coleção específica ao fornecer {collectionName} ou {PolicyID}.
Conforme descrito nas duas secções seguintes, ambas as APIs servem a mesma finalidade e as saídas JSON de ambas são exatamente as mesmas.
Obter a política de metadados da coleção com o nome da coleção
Portal de governação 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
O nome da conta do Microsoft Purview é {your_purview_account_name}. Substitua-o pelo nome da sua conta do Microsoft Purview.
Na saída JSON da API anterior, "Obter Todas as Políticas de Metadados", procure a secção seguinte:
{ "type": "CollectionReference", "referenceName": "7xkdg2"}
Substitua "{collectionName}" no URL da API pelo valor de "referenceName": "{6-char-collection-name}". Por exemplo, se o nome da coleção de seis carateres for "7xkdg2", o URL da API será formatado como:
https://{your_purview_account_name}.purview.azure.com/policystore/collections/7xkdg2/metadataPolicy?api-version=2021-07-01
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 com o ID da política
Portal de governação 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
O nome da conta do Microsoft Purview é {your_purview_account_name}. Substitua-o pelo nome da sua conta do Microsoft Purview.
Na saída JSON da API anterior, "Obter Todas as Políticas de Metadados", procure a secção seguinte:
{.... "name": "policy_qu45fs", "id": "{policy-guid}", "version": N ....}
Substitua "{policyId}" no URL da API pelo valor de "id". Por exemplo, se "{policy-guid}" for "c6639bb2-9c41-4be0-912b-775750e725de", o URL da API será formatado como:
https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/c6639bb2-9c41-4be0-912b-775750e725de?api-version=2021-07-01
Agora, execute a seguinte API:
Observação
O resultado desta chamada à API e da chamada à API anterior é o mesmo. Conforme mencionado anteriormente, pode escolher qualquer 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 secção, vai atualizar o JSON da política que obteve no passo anterior ao adicionar ou remover um utilizador, grupo ou principal de serviço da coleção. Em seguida, emita-o para o serviço Microsoft Purview com um método PUT REST.
Quer esteja a adicionar ou a remover um utilizador, grupo ou principal de serviço, seguirá o mesmo processo de API.
Forneça o ID de objeto do utilizador, grupo ou principal de serviço {guid} na matriz "attributeValueIncludedIn" do JSON.
Procure na saída JSON da API Get-Policy-by-ID a matriz "attributeValueIncludedIn" no passo anterior e adicione ou remova o ID de objeto do utilizador, grupo ou principal de serviço na matriz. Se não tiver a certeza sobre como obter o ID de objeto do utilizador, grupo ou principal de serviço, veja Get-MgUser.
Existem várias secções no mapeamento JSON para cada uma das quatro funções. Para a função de permissões Administrador de Coleções, utilize a secção com o ID denominado "purviewmetadatarole_builtin_collection-administrador". Da mesma forma, utilize a secção correspondente para as outras funções.
Para compreender melhor a operação de adicionar/remover, examine cuidadosamente a diferença entre a saída JSON da API anterior e a seguinte saída. No resultado seguinte do JSON, adicionámos o ID de utilizador "3a3a3a3a-2c2c-4b4b-1c1c-2a3b4c5d6e7f" como Administrador da 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 de Raiz
Por predefinição, o utilizador que criou a conta do Microsoft Purview é o Administrador da Coleção de Raiz (ou seja, o administrador do nível mais alto da hierarquia de coleções). No entanto, em alguns casos, uma organização pode querer alterar o Administrador da Coleção de Raiz com 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, só precisa de transmitir o ID de objeto do novo Administrador de Coleção de Raiz. Como mencionámos anteriormente, o ID de objeto pode ser o de qualquer utilizador, grupo ou principal de serviço.
{"objectId": "{guid}"}
Observação
Os utilizadores que chamam esta API têm de ter permissões de Proprietário ou Conta de Utilizador e Autenticação (UAA) na conta do Microsoft Purview para executar uma ação de escrita na conta.
Mais recursos
Pode optar por executar as APIs REST do Microsoft Purview com o utilitário PowerShell. Pode ser facilmente instalado a partir de Galeria do PowerShell. Com este utilitário, pode executar todos os mesmos comandos, mas a partir de Windows PowerShell.