Habilitar APIs e serviços medidos no Microsoft Graph

Algumas APIs e serviços no Microsoft Graph são medidos e exigem pagamento para uso. Para obter uma lista atual de APIs que exigem pagamento, consulte APIs e serviços medidos no Microsoft Graph.

Para consumir APIs e serviços medidos no Microsoft Graph, o registro do aplicativo para o aplicativo Microsoft Entra que consome as APIs deve ser associado a uma assinatura do Azure. Essa assinatura será cobrada por quaisquer encargos medidos. Essa associação também permite que você use o Gerenciamento de Custos do Azure + Cobrança para entender e gerenciar os custos do aplicativo.

Este artigo descreve como associar seu aplicativo a uma assinatura do Azure.

Limitações conhecidas

As seguintes limitações se aplicam às APIs limitadas:

  • ApIs e serviços medidos no Microsoft Graph estão disponíveis atualmente apenas no ambiente global da Microsoft e não em implantações de nuvem nacionais, incluindo implantações do Microsoft 365 GCC acessadas por meio do ponto de extremidade do Microsoft Graph em todo o mundo. Para obter detalhes sobre nuvens nacionais, consulte Implantações de nuvem nacional.
  • O aplicativo de destino deve ser um aplicativo cliente confidencial (por exemplo, aplicativo Web, API Web ou daemon/service). Não há suporte para aplicativos de cliente público (aplicativos móveis e desktop).

Pré-requisitos

Antes de acessar APIs e serviços medidos no Microsoft Graph, você deve concluir as seguintes etapas:

  • Crie um registro de aplicativo no Microsoft Entra ID para o aplicativo que fará chamadas para as APIs e serviços do Microsoft 365 medidos.
  • Se você não tiver uma assinatura do Azure, crie uma agora no locatário que inclua o registro do aplicativo.
  • Você deve ter contribuidor permissões para a assinatura ativa do Azure que deseja usar, bem como permissões do proprietário do aplicativo para o registro de aplicativo de destino.

Habilitar um aplicativo

Para permitir que um aplicativo use APIs e serviços medidos no Microsoft Graph, ele deve ser associado a uma assinatura do Azure. Para criar essa associação, você deve criar um recurso do Azure do tipo Microsoft.GraphServices/accounts. O recurso do Azure conecta um único registro de aplicativo Microsoft Entra com a assinatura do Azure em que o uso de APIs limitadas pelo aplicativo é cobrado.

Use as seguintes etapas para criar e vincular um recurso do Microsoft.GraphServices/accounts do Azure ao seu aplicativo:

Nota: Você pode concluir as etapas a seguir entrando https://portal.azure.com e escolhendo Cloud Shell ou usando sua interface de linha de comando local do Azure. Se você estiver usando Cloud Shell pela primeira vez, talvez seja necessário criar uma conta de armazenamento. Selecione uma assinatura do Azure, escolha Criar e siga as instruções para criar uma conta de armazenamento. Para usar uma interface de linha de comando local do Azure, instale a CLI do Azure.

  1. Se você tiver várias assinaturas do Azure, para obter informações sobre como definir a assinatura ativa, consulte Usar várias assinaturas do Azure; caso contrário, vá para a próxima etapa.

  2. Use az resource create para criar uma nova instância do tipo de recurso Microsoft.GraphServices/accounts para associar seu registro de aplicativo à assinatura ativa. Copie o comando a seguir em sua interface de linha de comando, substitua os parâmetros listados na tabela por seus próprios valores e digite <Enter>. Se o comando for bem-sucedido, a resposta incluirá uma representação JSON do recurso recém-criado.

az resource create --resource-group myRG --name myGraphAppBilling --resource-type Microsoft.GraphServices/accounts --properties  "{\"appId\": \"myAppGUID\"}" --location Global --subscription mySubscriptionGUID
Parâmetro Descrição
myRG O nome de um grupo de recursos existente do Azure para adicionar o recurso recém-criado.
myGraphAppBilling O nome que você deseja dar a essa instância de recurso.
myAppGUID A ID do aplicativo (cliente) do aplicativo que está sendo habilitado, fornecida como um parâmetro de cadeia de caracteres; por exemplo, 0000000-0000-0000-0000-0000000000000000000000.
mySubscriptionGUID A ID da assinatura do Azure que receberá eventos de cobrança, fornecida como um parâmetro de cadeia de caracteres; por exemplo, 0000000-0000-0000-0000-0000000000000000000000.

Um resultado JSON bem-sucedido será semelhante a este:

{
  "extendedLocation": null,
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.GraphServices/accounts/myGraphAppBilling",
  "identity": null,
  "kind": null,
  "location": "Global",
  "managedBy": null,
  "name": "myGraphAppBilling",
  "plan": null,
  "properties": {
    "appId": "00000000-0000-0000-0000-000000000000",
    "billingPlanId": "00000000-0000-0000-0000-000000000000",
    "provisioningState": "Succeeded"
  },
  "resourceGroup": "myRG",
  "sku": null,
  "systemData": {
    "createdAt": "2023-01-31T00:12:20.7893671Z",
    "createdByType": "User",
    "lastModifiedAt": "2023-01-31T00:12:20.7893671Z",
    "lastModifiedByType": "User"
  },
  "tags": null,
  "type": "microsoft.graphservices/accounts"
}

Verificar a configuração

Use as etapas a seguir para verificar se um aplicativo está devidamente habilitado para usar APIs e serviços medidos no Microsoft Graph.

Nota: Você pode concluir as etapas a seguir entrando https://portal.azure.com e escolhendo Cloud Shell ou usando sua interface de linha de comando local do Azure. Se você estiver usando Cloud Shell pela primeira vez, talvez seja necessário criar uma conta de armazenamento. Selecione uma assinatura do Azure, escolha Criar e siga as instruções para criar uma conta de armazenamento. Para usar uma interface de linha de comando local do Azure, instale a CLI do Azure.

  1. Se você tiver várias assinaturas do Azure, para obter informações sobre como definir a assinatura ativa, consulte Usar várias assinaturas do Azure; caso contrário, vá para a próxima etapa.

  2. Use az resource list para listar os recursos associados à assinatura ativa do Azure. Copie o comando a seguir em sua interface de linha de comando e digite <Enter>. Se o comando for bem-sucedido, a resposta incluirá uma representação JSON dos recursos associados à assinatura ativa do Azure.

  az resource list --resource-type Microsoft.GraphServices/accounts

Um resultado JSON bem-sucedido será semelhante a este:

[
  {
    "changedTime": "2023-04-25T18:12:30.586342+00:00",
    "createdTime": "2023-04-25T18:02:30.141407+00:00",
    "extendedLocation": null,
    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.GraphServices/accounts/myGraphAppBilling",
    "identity": null,
    "kind": null,
    "location": "global",
    "managedBy": null,
    "name": "myGraphAppBilling",
    "plan": null,
    "properties": null,
    "provisioningState": "Succeeded",
    "resourceGroup": "myRG",
    "sku": null,
    "tags": null,
    "type": "Microsoft.GraphServices/accounts"
  }
]
  1. Com os valores retornados na etapa 2, use az resource show para mostrar os detalhes completos do recurso. Copie o comando a seguir em sua interface de linha de comando, substitua os parâmetros listados na tabela por seus próprios valores e digite <Enter>. Se o comando for bem-sucedido, a resposta incluirá uma representação JSON do recurso solicitado.
  az resource show --resource-group myRg --name myGraphAppBilling --resource-type Microsoft.GraphServices/accounts
Parâmetro Descrição
myRG O nome do grupo de recursos do Azure fornecido no resultado da etapa 2.
myGraphAppBilling O nome do recurso fornecido no resultado da etapa 2.

Um resultado JSON bem-sucedido será semelhante a este:

{
  "extendedLocation": null,
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.GraphServices/accounts/myGraphAppBilling",
  "identity": null,
  "kind": null,
  "location": "Global",
  "managedBy": null,
  "name": "myGraphAppBilling",
  "plan": null,
  "properties": {
    "appId": "00000000-0000-0000-0000-000000000000",
    "billingPlanId": "00000000-0000-0000-0000-000000000000"
  },
  "resourceGroup": "myRG",
  "sku": null,
  "tags": null,
  "type": "microsoft.graphservices/accounts"
}

A propriedade properties incluirá a ID do aplicativo do registro de aplicativo associado.

Consumir APIs limitadas em seu aplicativo

Depois de associar seu registro de aplicativo e assinatura, seu aplicativo pode começar a usar APIs e serviços medidos no Microsoft Graph. Os custos gerados a partir dessas solicitações serão cobrados para a assinatura do Azure associada ao aplicativo.

Nota: Seu aplicativo pode precisar solicitar um novo token de acesso OAuth antes que as solicitações para APIs limitadas sejam permitidas.

Você pode monitorar o custo e o uso de APIs e serviços medidos no Microsoft Graph por meio do Gerenciamento de Custos do Azure + Cobrança. Isso fornece acesso aos custos dentro da assinatura, que podem ser divididos com base no aplicativo, chamando locatário ou medidor.

Contas para a API e o uso do serviço medidos

Depois que a assinatura ciclo de cobrança for executada, normalmente no 5º dia do mês, um proprietário de assinatura ou usuários com permissões baseadas em função podem baixar uma fatura. Para obter detalhes, confira Exibir e baixar sua fatura do Azure.

A fatura incluirá detalhes que permitem entender a quantidade de uso que seu aplicativo gera e para aplicativos multilocatários, em que esse uso está acontecendo. Para obter detalhes, confira Entender sua fatura do Azure.