Protección de un dispositivo restringido de entrada mediante Microsoft Entra ID y la API REST de Azure Maps

En esta guía se describe cómo proteger aplicaciones o dispositivos públicos que no pueden almacenar secretos de forma segura ni aceptar entradas del explorador. Estos tipos de aplicaciones se encuentran en la categoría de Internet de las cosas (loT). Algunos ejemplos son las televisiones inteligentes y las aplicaciones que emiten datos de sensores.

Para ver los detalles de autenticación de la cuenta de Azure Maps en Azure Portal:

  1. Inicie sesión en Azure Portal.

  2. Vaya al menú de Azure Portal. Seleccione Todos los recursos y, a continuación, seleccione la cuenta de Azure Maps.

  3. En Configuración en el panel izquierdo, seleccione Autenticación.

    Screenshot showing your Azure Maps authentication options in the Azure portal.

Se crean tres valores cuando se crea la cuenta de Azure Maps. Se usan para admitir dos tipos de autenticación en Azure Maps:

  • Autenticación de Microsoft Entra: Client ID representa la cuenta que se va a usar para las solicitudes de API REST. El valor de Client ID debe almacenarse en la configuración de la aplicación y recuperarse antes de realizar solicitudes HTTP de Azure Maps que usan la autenticación de Microsoft Entra.
  • Autenticación de clave compartida: Primary Key y Secondary Key se usan como clave de suscripción para la autenticación de clave compartida. La autenticación de clave compartida se basa en pasar la clave generada por la cuenta de Azure Maps con cada solicitud a Azure Maps. Se recomienda volver a generar periódicamente las claves. Para mantener las conexiones actuales durante la regeneración, se proporcionan dos claves. Se puede usar una clave mientras se regenera la otra. Cuando regenere las claves, debe actualizar todas las aplicaciones que acceden a esta cuenta para usar las nuevas claves. Para obtener más información, consulte Autenticación con Azure Maps.

Creación de un registro de aplicación en Microsoft Entra ID

Nota:

Cree la aplicación basada en dispositivos en Microsoft Entra ID para habilitar el inicio de sesión de Microsoft Entra, al que se le concede acceso a las API REST de Azure Maps.

  1. En Azure Portal, en la lista de servicios de Azure, seleccione Microsoft Entra ID>Registros de aplicaciones>Nuevo registro.

    A screenshot showing application registration in Microsoft Entra ID.

  2. Escriba un Nombre y elija Solo las cuentas de este directorio organizativo. como Tipo de cuenta admitido. En URI de redirección, especifique Cliente público/Nativo (móvil y escritorio) y, a continuación, agregue https://login.microsoftonline.com/common/oauth2/nativeclient al valor. Para obtener más información, consulte Aplicación de escritorio que llama a las API web: registro de aplicación de Microsoft Entra ID. A continuación, debe Registrar la aplicación.

    A screenshot showing the settings used to register an application.

  3. Vaya a Autenticación y habilite Tratar la aplicación como cliente público para habilitar la autenticación de código de dispositivo con Microsoft Entra ID.

    A screenshot showing the advanced settings used to specify treating the application as a public client.

  4. Para asignar permisos de API delegados a Azure Maps, vaya a la aplicación. A continuación, seleccione Permisos de API>Agregar un permiso. En API usadas en mi organización, busque y seleccione Azure Maps.

    A screenshot showing where you request API permissions.

  5. Active la casilla situada junto a Access Azure Maps (Acceder a Azure Maps) y seleccione Agregar permisos.

    A screenshot showing where you specify the app permissions you require.

  6. Configure el control de acceso basado en roles de Azure (Azure RBAC) para usuarios o grupos. Para obtener más información, consulte Concesión de acceso basado en roles a Azure Maps.

  7. Agregue el código del flujo de adquisición de tokens a la aplicación. Para obtener información detallada sobre la implementación, consulte Flujo de código de dispositivo. Al adquirir los tokens, haga referencia al ámbito: user_impersonation, que se seleccionó en los pasos anteriores.

    Sugerencia

    Use la Biblioteca de autenticación de Microsoft (MSAL) para adquirir los tokens de acceso. Para obtener más información, consulte Aplicación de escritorio que llama a las API web: configuración de código en la documentación de Active Directory.

  8. Cree la solicitud HTTP con el token adquirido desde Microsoft Entra ID y envíe la solicitud con un cliente HTTP válido.

Solicitud de ejemplo

El siguiente es un ejemplo de cuerpo de la solicitud para cargar una geovalla sencilla que se representa como una geometría circular mediante un punto central y un radio.

POST /mapData?api-version=2.0&dataFormat=geojson
Host: us.atlas.microsoft.com
x-ms-client-id: 30d7cc….9f55
Authorization: Bearer eyJ0e….HNIVN

El cuerpo de la solicitud de ejemplo siguiente está en formato GeoJSON:

{
    "type": "FeatureCollection",
    "features": [{
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [-122.126986, 47.639754]
        },
        "properties": {
            "geometryId": "001",
            "radius": 500
        }
    }]
}

Ejemplo de encabezado de respuesta

Operation-Location: https://us.atlas.microsoft.com/mapData/operations/{udid}?api-version=2.0
Access-Control-Expose-Headers: Operation-Location

Concesión de acceso basado en roles para usuarios de Azure Maps

Para conceder el control de acceso basado en rol de Azure (Azure RBAC ), se asignan un grupo o una entidad de seguridad de Microsoft Entra a una o varias definiciones de roles de Azure Maps.

Para ver las definiciones de roles de Azure disponibles para Azure Maps, consulte Visualización de definiciones de roles integrados de Azure Maps.

Para obtener pasos detallados sobre cómo asignar un rol de Azure Maps disponible a la identidad administrada o a la entidad de servicio creadas, consulte Asignación de roles de Azure mediante Azure Portal.

Para administrar de forma eficaz la aplicación de Azure Maps y el acceso a los recursos por parte de una gran cantidad de usuarios, consulte Grupos de Microsoft Entra.

Importante

Para que los usuarios puedan autenticarse en la aplicación, primero deben crearse en Microsoft Entra ID. Para más información, consulte Incorporación o eliminación de usuarios mediante Microsoft Entra ID.

Para obtener información sobre cómo administrar eficazmente un directorio grande para los usuarios, consulte Microsoft Entra ID.

Advertencia

Las definiciones de roles de Azure Maps integradas proporcionan un acceso de autorización muy amplio a muchas API REST de Azure Maps. Para restringir al mínimo el acceso a las API, consulte cómo crear una definición de roles personalizada y asignar la identidad asignada por el sistema a la definición de roles personalizada. Esto proporciona el privilegio mínimo necesario para que la aplicación acceda a Azure Maps.

Pasos siguientes

Descubra las métricas de uso de API de la cuenta de Azure Maps: