Creación de una aplicación de Microsoft Entra y una entidad de servicio con acceso a los recursos

En este artículo, aprenderá a crear una aplicación de Microsoft Entra y una entidad de servicio que se puede usar con el control de acceso basado en rol. Al registrar una nueva aplicación en Microsoft Entra ID, se crea automáticamente una entidad de servicio para el registro de la aplicación. La entidad de servicio es la identidad de la aplicación en el inquilino de Microsoft Entra. El acceso a los recursos está restringido por los roles asignados a la entidad de servicio, lo que permite controlar a qué recursos pueden tener acceso y en qué nivel. Por motivos de seguridad, se recomienda usar siempre entidades de servicio con las herramientas automatizadas, en lugar de permitirles iniciar sesión con una identidad de usuario.

En este artículo, creará una aplicación de inquilino único en Azure Portal. Este ejemplo es aplicable a las aplicaciones de línea de negocio que se usan en una organización. También puede usar Azure PowerShell o la CLI de Azure para crear una entidad de servicio.

Importante

En lugar de crear una entidad de servicio, considere el uso de identidades administradas para recursos de Azure para la identidad de la aplicación. Si el código se ejecuta en un servicio que admite identidades administradas y tiene acceso a recursos que admiten la autenticación de Microsoft Entra, las identidades administradas son la opción ideal para usted. Para obtener más información sobre las identidades administradas para recursos de Azure, incluidos los servicios que actualmente lo admiten, consulte ¿Qué es Managed Identities for Azure Resources?.

Para obtener más información sobre la relación entre el registro de aplicaciones, los objetos de aplicación y las entidades de servicio, consulte Objetos de aplicación y de entidad de servicio de Microsoft Entra ID.

Requisitos previos

Para registrar una aplicación en el inquilino de Microsoft Entra, necesita:

Permisos necesarios para registrar una aplicación

Debe tener permisos suficientes para registrar una aplicación en su inquilino de Microsoft Entra y asignar a la aplicación un rol en su suscripción de Azure. Para completar estas tareas, necesita permiso Application.ReadWrite.All.

Registrar una aplicación con Microsoft Entra ID y crear una entidad de servicio

Sugerencia

Los pasos de este artículo pueden variar ligeramente en función del portal desde donde comienza.

  1. Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.

  2. Vaya a Identidad>Aplicaciones>Registros de aplicaciones y, a continuación, seleccione Nuevo registro.

  3. Asigna un nombre a la aplicación, por ejemplo, «example-app».

  4. Seleccione un tipo de cuenta compatible, que determinará quién puede usar la aplicación.

  5. En URI de redireccionamiento, seleccione Web para indicar el tipo de aplicación que quiere crear. Escriba el URI al que se envía el token de acceso.

  6. Seleccione Registrar.

    Type a name for your application.

Ha creado una aplicación de Microsoft Entra y una entidad de servicio.

Asignación de un rol a la aplicación

Para acceder a los recursos de la suscripción, debe asignar un rol a la aplicación. Decida qué rol ofrece los permisos adecuados para la aplicación. Para obtener información sobre los roles disponibles, consulte Roles integrados de Azure.

Puede establecer el ámbito en el nivel de suscripción, grupo de recursos o recurso. Los permisos se heredan en los niveles inferiores del ámbito.

  1. Inicie sesión en Azure Portal.

  2. Seleccione el nivel de ámbito al que quiere asignar la aplicación. Por ejemplo, para asignar un rol en el ámbito de suscripción, busque y seleccione Suscripciones. Si no ve la suscripción que busca, seleccione el filtro de suscripciones globales. Asegúrese de que la suscripción que le interesa está seleccionada para el inquilino.

  3. Seleccione Access Control (IAM) .

  4. Seleccione Agregar y, luego, Agregar asignación de roles.

  5. En la pestaña Rol, selecciona el rol que desea asignar a la aplicación en la lista. Por ejemplo, para que la aplicación ejecute acciones como reiniciar, iniciar y detener instancias, seleccione el rol Colaborador.

  6. Seleccione el botón Siguiente.

  7. En la pestaña Miembros, seleccione Asignar acceso a y User, group, or service principal (Usuario, grupo o entidad de servicio).

  8. Elija Seleccionar miembros. De manera predeterminada, las aplicaciones de Microsoft Entra no se muestran en las opciones disponibles. Al buscar la aplicación, búsquela por su nombre.

  9. Seleccione el botón Seleccionar y, luego, Review + assign (Revisar y asignar).

    Screenshot showing role assignment.

La entidad de servicio está configurada. Puede empezar a usarla para ejecutar aplicaciones o scripts. Para administrar la entidad de servicio (permisos, permisos confirmados por el usuario, ver qué usuarios han dado su consentimiento, revisar permisos, ver información de inicio de sesión, etc.), vaya a Aplicaciones empresariales.

En la sección siguiente se muestra cómo obtener valores necesarios al iniciar sesión mediante programación.

Inicie sesión en la aplicación.

Al iniciar sesión mediante programación, pase el identificador de inquilino y el identificador de aplicación en la solicitud de autenticación. También necesita un certificado o una clave de autenticación. Para obtener el identificador de directorio (inquilino) y el identificador de aplicación:

  1. Vaya a Identidad>Aplicaciones>Registros de aplicaciones y, a continuación, seleccione la aplicación.
  2. En la página de información general de la aplicación, copie el valor del identificador de directorio (inquilino) y almacénelo en el código de la aplicación.
  3. Copie el valor del identificador de aplicación (cliente) y almacénelo en el código de la aplicación.

Configuración de la autenticación

Hay dos tipos de autenticación disponibles para las entidades de servicio: autenticación basada en contraseña (secreto de aplicación) y autenticación basada en certificados. Se recomienda usar un certificado de confianza emitido por una entidad de certificación, pero también puede crear un secreto de aplicación o crear un certificado autofirmado para las pruebas.

Para cargar el archivo de certificado:

  1. Vaya a Identidad>Aplicaciones>Registros de aplicaciones y, a continuación, seleccione la aplicación.
  2. Seleccione Certificados y secretos.
  3. Seleccione Certificados, Cargar certificado y, a continuación, seleccione el archivo de certificado que se va a cargar.
  4. Seleccione Agregar. Una vez que se carga el certificado, se muestra la huella digital, la fecha de inicio y los valores de expiración.

Después de registrar el certificado con la aplicación en el portal de registro de aplicación, habilite el código de la aplicación cliente confidencial para usar el certificado.

Opción 2 (solo pruebas): crear y cargar un certificado autofirmado

Si quiere, puede crear un certificado autofirmado con fines de prueba únicamente. Para crear un certificado autofirmado, abra Windows PowerShell y ejecute New-SelfSignedCertificate con los parámetros siguientes para crear el certificado en el almacén de certificados de usuario en su equipo:

$cert=New-SelfSignedCertificate -Subject "CN=DaemonConsoleCert" -CertStoreLocation "Cert:\CurrentUser\My"  -KeyExportPolicy Exportable -KeySpec Signature

Exporte este certificado a un archivo con el complemento MMC Administrar certificado de usuario accesible desde el Panel de control de Windows.

  1. Seleccione Ejecutar en el menú Inicio y, a continuación, escriba certmgr.msc. Aparece la herramienta Administrador de certificados para el usuario actual.
  2. Para ver los certificados, en Certificados - usuario actual en el panel izquierdo, expanda el directorio Personal.
  3. Haga clic con el botón derecho en el certificado que ha creado y seleccione Todas las tareas->Exportar.
  4. Siga el Asistente para exportar certificados.

Para cargar el certificado:

  1. Vaya a Identidad>Aplicaciones>Registros de aplicaciones y, a continuación, seleccione la aplicación.
  2. Seleccione Certificados y secretos.
  3. Seleccione Certificados y Cargar certificado y, luego, elija el certificado (uno existente o el certificado autofirmado que ha exportado).
  4. Seleccione Agregar.

Después de registrar el certificado con la aplicación en el portal de registro de aplicación, habilite el código de la aplicación cliente confidencial para usar el certificado.

Opción 3: Crear un nuevo secreto de cliente

Si decide no usar un certificado, puede crear un nuevo secreto de cliente.

  1. Vaya a Identidad>Aplicaciones>Registros de aplicaciones y, a continuación, seleccione la aplicación.
  2. Seleccione Certificados y secretos.
  3. Seleccione Secretos de cliente y, luego, Nuevo secreto de cliente.
  4. Proporcione una descripción y duración del secreto.
  5. Seleccione Agregar.

Después de guardar el secreto de cliente, se muestra el valor del mismo. Esto solo se muestra una vez, así que copie este valor y guárdelo donde su aplicación pueda recuperarlo, normalmente donde su aplicación guarde valores como clientId, o authoruty en el código de origen. Proporcionará el valor del secreto junto con el id. de cliente de la aplicación para iniciar sesión como tal.

Screenshot showing the client secret.

Configuración de directivas de acceso sobre los recursos

Es posible que deba configurar permisos adicionales sobre los recursos a los que la aplicación necesita acceso. Por ejemplo, también debe actualizar las directivas de acceso de un almacén de claves para proporcionar a la aplicación acceso a las claves, los secretos o los certificados.

Para configurar directivas de acceso:

  1. Inicie sesión en Azure Portal.

  2. Elija su almacén de claves y seleccione Directivas de acceso.

  3. Seleccione Agregar directiva de acceso y, luego, seleccione la clave, el secreto y los permisos de certificado que quiere conceder a la aplicación. Seleccione la entidad de servicio que creó anteriormente.

  4. Seleccione Agregar para agregar la directiva de acceso.

  5. Seleccione Guardar.

    Add access policy

Pasos siguientes