Configuración de permisos de Azure AD Graph para un registro de aplicaciones
Graph de Azure Active Directory (Azure AD) está en desuso y está en su ruta de retirada. Se recomienda seguir la lista de comprobación de planeamiento de migración de aplicaciones para ayudarle a migrar las aplicaciones a Microsoft Graph.
Es posible que la aplicación siga necesitando temporalmente permisos de Azure AD Graph para acceder a los recursos. Puede seguir uno de los tres métodos descritos en este artículo para configurar los permisos de Azure AD Graph para el registro de aplicaciones:
- Use el Centro de administración de Microsoft Entra para buscar las API que usa su organización.
- Actualización del manifiesto de aplicación en el Centro de administración de Microsoft Entra
- Uso de la API de aplicaciones de Microsoft Graph
Precaución
Cualquier aplicación que use Azure AD Graph dejará de funcionar después de retirar la API. Para obtener más información, consulte Migración de aplicaciones de Azure AD Graph a Microsoft Graph.
Requisitos previos
Los pasos de este artículo requieren dos conjuntos de privilegios:
- Privilegios para agregar permisos a un registro de aplicación
- Privilegios para conceder esos permisos al registro de la aplicación
Un usuario con al menos el rol Administrador de roles con privilegios puede hacer ambas cosas, mientras que un usuario con el rol Administrador de aplicaciones o Administrador de aplicaciones en la nube solo puede agregar los permisos. Para ayudarle a aplicar la separación de tareas y el acceso con privilegios mínimos, separe las tareas de agregar permisos y conceder permisos a distintos usuarios. Para obtener más información sobre las acciones admitidas por estos roles, consulte Roles integrados de Microsoft Entra.
Además, necesita los siguientes recursos y privilegios:
- Inicie sesión en un cliente de API, como Graph Explorer , para ejecutar las solicitudes HTTP.
- Se debe conceder el permiso a la
Application.ReadWrite.All
aplicación que se usa para realizar estos cambios.
Uso de la API de aplicaciones de Microsoft Graph
El objeto de aplicación de Microsoft Graph incluye una propiedad requiredResourceAccess que es una colección de objetos con información sobre la API de recursos y los permisos. Use esta propiedad para configurar los permisos de Azure AD Graph como se describe en los pasos siguientes.
Paso 1: Identificación de los identificadores de permiso para los permisos de Graph de Azure AD que requiere la aplicación
Identifique los permisos de Azure AD Graph que requiere la aplicación, sus identificadores de permiso y si son roles de aplicación (permisos de aplicación) o oauth2PermissionScopes (permisos delegados). Para obtener más información, consulte Referencia de permisos de Graph de Azure AD.
Azure AD Graph se identifica como un objeto servicePrincipal con 00000002-0000-0000-c000-000000000000
como su appId único global y Windows Azure Active Directory
como su displayName y appDisplayName. Ejecute la siguiente solicitud para recuperar el objeto de entidad de servicio para Azure AD Graph en el inquilino.
Solicitud
GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=appId eq '00000002-0000-0000-c000-000000000000'
Respuesta
En el objeto de respuesta, los detalles de los permisos de aplicación de Azure AD Graph se enumeran en el objeto appRoles , mientras que los detalles de los permisos delegados se enumeran en el objeto oauth2PermissionScopes .
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#servicePrincipals",
"value": [
{
"id": "1804a6f8-e623-4520-8f40-ba1b0c11c42d",
"accountEnabled": true,
"appDisplayName": "Windows Azure Active Directory",
"appDescription": null,
"appId": "00000002-0000-0000-c000-000000000000",
"appOwnerOrganizationId": "f8cdef31-a31e-4b4a-93e4-5f571e91255a",
"appRoleAssignmentRequired": false,
"displayName": "Windows Azure Active Directory",
"servicePrincipalNames": [
"https://graph.windows.net",
"00000002-0000-0000-c000-000000000000/graph.microsoftazure.us",
"00000002-0000-0000-c000-000000000000/graph.windows.net",
"00000002-0000-0000-c000-000000000000/directory.windows.net",
"00000002-0000-0000-c000-000000000000",
"https://graph.windows.net/",
"https://graph.microsoftazure.us"
],
"servicePrincipalType": "Application",
"signInAudience": "AzureADMultipleOrgs",
"appRoles": [
{
"allowedMemberTypes": [
"Application"
],
"description": "Allows the app to read applications and service principals without a signed-in user",
"displayName": "Read all applications",
"id": "3afa6a7d-9b1a-42eb-948e-1650a849e176",
"isEnabled": true,
"origin": "Application",
"value": "Application.Read.All"
}
],
"oauth2PermissionScopes": [
{
"adminConsentDescription": "Allows users to sign in to the app, and allows the app to read the profile of signed-in users. It also allow the app to read basic company information of signed-in users.",
"adminConsentDisplayName": "Sign in and read user profile",
"id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
"isEnabled": true,
"type": "User",
"userConsentDescription": "Allows you to sign in to the app with your work account and let the app read your profile. It also allows the app to read basic company information.",
"userConsentDisplayName": "Sign you in and read your profile",
"value": "User.Read"
}
]
}
]
}
En la salida truncada anterior, 311a71cc-e848-46a1-bdf8-97ff7156d8e6
es el identificador de permiso para el permiso delegado User.Read mientras que 3afa6a7d-9b1a-42eb-948e-1650a849e176
es el identificador de permiso para el permiso de aplicación Application.Read.All en Azure AD Graph.
Paso 2: Incorporación de permisos de Azure AD Graph a la aplicación
En el ejemplo siguiente se llama a update application API para agregar los permisos de aplicación y delegados User.Read y Application.Read.All de Azure AD Graph a un registro de aplicación identificado por el identificador de 581088ba-83c5-4975-b8af-11d2d7a76e98
objeto .
Importante
Para actualizar la propiedad requiredResourceAccess , debe pasar los permisos existentes y nuevos. Pasar solo permisos nuevos sobrescribe y quita los permisos existentes.
Solicitud
PATCH https://graph.microsoft.com/v1.0/applications/581088ba-83c5-4975-b8af-11d2d7a76e98
Content-Type: application/json
{
"requiredResourceAccess": [
{
"resourceAppId": "00000002-0000-0000-c000-000000000000",
"resourceAccess": [
{
"id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
"type": "Scope"
},
{
"id": "3afa6a7d-9b1a-42eb-948e-1650a849e176",
"type": "Role"
}
]
}
]
}
Respuesta
HTTP/1.1 204 No Content
Paso 3: Comprobar que se agregaron permisos de Azure AD Graph a la aplicación
Compruebe que el registro de la aplicación tiene los permisos de Graph API de Azure AD que agregó en el paso 2:
Llamar al punto de conexión GET /application/{id} de Microsoft Graph y leer la propiedad requiredResourceAccess como se indica a continuación:
GET https://graph.microsoft.com/v1.0/applications/581088ba-83c5-4975-b8af-11d2d7a76e98?$select=id,requiredResourceAccess
Compruebe la página Registros de aplicaciones en el Centro de administración de Microsoft Entra.
Paso 4: Concesión del consentimiento del administrador
Aunque ha agregado permisos de Azure AD Graph, no ha concedido estos permisos a la aplicación. Muchos permisos requieren el consentimiento del administrador antes de que se puedan usar para acceder a los datos de la organización. Inicie sesión en el Centro de administración de Microsoft Entra como administrador de roles con privilegios y conceda el consentimiento del administrador para los permisos para el registro de la aplicación.
Concesión de permisos de API sin usar la solicitud de consentimiento
Al usar Microsoft Graph y cualquier SDK relacionado, puede conceder permisos a un registro de aplicación sin necesidad de usar el Centro de administración de Microsoft Entra y seleccionar el botón Conceder consentimiento de administrador para [Empresa] en la página Permisos de API. Para obtener más información, consulte Concesión o revocación de permisos de API mediante programación.
Use el Centro de administración de Microsoft Entra para buscar las API que usa su organización.
Inicie sesión en el Centro de administración Microsoft Entra.
ExpandaAplicaciones de>identidad> y seleccione Registros de aplicaciones.
En la ventana Registros de aplicaciones, en la pestaña Todas las aplicaciones , seleccione la aplicación a la que desea agregar permisos de Azure AD Graph.
En el panel izquierdo de la ventana, en el grupo de menús Administrar , seleccione Permisos de API. En la ventana Permisos configurados , seleccione Agregar un permiso.
En la ventana Solicitar permisos de API, cambie a las API que mi organización usa en la pestaña y busque
Windows Azure Active Directory
o .00000002-0000-0000-c000-000000000000
Seleccione en el conjunto de resultados filtrado para mostrar la ventana permisos de Azure Active Directory Graph .Seleccione la pestaña Permisos delegados o Permisos de aplicación para elegir entre la lista de permisos delegados y de aplicación, respectivamente. Seleccione Agregar permisos para agregar el permiso al registro de la aplicación.
Después de agregar los permisos que necesita, en la ventana Permisos configurados , seleccione Conceder consentimiento del administrador para conceder permisos de Azure AD Graph al registro de la aplicación.
Actualización del manifiesto de aplicación en el Centro de administración de Microsoft Entra
Inicie sesión en el Centro de administración Microsoft Entra.
Expanda el menú >IdentidadAplicaciones> seleccione Registros de aplicaciones.
En la ventana Registros de aplicaciones, en la pestaña Todas las aplicaciones , seleccione la aplicación a la que desea agregar permisos de Azure AD Graph.
En el panel izquierdo de la ventana, en el grupo de menús Administrar , seleccione Manifiesto para abrir un editor que le permita editar directamente los atributos del objeto de registro de la aplicación.
Edite cuidadosamente la propiedad requiredResourceAccess en el manifiesto de la aplicación para agregar los detalles siguientes:
Sugerencia
R. Puede editar el manifiesto de la aplicación en el Centro de administración de Microsoft Entra o seleccionar Descargar para editar el manifiesto localmente y, a continuación, usar Cargar para volver a aplicarlo a la aplicación.
B. Para obtener más información sobre cómo configurar la propiedad requiredResourceAccess , consulte requiredResourceAccess resource type (Tipo de recurso requiredResourceAccess).
C. Consulte la referencia de permisos de Azure AD Graph para obtener más información sobre los nombres de permisos, identificadores y tipos de Azure AD Graph.
5.1. Si a la aplicación no se le asignan permisos de Azure AD Graph, agregue la propiedad resourceAppId y asigne el valor
00000002-0000-0000-c000-000000000000
que representa Azure AD Graph.5.2. Agregue la propiedad resourceAccess y configure los permisos.
En el siguiente fragmento de código JSON se muestra una propiedad requiredResourceAccess con Azure AD Graph como recurso y se han asignado User.Read y Application.Read.All oauth2PermissionScope (permiso delegado) y appRole (permiso de aplicación), respectivamente.
"requiredResourceAccess": [ { "resourceAppId": "00000002-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6", "type": "Scope" }, { "id": "3afa6a7d-9b1a-42eb-948e-1650a849e176", "type": "Role" } ] } ],
Guarde los cambios.
En el grupo de menús Administrar , seleccione Permisos de API y, en Permisos configurados para el registro de la aplicación, seleccione Conceder consentimiento de administrador para conceder permisos de Azure AD Graph al registro de la aplicación.