Habilitación de API y servicios medidos en Microsoft Graph

Algunas API y servicios de Microsoft Graph están medidos y requieren el pago para su uso. Para obtener una lista actual de las API que requieren pago, consulte API y servicios medidos en Microsoft Graph.

Para consumir api y servicios medidos en Microsoft Graph, el registro de aplicaciones para la aplicación Microsoft Entra que consume las API debe estar asociado a una suscripción de Azure. Esta suscripción se facturará por los cargos medidos. Esta asociación también le permite usar Azure Cost Management + Billing para comprender y administrar los costos de la aplicación.

En este artículo se describe cómo asociar la aplicación a una suscripción de Azure.

Limitaciones conocidas

Las siguientes limitaciones se aplican a las API de uso medido:

  • Actualmente, las API y servicios medidos de Microsoft Graph solo están disponibles en el entorno global de Microsoft y no en implementaciones en la nube nacionales, incluidas las implementaciones de Microsoft 365 GCC a las que se accede a través del punto de conexión de Microsoft Graph en todo el mundo. Para más información sobre las nubes nacionales, consulte Implementaciones de nubes nacionales.
  • La aplicación de destino debe ser una aplicación cliente confidencial (por ejemplo, aplicación web, API web o demonio/servicio). No se admiten aplicaciones cliente públicas (aplicaciones de escritorio y móviles).

Requisitos previos

Para poder acceder a las API y servicios medidos en Microsoft Graph, debe completar los pasos siguientes:

  • Cree un registro de aplicación en Microsoft Entra ID para la aplicación que realizará llamadas a las API y servicios de Microsoft 365 medidos.
  • Si no tiene una suscripción de Azure, cree una ahora en el inquilino que incluya el registro de la aplicación.
  • Debe tener permisos de colaborador para la suscripción de Azure activa que desea usar, así como permisos de propietario de la aplicación para el registro de la aplicación de destino.

Habilitación de una aplicación

Para permitir que una aplicación use API y servicios medidos en Microsoft Graph, debe estar asociada a una suscripción de Azure. Para crear esta asociación, debe crear un recurso de Azure de tipo Microsoft.GraphServices/accounts. El recurso de Azure conecta un único registro de aplicación Microsoft Entra con la suscripción de Azure donde se factura el uso de las API de uso medido de la aplicación.

Siga estos pasos para crear y vincular un recurso de Azure Microsoft.GraphServices/accounts a la aplicación:

Nota: Para completar los pasos siguientes, inicie sesión en https://portal.azure.comy elija Cloud Shell, o bien mediante la interfaz de línea de comandos de Azure local. Si usa Cloud Shell por primera vez, es posible que tenga que crear una cuenta de almacenamiento. Seleccione una suscripción de Azure, elija Crear y siga las instrucciones para crear una cuenta de almacenamiento. Para usar una interfaz de línea de comandos de Azure local, instale la CLI de Azure.

  1. Si tiene varias suscripciones de Azure, para obtener información sobre cómo establecer la suscripción activa, consulte Uso de varias suscripciones de Azure; De lo contrario, vaya al paso siguiente.

  2. Use az resource create para crear una nueva instancia del tipo de recurso Microsoft.GraphServices/accounts para asociar el registro de la aplicación a la suscripción activa. Copie el siguiente comando en la interfaz de la línea de comandos, reemplace los parámetros enumerados en la tabla por sus propios valores y escriba <Entrar>. Si el comando se ejecuta correctamente, la respuesta incluirá una representación JSON del recurso recién creado.

az resource create --resource-group myRG --name myGraphAppBilling --resource-type Microsoft.GraphServices/accounts --properties  "{\"appId\": \"myAppGUID\"}" --location Global --subscription mySubscriptionGUID
Parámetro Descripción
myRG Nombre de un grupo de recursos de Azure existente al que se va a agregar el recurso recién creado.
myGraphAppBilling Nombre que desea asignar a esta instancia de recurso.
myAppGUID El identificador de aplicación (cliente) de la aplicación que se está habilitando, proporcionado como parámetro de cadena; por ejemplo, 000000000-0000-0000-0000-000000000000000.
mySubscriptionGUID El identificador de la suscripción de Azure que recibirá eventos de facturación, proporcionado como parámetro de cadena; por ejemplo, 000000000-0000-0000-0000-000000000000000.

Un resultado JSON correcto tendrá un aspecto similar al siguiente:

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

Comprobación de la configuración

Siga estos pasos para comprobar que una aplicación está habilitada correctamente para usar API y servicios medidos en Microsoft Graph.

Nota: Para completar los pasos siguientes, inicie sesión en https://portal.azure.comy elija Cloud Shell, o bien mediante la interfaz de línea de comandos de Azure local. Si usa Cloud Shell por primera vez, es posible que tenga que crear una cuenta de almacenamiento. Seleccione una suscripción de Azure, elija Crear y siga las instrucciones para crear una cuenta de almacenamiento. Para usar una interfaz de línea de comandos de Azure local, instale la CLI de Azure.

  1. Si tiene varias suscripciones de Azure, para obtener información sobre cómo establecer la suscripción activa, consulte Uso de varias suscripciones de Azure; De lo contrario, vaya al paso siguiente.

  2. Use az resource list para enumerar los recursos asociados a la suscripción activa de Azure. Copie el siguiente comando en la interfaz de la línea de comandos y escriba <Entrar>. Si el comando se ejecuta correctamente, la respuesta incluirá una representación JSON de los recursos asociados a la suscripción activa de Azure.

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

Un resultado JSON correcto tendrá un aspecto similar al siguiente:

[
  {
    "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. Con los valores devueltos en el paso 2, use az resource show para mostrar los detalles completos del recurso. Copie el siguiente comando en la interfaz de la línea de comandos, reemplace los parámetros enumerados en la tabla por sus propios valores y escriba <Entrar>. Si el comando se ejecuta correctamente, la respuesta incluirá una representación JSON del recurso solicitado.
  az resource show --resource-group myRg --name myGraphAppBilling --resource-type Microsoft.GraphServices/accounts
Parámetro Descripción
myRG Nombre del grupo de recursos de Azure proporcionado en el resultado del paso 2.
myGraphAppBilling Nombre del recurso proporcionado en el resultado del paso 2.

Un resultado JSON correcto tendrá un aspecto similar al siguiente:

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

La propiedad properties incluirá el identificador de aplicación del registro de aplicación asociado.

Consumo de API de uso medido en la aplicación

Después de asociar el registro y la suscripción de la aplicación, la aplicación puede empezar a usar API y servicios medidos en Microsoft Graph. Los costos generados a partir de esas solicitudes se cobrarán a la suscripción de Azure asociada a la aplicación.

Nota: Es posible que la aplicación tenga que solicitar un nuevo token de acceso de OAuth antes de que se permitan las solicitudes a las API de uso medido.

Puede supervisar el costo y el uso de api y servicios medidos en Microsoft Graph a través de Azure Cost Management + Billing. Esto proporciona acceso a los costos de la suscripción, que se pueden dividir en función de la aplicación, el inquilino de llamada o el medidor.

Facturas por uso medido de API y servicios

Una vez que se ejecuta el ciclo de facturación de la suscripción, normalmente el día 5 del mes, el propietario de una suscripción o los usuarios con permisos basados en rol pueden descargar una factura. Para obtener más información, consulte Visualización y descarga de la factura de Azure.

La factura incluirá detalles que le permitirán comprender la cantidad de uso que genera la aplicación, y para las aplicaciones multiinquilino, donde se produce ese uso. Para obtener más información, consulte Descripción de la factura de Azure.