Tutorial: Uso de las API REST para administrar el control de acceso basado en rol en colecciones de Microsoft Purview
En agosto de 2021, el control de acceso en Microsoft Purview se trasladó de Azure Identity & Access Management (IAM) (plano de control) a colecciones de Microsoft Purview (plano de datos). Este cambio proporciona a los administradores y conservadores de datos empresariales un control de acceso más preciso y granular en sus orígenes de datos examinados por Microsoft Purview. El cambio también permite a las organizaciones auditar el acceso correcto y el uso correcto de sus datos.
Este tutorial le guía por el uso paso a paso de las API de directiva de metadatos de Microsoft Purview para ayudarle a agregar usuarios, grupos o entidades de servicio a una colección y administrar o quitar sus roles dentro de esa colección. Las API REST son un método alternativo al uso de la Azure Portal o el portal de gobernanza de Microsoft Purview para lograr el mismo control de acceso basado en rol granular.
Para obtener más información sobre los roles integrados en Microsoft Purview, consulte la guía de permisos de Microsoft Purview. La guía asigna los roles al nivel de permisos de acceso que se conceden a los usuarios.
Resumen de referencia de la API de directiva de metadatos
En la tabla siguiente se proporciona información general sobre la referencia de la API de directiva de metadatos de Microsoft Purview.
Nota:
Reemplace {pv-acc-name} por el nombre de la cuenta de Microsoft Purview antes de ejecutar estas API. Por ejemplo, si el nombre de la cuenta de Microsoft Purview es FabrikamPurviewAccount, los puntos de conexión de API se convertirán en FabrikamPurviewAccount.purview.azure.com. El parámetro "api-version" está sujeto a cambios. Consulte la documentación de la API REST de la directiva de metadatos de Microsoft Purview para obtener la última "versión de api" y la firma de API.
Función de API | Método REST | Punto de conexión de API | Descripción |
---|---|---|---|
Leer todos los roles de metadatos | GET | https://{pv-acc-name}.purview.azure.com /policystore/metadataroles?&api-version=2021-07-01 | Lee todos los roles de metadatos de la cuenta de Microsoft Purview. |
Leer directiva de metadatos por nombre de colección | GET | https://{pv-acc-name}.purview.azure.com /policystore/collections/{collectionName}/metadataPolicy?&api-version=2021-07-01 | Lee la directiva de metadatos mediante un nombre de colección especificado (el nombre aleatorio de seis caracteres generado por Microsoft Purview cuando crea la directiva). |
Leer directiva de metadatos por PolicyID | GET | https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies/{policyId}?&api-version=2021-07-01 | Lee la directiva de metadatos mediante un identificador de directiva especificado. El identificador de directiva está en formato GUID. |
Leer todas las directivas de metadatos | GET | https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies?&api-version=2021-07-01 | Lee todas las directivas de metadatos de la cuenta de Microsoft Purview. Puede elegir una directiva determinada con la que trabajar en la lista de resultados JSON generada por esta API. |
Directiva de metadatos Update/PUT | PUT | https://{pv-acc-name}.purview.azure.com /policystore/metadataPolicies/{policyId}?&api-version=2021-07-01 | Novedades la directiva de metadatos mediante un identificador de directiva especificado. El identificador de directiva está en formato GUID. |
Resumen de referencia de la API de colecciones de catálogos de Microsoft Purview
En la tabla siguiente se proporciona información general sobre las API de colecciones de Microsoft Purview. Para obtener documentación completa sobre cada API, seleccione la operación de API en la columna de la izquierda.
Operación | Descripción |
---|---|
Creación o actualización de una colección | Crea o actualiza una entidad de colección. |
Eliminar colección | Elimina una entidad de colección. |
Obtener colección | Obtiene una colección. |
Obtención de la ruta de acceso de la colección | Obtiene el nombre primario y las cadenas de nombres para mostrar que representan la ruta de acceso de la colección. |
Enumeración de nombres de colecciones secundarias | Enumera los nombres de las colecciones secundarias de la colección. |
Enumeración de colecciones | Enumera las colecciones de la cuenta. |
Si usa la API, la entidad de servicio, el usuario o el grupo que ejecuta la API debe tener asignado un rol collection Administración en Microsoft Purview para ejecutar esta API correctamente.
Para todas las API de Microsoft Purview que requieren {collectionName}, deberá usar "name" (y no "friendlyName"). Reemplace {collectionName} por la cadena de nombre de colección alfanumérica real de seis caracteres.
Nota:
Este nombre es diferente del nombre para mostrar descriptivo que proporcionó al crear la colección. Si no tiene {collectionName} a mano, use list collections API para seleccionar el nombre de la colección de seis caracteres de la salida JSON.
Este es un archivo JSON de ejemplo:
{
"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"
}
Descripción json de directiva
Estos son algunos de los identificadores importantes de la salida JSON que se reciben de las API de colección:
Nombre: nombre de la directiva.
Id: identificador único de la directiva.
Versión: el número de versión más reciente de la directiva.
Importante
El número de versión se incrementa cada vez que se llama a la API Update-Metadata-Policy. Asegúrese de capturar la copia más reciente de la directiva invocando la API Get-Policy-by-Policy-ID. Realice esta actualización cada vez antes de llamar a la API update policy (PUT), de modo que siempre tenga la versión más reciente del archivo JSON.
DecisionRules: enumera las reglas y el efecto de esta directiva. Para las directivas de metadatos, el efecto siempre es "Permitir".
Agregar o quitar usuarios de una colección o rol
Use las API REST de Microsoft Purview para agregar o quitar un usuario, grupo o entidad de servicio de una colección o rol. Se proporciona un uso detallado de la API junto con salidas JSON de ejemplo. Se recomienda encarecidamente seguir las instrucciones de las secciones siguientes secuencialmente para comprender mejor las API de directiva de metadatos de Microsoft Purview.
Obtener todos los roles de metadatos
Para enumerar todos los roles de permiso de acceso a metadatos disponibles, ejecute uno de los siguientes comandos, en función del portal que use:
Portal de gobernanza de Microsoft Purview clásico:
GET https://{your_purview_account_name}.purview.azure.com/policystore/metadataroles?api-version=2021-07-01
Nuevo portal de Microsoft Purview:
GET https://api.purview-service.microsoft.com/policystore/metadataroles?api-version=2021-07-01
El JSON de salida describirá los roles y sus permisos asociados en este formato.
Los roles de metadatos predeterminados se enumeran en la tabla siguiente:
Id. de rol | Permisos | Descripción de tabla |
---|---|---|
purviewmetadatarole_builtin_data-source-administrator | Microsoft.Purview/accounts/scan/read Microsoft.Purview/accounts/scan/write Microsoft.Purview/accounts/collection/read | Concede acceso a otros usuarios para leer, escribir recopilación, registrar orígenes de datos y desencadenar exámenes. |
administrador de purviewmetadatarole_builtin_collection | Microsoft.Purview/accounts/collection/read Microsoft.Purview/accounts/collection/write | Acceso completo de nivel de administrador a toda la colección, incluido agregar o quitar usuarios y nombres de entidad de seguridad de servicio (SPN) de la colección, derechos de administración y concesión o revocación de acceso. En algunos casos, el administrador de la colección podría ser diferente del creador de la colección. |
lector de purviewmetadatarole_builtin_purview | Microsoft.Purview/accounts/data/read Microsoft.Purview/accounts/collection/read | Solo concede acceso de lectura al control de datos y a todos los metadatos, incluidas las clasificaciones, las etiquetas de confidencialidad, la información y los recursos de lectura de una colección, excepto los enlaces de examen. |
purviewmetadatarole_builtin_data-conservador | Microsoft.Purview/accounts/data/read Microsoft.Purview/accounts/data/write Microsoft.Purview/accounts/collection/read | Concede acceso total al control de datos y a todos los metadatos, incluidas las clasificaciones, las etiquetas de confidencialidad, la información y los recursos de lectura de una colección, excepto los enlaces de examen. |
purviewmetadatarole_builtin_data-share-contributor | Microsoft.Purview/accounts/share/read Microsoft.Purview/accounts/share/write | Concede acceso a los recursos compartidos de datos como colaborador. |
{
"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
}
}
]
}
Obtener todas las directivas de metadatos
Portal de gobernanza de Microsoft Purview clásico:
GET https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies?api-version=2021-07-01
Nuevo portal de Microsoft Purview:
GET https://api.purview-service.microsoft.com/policystore/metadataPolicies?api-version=2021-07-01
El comando anterior enumera todas las directivas de metadatos disponibles en toda la jerarquía de colecciones en formato de árbol, desde la colección raíz en la parte superior hasta todas sus directivas secundarias. Cada colección secundaria contiene cada uno de sus elementos secundarios de siguiente nivel.
Ejemplo:
{
"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"
}
}
]
}
Obtener la directiva de metadatos seleccionada
Puede usar cualquiera de las dos API para capturar la estructura JSON de la directiva de metadatos de una colección determinada proporcionando {collectionName} o {PolicyID}.
Como se describe en las dos secciones siguientes, ambas API tienen el mismo propósito y las salidas JSON de ambas son exactamente las mismas.
Obtener la directiva de metadatos de la colección mediante el nombre de la colección
Portal de gobernanza de Microsoft Purview clásico:
GET https://{your_purview_account_name}.purview.azure.com/policystore/collections/{collectionName}/metadataPolicy?api-version=2021-07-01
Nuevo portal de Microsoft Purview:
GET https://api.purview-service.microsoft.com/policystore/collections/{collectionName}/metadataPolicy?api-version=2021-07-01
El nombre de la cuenta de Microsoft Purview es {your_purview_account_name}. Reemplácela por el nombre de la cuenta de Microsoft Purview.
En la salida JSON de la API anterior, "Obtener todas las directivas de metadatos", busque la sección siguiente:
{ "type": "CollectionReference", "referenceName": "7xkdg2"}
Reemplace "{collectionName}" en la dirección URL de la API por el valor de "referenceName": "{6-char-collection-name}". Por ejemplo, si el nombre de la colección de seis caracteres es "7xkdg2", la dirección URL de la API tendrá el formato siguiente:
https://{your_purview_account_name}.purview.azure.com/policystore/collections/7xkdg2/metadataPolicy?api-version=2021-07-01
Ejecute la siguiente 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" } }
Obtener la directiva de metadatos de la colección mediante el identificador de directiva
Portal de gobernanza de Microsoft Purview clásico:
GET https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/{policyId}?api-version=2021-07-01
Nuevo portal de Microsoft Purview:
GET https://api.purview-service.microsoft.com/policystore/metadataPolicies/{policyId}?api-version=2021-07-01
El nombre de la cuenta de Microsoft Purview es {your_purview_account_name}. Reemplácela por el nombre de la cuenta de Microsoft Purview.
En la salida JSON de la API anterior, "Obtener todas las directivas de metadatos", busque la sección siguiente:
{.... "name": "policy_qu45fs", "id": "{policy-guid}", "version": N ....}
Reemplace "{policyId}" en la dirección URL de la API por el valor de "id". Por ejemplo, si "{policy-guid}" es "c6639bb2-9c41-4be0-912b-775750e725de", la dirección URL de la API tendrá el formato siguiente:
https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/c6639bb2-9c41-4be0-912b-775750e725de?api-version=2021-07-01
Ahora ejecute la siguiente API:
Nota:
La salida de esta llamada API y la llamada API anterior son las mismas. Como se mencionó anteriormente, puede elegir una.
{
"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"
}
}
Actualización de la directiva de recopilación
PUT https://{your_purview_account_name}.purview.azure.com/policystore/metadataPolicies/{policyId}?api-version=2021-07-01
En esta sección, actualizará el JSON de directiva que obtuvo en el paso anterior agregando o quitando un usuario, un grupo o una entidad de servicio de la colección. A continuación, insértelo en el servicio Microsoft Purview mediante un método REST PUT.
Tanto si va a agregar o quitar un usuario, un grupo o una entidad de servicio, seguirá el mismo proceso de API.
Proporcione el identificador de objeto de usuario, grupo o entidad de servicio {guid} en la matriz "attributeValueIncludedIn" del JSON.
Busque en la salida JSON de la API Get-Policy-by-ID la matriz "attributeValueIncludedIn" en el paso anterior y agregue o quite el identificador de objeto de usuario, grupo o entidad de servicio en la matriz. Si no está seguro de cómo capturar el identificador de objeto de usuario, grupo o entidad de servicio, consulte Get-AzureADUser.
Hay varias secciones en la asignación JSON para cada uno de los cuatro roles. Para el rol Permisos de administrador de recopilación, use la sección que contiene el identificador denominado "purviewmetadatarole_builtin_collection-administrator". Del mismo modo, use la sección correspondiente para los demás roles.
Para comprender mejor la operación de agregar o quitar, examine detenidamente la diferencia entre la salida JSON de la API anterior y la siguiente salida. En la siguiente salida JSON, hemos agregado el identificador de usuario "3a3a3a3a-2c2c-4b4b-1c1c-2a3b4c5d6e7f" como administrador de recopilación.
{
"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"
}
}
Agregar el rol administrador de la colección raíz
De forma predeterminada, el usuario que creó la cuenta de Microsoft Purview es el administrador de recopilación raíz (es decir, el administrador del nivel superior de la jerarquía de recopilación). Sin embargo, en algunos casos, es posible que una organización quiera cambiar el administrador de recopilación raíz mediante la API.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/addRootCollectionAdmin?api-version=2021-07-01
Para ejecutar el comando anterior, solo necesita pasar el nuevo identificador de objeto del administrador de la colección raíz. Como se mencionó anteriormente, el identificador de objeto puede ser el de cualquier usuario, grupo o entidad de servicio.
{"objectId": "{guid}"}
Nota:
Los usuarios que llaman a esta API deben tener permisos de propietario o cuenta de usuario y autenticación (UAA) en la cuenta de Microsoft Purview para ejecutar una acción de escritura en la cuenta.
Más recursos
Puede optar por ejecutar las API REST de Microsoft Purview mediante la utilidad de PowerShell. Se puede instalar fácilmente desde Galería de PowerShell. Con esta utilidad, puede ejecutar todos los mismos comandos, pero desde Windows PowerShell.