Partilhar via


Configurar permissões do Azure AD Graph para um registo de aplicações

O Grafo do Azure Active Directory (Azure AD) foi preterido e está no seu caminho de descontinuação. Para migrar as suas aplicações para o Microsoft Graph, siga a lista de verificação Planeamento de migração de aplicações.

A sua aplicação ainda poderá necessitar temporariamente de permissões Azure AD Graph para aceder aos recursos. Para configurar Azure AD permissões do Graph para o registo de aplicações, siga um dos três métodos descritos neste artigo:

  1. Utilize o centro de administração do Microsoft Entra para localizar as APIs que a sua organização utiliza
  2. Atualizar o manifesto da aplicação no centro de administração do Microsoft Entra
  3. Utilizar a API de aplicações do Microsoft Graph

Cuidado

Qualquer aplicação que utilize Azure AD Graph deixa de funcionar depois de a API ser descontinuada. Para obter mais informações, veja Migrar aplicações do Azure AD Graph para o Microsoft Graph.

Pré-requisitos

Os passos neste artigo requerem dois conjuntos de privilégios:

  • Privilégios para adicionar permissões a um registo de aplicações
  • Privilégios para conceder essas permissões ao registo de aplicações

Um utilizador com, pelo menos, a função Administrador de Funções Privilegiadas pode fazer as duas coisas, enquanto um utilizador com a função Administrador de Aplicações ou Administrador de Aplicações na Cloud só pode adicionar as permissões. Para o ajudar a impor a separação de deveres e o menor acesso ao privilégio, separe as tarefas de adicionar permissões e conceder permissões a diferentes utilizadores. Para obter mais informações sobre as ações suportadas por estas funções, veja Microsoft Entra funções incorporadas.

Além disso, precisa dos seguintes recursos e privilégios:

  • Inicie sessão num cliente de API, como o Graph Explorer para executar os pedidos HTTP.
  • A aplicação utilizada para efetuar estas alterações tem de ter a Application.ReadWrite.All permissão concedida.

Utilizar a API de aplicações do Microsoft Graph

O objeto de aplicação do Microsoft Graph inclui uma propriedade requiredResourceAccess que é uma coleção de objetos com informações sobre a API de recursos e permissões. Utilize esta propriedade para configurar permissões do Azure AD Graph, conforme descrito nos passos seguintes.

Passo 1: identificar os IDs de permissão das permissões do Azure AD Graph necessárias para a sua aplicação

Identifique as permissões do Azure AD Graph necessárias para a sua aplicação, os respetivos IDs de permissão e se são funções de aplicação (permissões de aplicação) ou oauth2PermissionScopes (permissões delegadas). Para obter mais informações, veja Azure AD referência de permissões do Graph.

Azure AD Graph é identificado como um objeto servicePrincipal com 00000002-0000-0000-c000-000000000000 o seu appId globalmente exclusivo e Windows Azure Active Directory como displayName e appDisplayName. Execute o seguinte pedido para obter o objeto do principal de serviço para Azure AD Graph no seu inquilino.

Solicitação

GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=appId eq '00000002-0000-0000-c000-000000000000'

Resposta

No objeto de resposta, o objeto appRoles lista os detalhes das permissões da aplicação do Graph Azure AD e o objeto oauth2PermissionScopes lista os detalhes das permissões delegadas.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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

Na saída truncada anterior, 311a71cc-e848-46a1-bdf8-97ff7156d8e6 encontra-se o ID de permissão para a permissão delegada User.Read e 3afa6a7d-9b1a-42eb-948e-1650a849e176 é o ID de permissão da permissão Application.Read.All no Azure AD Graph.

Passo 2: Adicionar permissões do Azure AD Graph à sua aplicação

O exemplo seguinte chama a API atualizar aplicação para adicionar o Azure AD Graph User.Read e Application.Read.All delegated and application permissions to an app registration identified by object ID 581088ba-83c5-4975-b8af-11d2d7a76e98.

Importante

Para atualizar a propriedade requiredResourceAccess , tem de transmitir as permissões existentes e novas. Transmitir apenas novas permissões substitui e remove as permissões existentes.

Solicitação

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

Resposta

HTTP/1.1 204 No Content

Passo 3: verificar se adicionou as permissões do Azure AD Graph à sua aplicação

Verifique se o registo da aplicação tem as permissões Azure AD API do Graph que adicionou no Passo 2 ao:

  1. Chamar o ponto final GET /application/{id} do Microsoft Graph e ler a propriedade requiredResourceAccess da seguinte forma:

    GET https://graph.microsoft.com/v1.0/applications/581088ba-83c5-4975-b8af-11d2d7a76e98?$select=id,requiredResourceAccess
    
  2. A verificar a página Registros de aplicativo no centro de administração do Microsoft Entra.

Apesar de ter adicionado Azure AD permissões do Graph, não concedeu estas permissões à aplicação. Muitas permissões requerem o consentimento do administrador antes de poderem ser utilizadas para aceder a dados organizacionais. Inicie sessão no centro de administração do Microsoft Entra como administrador de função com privilégios e conceda o consentimento do administrador para as permissões para o registo da aplicação.

Ao utilizar o Microsoft Graph e quaisquer SDKs relacionados, pode conceder permissões para um registo de aplicações sem a necessidade de utilizar o centro de administração do Microsoft Entra e selecionar o botão Conceder consentimento de administrador para [Empresa] na página de permissões da API. Para obter mais informações, veja Conceder ou revogar permissões de API programaticamente.

Utilize o centro de administração do Microsoft Entra para localizar as APIs que a sua organização utiliza

  1. Entre no Centro de administração do Microsoft Entra.

  2. ExpandaAplicações> de Identidade> selecione Registros de aplicativo.

  3. Na janela Registros de aplicativo, no separador Todas as aplicações, selecione a aplicação à qual pretende adicionar Azure AD permissões do Graph.

  4. No painel esquerdo da janela, no grupo de menus Gerir , selecione Permissões de API. Na janela Permissões configuradas , selecione Adicionar uma permissão.

  5. Na janela Pedir permissões da API , mude para as APIs que a minha organização utiliza e procure Windows Azure Active Directory ou 00000002-0000-0000-c000-000000000000. Selecione a partir do conjunto de resultados filtrado para revelar a janela permissões do Azure Active Directory Graph .

    Azure AD API do Graph tem o nome Windows Azure Active Directory e tem clientID 00000002-0000-0000-c000-0000000000000.

  6. Selecione o separador Permissões delegadas ou Permissões da aplicação para escolher a partir da lista de permissões delegadas e de aplicação, respetivamente. Selecione Adicionar permissões para adicionar a permissão ao registo de aplicações.

  7. Depois de adicionar as permissões necessárias, na janela Permissões configuradas, selecione Conceder consentimento do administrador para conceder ao Azure AD permissões do Graph ao registo de aplicações.

Atualizar o manifesto da aplicação no centro de administração do Microsoft Entra

  1. Entre no Centro de administração do Microsoft Entra.

  2. Expanda o menu Identidade, selecione Aplicações e, em seguida, selecione Registros de aplicativo.

  3. Na janela Registros de aplicativo, no separador Todas as aplicações, selecione a aplicação à qual pretende adicionar Azure AD permissões do Graph.

  4. No painel esquerdo da janela, no grupo de menus Gerir , selecione Manifesto para abrir um editor que lhe permite editar diretamente os atributos do objeto de registo de aplicações.

    Um ficheiro de Manifesto de registo de aplicações permite-lhe editar os atributos da sua aplicação.

  5. Edite cuidadosamente a propriedade requiredResourceAccess no manifesto da aplicação para adicionar os seguintes detalhes:

    Dica

    1. Se não forem atribuídas permissões Azure AD Graph à aplicação, adicione a propriedade resourceAppId e atribua o valor 00000002-0000-0000-c000-000000000000 que representa Azure AD Graph.

    2. Adicione a propriedade resourceAccess e configure as permissões.

    O fragmento JSON seguinte mostra uma propriedade requiredResourceAccess com Azure AD Graph como recurso e atribuiu as propriedades User.Read e Application.Read.All oauth2PermissionScope (permissão delegada) e appRole (permissão de aplicação), respetivamente.

    "requiredResourceAccess": [
        {
            "resourceAppId": "00000002-0000-0000-c000-000000000000",
            "resourceAccess": [
                {
                    "id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
                    "type": "Scope"
                },
                {
                    "id": "3afa6a7d-9b1a-42eb-948e-1650a849e176",
                    "type": "Role"
                }
            ]
        }
    ],
    
  6. Salve suas alterações.

  7. Novamente no grupo de menus Gerir, selecione Permissões de API e, em Permissões configuradas para o registo de aplicações, selecione Conceder consentimento do administrador para conceder ao Azure AD permissões do Graph para o registo de aplicações.