Autorización del acceso a las API en el Centro de API

Configure las opciones para autorizar el acceso a las API en el centro de API. Esta configuración:

  • Activa la autenticación y autorización de la API usando claves API, autorización OAuth 2.0 u otro esquema de seguridad HTTP
  • Asociar configuraciones de autenticación con versiones de API en tu inventario
  • Administración del acceso a las versiones de API para usuarios o grupos designados mediante directivas de acceso
  • Permitir que los usuarios autorizados prueben las API en el portal del Centro de API

Prerrequisitos

Opción 1: Configuración de la autenticación de clave de API

Para una API que admita la autenticación de clave de API, complete los pasos siguientes.

1. Almacenar la clave de API en Azure Key Vault

Para almacenar la clave de API como un secreto en el almacén de claves, consulte Establecimiento y recuperación del secreto en Key Vault.

Accede a la bóveda de claves usando la identidad gestionada de tu centro de API.

Habilitación de identidades administradas en el Centro de API

En este escenario, el Centro de API usa una identidad administrada para acceder a los recursos de Azure. En función de sus necesidades, habilite una identidad administrada asignada por el sistema o una o varias identidades administradas asignadas por el usuario.

En los siguientes ejemplos, se muestra cómo habilitar una identidad administrada asignada por el sistema mediante Azure Portal o la CLI de Azure. A un nivel alto, los pasos de configuración son similares para una identidad administrada asignada por el usuario.

  1. En el portal, vaya al Centro de API.
  2. En el menú de la barra lateral, en Seguridad, seleccione Identidades administradas.
  3. Seleccione Asignado por el sistema y establezca el estado en Activado.
  4. Haga clic en Guardar.

Asignación de la identidad administrada al rol de usuario secretos de Key Vault

Para permitir la importación de los recursos, asigne a la identidad administrada del Centro de API el rol Usuario de secretos de Key Vault en el almacén de claves de Azure. Puede usar el portal o la CLI de Azure.

  1. En el portal, vaya al almacén de claves.
  2. En el menú de la barra lateral, seleccione Control de acceso (IAM) .
  3. Seleccione + Agregar asignación de roles.
  4. En la página Agregar asignación de roles, establezca los valores como se indica a continuación:
    1. En la pestaña Rol, seleccione Usuario de secretos de Key Vault.
    2. En la pestaña Miembros, en Asignar acceso a, seleccione Identidad administrada> + Seleccionar miembros.
    3. En la página Seleccionar identidades administradas, seleccione la identidad administrada asignada por el sistema del Centro de API que agregó en la sección anterior. Haga clic en Seleccionar.
    4. Seleccione Revisar y asignar.

2. Agregar configuración de clave de API

Caution

Preste atención adicional al usar un flujo de credenciales de cliente con la consola de prueba del portal para desarrolladores. Vea Consideraciones sobre la seguridad. Al usar claves API y secretos OAuth 2.0, cualquier usuario con acceso al portal de desarrolladores puede usar APIs. Se recomienda el flujo de códigos de autorización OAuth 2.0 con PKCE para evitar la exposición de secretos.

  1. En el portal, vaya al Centro de API.

  2. En Gobernanza, seleccione Authorization+ Add configuration (Autorización>+ Agregar configuración).

  3. Al añadir configuración, establece los siguientes valores: Captura de pantalla de configuración de una clave API en el portal.

    Configuración Descripción
    Título Escriba un nombre para la autorización.
    Descripción Opcionalmente, escriba una descripción para la autorización.
    Esquema de seguridad Seleccione Clave de API.
    Ubicación de la clave de API Seleccione cómo se presenta la clave en las solicitudes de API. Los valores disponibles son Encabezado (encabezado de solicitud) y Consulta (parámetro de consulta).
    Nombre del parámetro de clave de API Escriba el nombre del encabezado HTTP o el parámetro de consulta que contiene la clave de API. Ejemplo: x-api-key
    Referencia de secretos de Key Vault de claves de API Seleccione Seleccionar y seleccione la suscripción, el almacén de claves y el secreto que ha almacenado. Ejemplo: https://<key-vault-name>.vault.azure.net/secrets/<secret-name>
  4. Selecciona Crear.

Después de completar esta configuración, ve a la sección Añadir configuración de autenticación a una versión de API para asociar la configuración de clave API con una versión de API.

Opción 2: Configurar la autorización de OAuth 2.0

Para una API que admita la autorización de OAuth 2.0, complete los pasos siguientes. Puede configurar uno o ambos de los siguientes flujos:

  • Flujo de código de autorización con PKCE (Prueba de clave para el intercambio de código) - Autenticar a los usuarios en el navegador, como en el portal del Centro de API.
  • Flujo de credenciales de cliente : para las aplicaciones que no requieren permisos de un usuario específico.

Importante

No puedes usar claves API ni secretos de OAuth 2.0 si activas el acceso anónimo al portal del cliente. Si configuras el acceso anónimo al portal del cliente, se ignora la configuración y falla la autorización de la consola de pruebas.

Caution

Preste atención adicional al usar un flujo de credenciales de cliente con la consola de prueba del portal para desarrolladores. Vea Consideraciones sobre la seguridad. Al usar claves API y secretos OAuth 2.0, cualquier usuario con acceso al portal de desarrolladores puede usar APIs. Se recomienda el flujo de códigos de autorización OAuth 2.0 con PKCE para evitar la exposición de secretos.

1. Creación de una aplicación de OAuth 2.0

Cree un registro de aplicación en un proveedor de identidades, como el inquilino de Microsoft Entra asociado a su suscripción. Los pasos dependen del proveedor de identidades.

En el ejemplo siguiente se muestra cómo crear un registro de aplicación en microsoft Entra ID.

  1. Inicie sesión en Azure Portal con permisos suficientes en el inquilino.
  2. Vaya a Microsoft Entra ID>+ Nuevo registro.
  3. En la página Registrar una aplicación :
    1. En Nombre, escriba un nombre descriptivo.
    2. En Tipos de cuenta soportados, seleccione una opción adecuada, como Cuentas solo en este directorio organizacional (Inquilino único).
    3. Para el flujo de código de autorización, en el URI de Redirección, selecciona Aplicación de página única (SPA) e introduce el URI de tu portal API Center: https://<service-name>.portal.<location>.azure-api-center.ms. Reemplace <service-name> y <location> por el nombre del centro de API y la ubicación de implementación. Ejemplo: https://myapicenter.portal.eastus.azure-api-center.ms
    4. Seleccione Registrar.
  4. En Administrar, seleccione Certificados y secretos>+ Nuevo secreto de cliente.
    1. Escriba una Descripción.
    2. Seleccione una opción para Fecha de vencimiento.
    3. Selecciona Agregar.
    4. Copie el valor secreto del cliente antes de salir de la página. Lo necesitará en la siguiente sección.
  5. Opcionalmente, agregue ámbitos de API en el registro de la aplicación. Consulte Configuración de una aplicación para exponer una API web.

Al configurar OAuth 2.0 en el centro de API, necesita los siguientes valores del registro de la aplicación:

  • ID de la Aplicación (cliente) de la página Información general y el secreto del Cliente que has copiado.
  • Las siguientes direcciones URL de punto de conexión de Información general>Puntos de conexión:
    • Punto de conexión de autorización de OAuth2.0 (v2)
    • Punto de conexión de token de OAuth 2.0 (v2) (también se utiliza como punto de conexión de actualización de token)
  • Cualquier ámbito de API que haya configurado.

2. Almacenamiento del secreto de cliente en Azure Key Vault

Para almacenar el secreto de cliente en el almacén de claves, consulte Establecimiento y recuperación del secreto en Key Vault.

Accede a la bóveda de claves usando la identidad gestionada de tu centro de API.

Habilitación de identidades administradas en el Centro de API

En este escenario, el Centro de API usa una identidad administrada para acceder a los recursos de Azure. En función de sus necesidades, habilite una identidad administrada asignada por el sistema o una o varias identidades administradas asignadas por el usuario.

En los siguientes ejemplos, se muestra cómo habilitar una identidad administrada asignada por el sistema mediante Azure Portal o la CLI de Azure. A un nivel alto, los pasos de configuración son similares para una identidad administrada asignada por el usuario.

  1. En el portal, vaya al Centro de API.
  2. En el menú de la barra lateral, en Seguridad, seleccione Identidades administradas.
  3. Seleccione Asignado por el sistema y establezca el estado en Activado.
  4. Haga clic en Guardar.

Asignación de la identidad administrada al rol de usuario secretos de Key Vault

Para permitir la importación de los recursos, asigne a la identidad administrada del Centro de API el rol Usuario de secretos de Key Vault en el almacén de claves de Azure. Puede usar el portal o la CLI de Azure.

  1. En el portal, vaya al almacén de claves.
  2. En el menú de la barra lateral, seleccione Control de acceso (IAM) .
  3. Seleccione + Agregar asignación de roles.
  4. En la página Agregar asignación de roles, establezca los valores como se indica a continuación:
    1. En la pestaña Rol, seleccione Usuario de secretos de Key Vault.
    2. En la pestaña Miembros, en Asignar acceso a, seleccione Identidad administrada> + Seleccionar miembros.
    3. En la página Seleccionar identidades administradas, seleccione la identidad administrada asignada por el sistema del Centro de API que agregó en la sección anterior. Haga clic en Seleccionar.
    4. Seleccione Revisar y asignar.

3. Agregar configuración de OAuth 2.0

  1. En el portal, vaya al Centro de API.

  2. En Gobernanza, seleccione Authorization+ Add configuration (Autorización>+ Agregar configuración).

  3. Al añadir configuración, establece los siguientes valores:

    Captura de pantalla de la configuración de OAuth 2.0 en el portal.

    Nota:

    Use los valores del registro de la aplicación que creó anteriormente. Para Microsoft Entra ID, busque el identificador de cliente en la página Información general de registro de la aplicación, y los puntos de conexión de URL en Información general>Puntos de conexión.

    Configuración Descripción
    Título Escriba un nombre para la autorización.
    Descripción Opcionalmente, escriba una descripción para la autorización.
    Esquema de seguridad Seleccione OAuth2.
    Id. de cliente Escriba el identificador de cliente (GUID) de la aplicación que creó en el proveedor de identidades.
    Secreto de cliente Seleccione la suscripción, el almacén de claves y el secreto de cliente que ha almacenado.

    Ejemplo: https://<key-vault-name>.vault.azure.net/secrets/<secret-name>
    Dirección URL de autorización Escriba el punto de conexión de autorización de OAuth 2.0 para el proveedor de identidades.

    Ejemplo de Id. de Entra de Microsoft: https://login.microsoftonline.com/<tenant>/oauth2/v2.0/authorize
    Dirección URL del token Escriba el punto de conexión del token de OAuth 2.0 para el proveedor de identidades.

    Ejemplo de Id. de Entra de Microsoft: https://login.microsoftonline.com/<tenant>/oauth2/v2.0/token
    Actualizar URL Introduzca el punto de conexión para actualizar el token de OAuth 2.0 del proveedor de identidades. Para la mayoría de los proveedores, igual que la dirección URL del token

    Ejemplo de Id. de Entra de Microsoft: https://login.microsoftonline.com/<tenant>/oauth2/v2.0/token
    Flujo de OAuth2 Seleccione uno o ambos flujos de OAuth 2.0: código de autorización (PKCE) y credenciales de cliente.
    Ámbitos Escriba uno o varios ámbitos de API configurados para la API, separados por espacios. Si no hay ningún ámbito configurado, escriba .default.
  4. Para crear la configuración, seleccione Guardar.

Después de completar esta configuración, vaya a la sección Agregar configuración de autenticación a una versión de API para asociar la configuración de OAuth 2.0 a una versión de API.

Opción 3: Configuración de opciones para otro esquema de seguridad HTTP

En el caso de las API que usan otro esquema de seguridad HTTP, como la autenticación básica o los tokens de portador que no usan OAuth 2.0, complete los pasos siguientes. Es posible que tenga que elegir esta opción para las API heredadas.

En el portal, vaya al Centro de API.

  1. En Gobernanza, seleccione Authorization+ Add configuration (Autorización>+ Agregar configuración).

  2. Al añadir configuración, establece los siguientes valores:

    Configuración Descripción
    Título Escriba un nombre para la autorización.
    Descripción Opcionalmente, escriba una descripción para la autorización.
    Esquema de seguridad Seleccione HTTP.
    Esquema de autenticación Seleccione el esquema de autenticación que usa la API. Entre los ejemplos se incluyen los esquemas de la tabla siguiente.
    Esquema de autenticación Descripción
    Basic Envía username:password como una cadena codificada en Base64 en el Authorization: Basic <credentials> encabezado.
    Portador Envía un token distinto de un token de acceso de OAuth 2.0 en el encabezado Authorization: Bearer <token>.
    Resumen Un mecanismo de desafío-respuesta en el que el servidor envía un nonce y el cliente responde con un hash de las credenciales más el nonce.
    Personalizada Otro esquema de mecanismo, como un esquema específico del proveedor.

Después de completar esta configuración, vaya a la sección siguiente para asociar la configuración a una versión de API.

Adición de la configuración de autenticación a una versión de API

Después de configurar un esquema de autenticación, asocie la configuración a una versión de API.

  1. En el portal, vaya al Centro de API.

  2. En Inventario, seleccione Activos.

  3. Seleccione la API con la que asociar la configuración.

  4. En Detalles, selecciona Versiones y luego la versión de la API de destino.

  5. En el menú contextual de la versión de api, seleccione Administrar acceso. Captura de pantalla de la asociación de una configuración de autenticación con una versión de API en el portal.

  6. En Gestionar acceso, selecciona + Añadir autenticación.

  7. Seleccione una configuración de autenticación disponible.

  8. Selecciona Crear.

Nota:

Puedes añadir varias configuraciones de autenticación a una versión de la API (por ejemplo, tanto la clave API como OAuth 2.0), si la API lo permite. También puede agregar la misma configuración a varias versiones de API.

Administrar el acceso para usuarios o grupos específicos

Configure una directiva de acceso que asigne a usuarios o grupos el rol Lector de acceso a credenciales del Centro de API, limitado a configuraciones de autenticación específicas en una versión de API. Este rol otorga a los usuarios designados la capacidad de probar una API en el portal del API Center.

  1. En el portal, vaya al Centro de API.

  2. Vaya a una versión de API con una configuración de autenticación.

  3. Seleccione Administrar acceso.

  4. Seleccione una configuración de autenticación que quiera administrar.

  5. En el menú desplegable, seleccione Editar directivas de acceso. Captura de pantalla de la adición de una directiva de acceso en el portal.

  6. En la página Administrar acceso , seleccione + Agregar > usuarios o + Agregar > grupos.

  7. Busque y seleccione usuarios o grupos. Puede seleccionar varios elementos.

  8. Elija Seleccionar.

Sugerencia

Para quitar usuarios o grupos, seleccione Eliminar en el menú contextual de la página Administrar acceso .

Prueba de la API en el portal del Centro de API

Pruebe una API que configuró para la autenticación y el acceso de usuario.

Sugerencia

También puede configurar las opciones de visibilidad para controlar qué API aparecen para todos los usuarios que han iniciado sesión en el portal.

  1. En el portal, vaya al Centro de API.

  2. En Portal del Centro de API, seleccione Configuración> delportal Ver portal del Centro de API.

  3. Seleccione una API y, a continuación, seleccione una versión con un método de autenticación configurado.

  4. En Opciones, seleccione Ver documentación. Captura de pantalla de los detalles de la API en el portal del Centro de API.

  5. Seleccione una operación y, a continuación, seleccione Probar esta API.

  6. Revise la configuración de autenticación. Si tiene acceso, seleccione Enviar. Captura de pantalla de la prueba de una API en la consola de prueba del portal del Centro de API.

  7. Una operación exitosa devuelve un código de respuesta y un cuerpo de respuesta 200 OK. Una operación con error devuelve un mensaje de error.