Procedimientos: Uso del portal para crear una aplicación de Azure AD y una entidad de servicio con acceso a los recursosHow to: Use the portal to create an Azure AD application and service principal that can access resources

En este artículo se muestra cómo crear una nueva entidad de servicio y aplicación de Azure Active Directory (Azure AD) que puede usar con el control de acceso basado en rol.This article shows you how to create a new Azure Active Directory (Azure AD) application and service principal that can be used with the role-based access control. Cuando haya código que deba tener acceso a ciertos recursos o modificarlos, puede crear una identidad para la aplicación.When you have code that needs to access or modify resources, you can create an identity for the app. Esta identidad se conoce como una entidad de servicio.This identity is known as a service principal. Entonces puede asignar los permisos necesarios a la entidad de servicio.You can then assign the required permissions to the service principal. En este artículo se muestra cómo usar el portal para crear la entidad de servicio.This article shows you how to use the portal to create the service principal. Se centra en una aplicación de un único inquilino donde la aplicación está diseñada para ejecutarse en una sola organización.It focuses on a single-tenant application where the application is intended to run within only one organization. Normalmente, utiliza aplicaciones de inquilino único para aplicaciones de línea de negocio que se ejecutan dentro de su organización.You typically use single-tenant applications for line-of-business applications that run within your organization.

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.Instead of creating a service principal, consider using managed identities for Azure resources for your application identity. Si el código se ejecuta en un servicio que admite identidades administradas y tiene acceso a recursos que admiten la autenticación de Azure AD, las identidades administradas son la opción ideal para usted.If your code runs on a service that supports managed identities and accesses resources that support Azure AD authentication, managed identities are a better option for you. 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?.To learn more about managed identities for Azure resources, including which services currently support it, see What is managed identities for Azure resources?.

Creación de una aplicación de Azure Active DirectoryCreate an Azure Active Directory application

Vamos a saltar directamente a la creación de la identidad.Let's jump straight into creating the identity. Si experimenta un problema, compruebe los permisos necesarios para asegurarse de que su cuenta puede crear la identidad.If you run into a problem, check the required permissions to make sure your account can create the identity.

  1. Inicie sesión en su cuenta de Azure mediante Azure Portal.Sign in to your Azure Account through the Azure portal.

  2. Seleccione Azure Active Directory.Select Azure Active Directory.

  3. Seleccione App registrations (Registros de aplicaciones).Select App registrations.

  4. Seleccione Nuevo registro.Select New registration.

  5. Asigne un nombre a la aplicación.Name the application. Seleccione un tipo de cuenta compatible, que determinará quién puede usar la aplicación.Select a supported account type, which determines who can use the application. En URI de redireccionamiento, seleccione Web para indicar el tipo de aplicación que quiere crear.Under Redirect URI, select Web for the type of application you want to create. Escriba el URI al que se envía el token de acceso.Enter the URI where the access token is sent to. No se pueden crear credenciales para una aplicación nativa.You can't create credentials for a Native application. No se puede usar ese tipo en una aplicación automatizada.You can't use that type for an automated application. Después de configurar los valores, seleccione Registrar.After setting the values, select Register.

    Escriba un nombre para la aplicación

Ha creado una aplicación de Azure AD y una entidad de servicio.You've created your Azure AD application and service principal.

Asignación de un rol a la aplicaciónAssign a role to the application

Para acceder a los recursos de la suscripción, debe asignar un rol a la aplicación.To access resources in your subscription, you must assign a role to the application. Decida qué rol ofrece los permisos adecuados para la aplicación.Decide which role offers the right permissions for the application. Para obtener más información sobre los roles disponibles, vea RBAC: Roles integrados.To learn about the available roles, see RBAC: Built in Roles.

Puede establecer el ámbito en el nivel de suscripción, grupo de recursos o recurso.You can set the scope at the level of the subscription, resource group, or resource. Los permisos se heredan en los niveles inferiores del ámbito.Permissions are inherited to lower levels of scope. Por ejemplo, el hecho de agregar una aplicación al rol Lector para un grupo de recursos significa que esta puede leer el grupo de recursos y los recursos que contenga.For example, adding an application to the Reader role for a resource group means it can read the resource group and any resources it contains.

  1. En Azure Portal, seleccione el nivel de ámbito al que desea asignar la aplicación.In the Azure portal, select the level of scope you wish to assign the application to. Por ejemplo, para asignar un rol en el ámbito de la suscripción, busque y seleccione Suscripciones, o seleccione Suscripciones en la página Inicio.For example, to assign a role at the subscription scope, search for and select Subscriptions, or select Subscriptions on the Home page.

    Por ejemplo, asigne un rol en el ámbito de la suscripción

  2. Seleccione la suscripción concreta que se asignará a la aplicación.Select the particular subscription to assign the application to.

    Seleccionar suscripción para la asignación

    Si no ve la suscripción que busca, seleccione el filtro de suscripciones globales.If you don't see the subscription you're looking for, select global subscriptions filter. Asegúrese de que la suscripción que desea está seleccionada para el portal.Make sure the subscription you want is selected for the portal.

  3. Seleccione Access Control (IAM) .Select Access control (IAM).

  4. Seleccione Agregar asignación de roles.Select Add role assignment.

  5. Seleccione el rol que quiere asignar a la aplicación.Select the role you wish to assign to the application. Por ejemplo, para que la aplicación ejecute acciones como reiniciar, iniciar y detener instancias, seleccione Colaborador.For example, to allow the application to execute actions like reboot, start and stop instances, select the Contributor role. Más información sobre los roles disponibles. De manera predeterminada, las aplicaciones de Azure AD no se muestran en las opciones disponibles.Read more about the available roles By default, Azure AD applications aren't displayed in the available options. Para encontrar la aplicación, busque el nombre y selecciónelo.To find your application, search for the name and select it.

    Seleccione el rol que se asignará a la aplicación

  6. Haga clic en Guardar para finalizar la asignación del rol.Select Save to finish assigning the role. Verá la aplicación en la lista de usuarios con un rol para ese ámbito.You see your application in the list of users with a role for that scope.

La entidad de servicio está configurada.Your service principal is set up. Puede empezar a usarla para ejecutar aplicaciones o scripts.You can start using it to run your scripts or apps. En la sección siguiente se muestra cómo obtener valores necesarios al iniciar sesión mediante programación.The next section shows how to get values that are needed when signing in programmatically.

Obtención de valores para iniciar sesiónGet values for signing in

Al iniciar sesión mediante programación, deberá pasar el id. de inquilino con la solicitud de autenticación.When programmatically signing in, you need to pass the tenant ID with your authentication request. También necesitará el identificador de la aplicación y una clave de autenticación.You also need the ID for your application and an authentication key. Para obtener estos valores, use los pasos siguientes:To get those values, use the following steps:

  1. Seleccione Azure Active Directory.Select Azure Active Directory.

  2. En Registros de aplicaciones, en Azure AD, seleccione su aplicación.From App registrations in Azure AD, select your application.

  3. Copie el identificador del directorio (inquilino) y almacénelo en el código de la aplicación.Copy the Directory (tenant) ID and store it in your application code.

    Copie directorio (identificador del inquilino) y almacénelo en el código de la aplicación

  4. Copie el id. de aplicación y almacénelo en el código de la aplicación.Copy the Application ID and store it in your application code.

    Copie el identificador de la aplicación (cliente)

Certificados y secretosCertificates and secrets

Las aplicaciones de demonio pueden usar dos tipos de credenciales para realizar la autenticación con Azure AD: certificados y secretos de aplicación.Daemon applications can use two forms of credentials to authenticate with Azure AD: certificates and application secrets. Se recomienda usar un certificado, pero también puede crear un secreto de aplicación nuevo.We recommend using a certificate, but you can also create a new application secret.

Carga de un certificadoUpload a certificate

Puede usar un certificado existente si lo tiene.You can use an existing certificate if you have one. Si quiere, puede crear un certificado autofirmado con fines de prueba únicamente.Optionally, you can create a self-signed certificate for testing purposes only. Abra PowerShell y ejecute New-SelfSignedCertificate con los parámetros siguientes para crear un certificado autofirmado en el almacén de certificados del usuario en su equipo:Open PowerShell and run New-SelfSignedCertificate with the following parameters to create a self-signed certificate in the user certificate store on your computer:

$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.Export this certificate to a file using the Manage User Certificate MMC snap-in accessible from the Windows Control Panel.

  1. Seleccione Ejecutar en el menú Inicio y, a continuación, escriba certmgr.msc.Select Run from the Start menu, and then enter certmgr.msc.

    Aparece la herramienta Administrador de certificados para el usuario actual.The Certificate Manager tool for the current user appears.

  2. Para ver los certificados, en Certificados - usuario actual en el panel izquierdo, expanda el directorio Personal.To view your certificates, under Certificates - Current User in the left pane, expand the Personal directory.

  3. Haga clic con el botón derecho en el certificado que ha creado y seleccione Todas las tareas->Exportar.Right-click on the cert you created, select All tasks->Export.

  4. Siga el Asistente para exportar certificados.Follow the Certificate Export wizard. No exporte la clave privada ni realice exportaciones a un archivo .CER.Do not export the private key, and export to a .CER file.

Para cargar el certificado:To upload the certificate:

  1. Seleccione Azure Active Directory.Select Azure Active Directory.

  2. En Registros de aplicaciones, en Azure AD, seleccione su aplicación.From App registrations in Azure AD, select your application.

  3. Seleccione Certificados y secretos.Select Certificates & secrets.

  4. Seleccione Cargar certificado y seleccione el certificado (un certificado existente o el certificado autofirmado que exportó).Select Upload certificate and select the certificate (an existing certificate or the self-signed certificate you exported).

    Seleccione Cargar certificado y seleccione el certificado que quiere agregar

  5. Seleccione Agregar.Select Add.

Después de registrar el certificado con la aplicación en el portal de registro de aplicación, debe habilitar el código de la aplicación cliente para usar el certificado.After registering the certificate with your application in the application registration portal, you need to enable the client application code to use the certificate.

Creación de un secreto de aplicaciónCreate a new application secret

Si decide no usar un certificado, puede crear un secreto de aplicación nuevo.If you choose not to use a certificate, you can create a new application secret.

  1. Seleccione Certificados y secretos.Select Certificates & secrets.

  2. Seleccione Secretos de cliente -> Nuevo secreto de cliente.Select Client secrets -> New client secret.

  3. Proporcione una descripción y duración del secreto.Provide a description of the secret, and a duration. Cuando haya terminado, seleccione Agregar.When done, select Add.

    Después de guardar el secreto de cliente, se muestra el valor del mismo.After saving the client secret, the value of the client secret is displayed. Copie este valor porque no podrá recuperar la clave más adelante.Copy this value because you won't be able to retrieve the key later. Deberá proporcionar el valor de la clave junto con el identificador de la aplicación para iniciar sesión como la aplicación.You will provide the key value with the application ID to sign in as the application. Guarde el valor de clave donde la aplicación pueda recuperarlo.Store the key value where your application can retrieve it.

    Copie el valor del secreto porque no podrá recuperarlo más adelante

Configuración de directivas de acceso sobre los recursosConfigure access policies on resources

Tenga en cuenta que es posible que deba configurar permisos adicionales sobre los recursos a los que la aplicación necesita acceso.Keep in mind, you might need to configure addition permissions on resources that your application needs to access. 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.For example, you must also update a key vault's access policies to give your application access to keys, secrets, or certificates.

  1. En Azure Portal, vaya al almacén de claves y seleccione Directivas de acceso.In the Azure portal, navigate to your key vault and select Access policies.
  2. Seleccione Agregar directiva de acceso y, luego, seleccione la clave, el secreto y los permisos de certificado que quiere conceder a la aplicación.Select Add access policy, then select the key, secret, and certificate permissions you want to grant your application. Seleccione la entidad de servicio que creó anteriormente.Select the service principal you created previously.
  3. Seleccione Agregar para agregar la directiva de acceso y, luego, Guardar para confirmar los cambios.Select Add to add the access policy, then Save to commit your changes. Agregar directiva de accesoAdd access policy

Permisos necesariosRequired permissions

Debe tener permisos suficientes para registrar una aplicación en su inquilino de Azure AD y asignar a la aplicación un rol en su suscripción de Azure.You must have sufficient permissions to register an application with your Azure AD tenant, and assign to the application a role in your Azure subscription.

Comprobación de los permisos de Azure ADCheck Azure AD permissions

  1. Seleccione Azure Active Directory.Select Azure Active Directory.

  2. Anote su rol.Note your role. Si tiene el rol Usuario, debe asegurarse de que los no administradores pueden registrar aplicaciones.If you have the User role, you must make sure that non-administrators can register applications.

    Busque su rol.

  3. En el panel izquierdo, seleccione Configuración de usuario.In the left pane, select User settings.

  4. Compruebe la configuración de App registrations (Registros de aplicaciones).Check the App registrations setting. Este valor solo puede configurarlo un administrador.This value can only be set by an administrator. Si se configura en , cualquier usuario en el inquilino de Azure Active Directory puede registrar una aplicación.If set to Yes, any user in the Azure AD tenant can register an app.

Si la configuración de registro de aplicaciones se establece en No, solo los usuarios con un rol de administrador pueden registrar este tipo de aplicaciones.If the app registrations setting is set to No, only users with an administrator role may register these types of applications. Consulte los roles disponibles y los permisos de roles para conocer los roles de administrador disponibles y los permisos específicos en Azure AD que se otorgan a cada rol.See available roles and role permissions to learn about available administrator roles and the specific permissions in Azure AD that are given to each role. Si la cuenta está asignada al rol Usuario, pero la opción Registros de aplicaciones está limitada a los administradores, pida al administrador que le asigne un rol de administrador para poder crear y administrar todos los aspectos de los registros de aplicaciones, o que permita a los usuarios registrar las aplicaciones.If your account is assigned the User role, but the app registration setting is limited to admin users, ask your administrator to either assign you one of the administrator roles that can create and manage all aspects of app registrations, or to enable users to register apps.

Comprobación de los permisos de suscripción de AzureCheck Azure subscription permissions

En su suscripción de Azure, su cuenta debe tener acceso a Microsoft.Authorization/*/Write para asignar un rol a una aplicación de AD.In your Azure subscription, your account must have Microsoft.Authorization/*/Write access to assign a role to an AD app. Esta acción se concede mediante el rol Propietario o el rol Administrador de acceso de usuario.This action is granted through the Owner role or User Access Administrator role. Si su cuenta tiene asignado al rol Colaborador, no tiene los permisos adecuados.If your account is assigned the Contributor role, you don't have adequate permission. Recibirá un error al intentar asignarle un rol a la entidad de servicio.You will receive an error when attempting to assign the service principal a role.

Para comprobar los permisos de su suscripción:To check your subscription permissions:

  1. Busque y seleccione Suscripciones o seleccione Suscripciones en la página Inicio.Search for and select Subscriptions, or select Subscriptions on the Home page.

    Search

  2. Seleccione la suscripción en la que quiere crear la entidad de servicio.Select the subscription you want to create the service principal in.

    Seleccionar suscripción para la asignación

    Si no ve la suscripción que busca, seleccione el filtro de suscripciones globales.If you don't see the subscription you're looking for, select global subscriptions filter. Asegúrese de que la suscripción que desea está seleccionada para el portal.Make sure the subscription you want is selected for the portal.

  3. Seleccione Mis permisos.Select My permissions. A continuación, seleccione Click here to view complete access details for this subscription (Haga clic aquí para ver los detalles de acceso completos para esta suscripción).Then, select Click here to view complete access details for this subscription.

    Seleccione la suscripción en la que quiere crear la entidad de servicio

  4. Seleccione Ver en Asignaciones de roles para ver los roles asignados y determine si tiene los permisos correspondientes para asignar un rol a una aplicación de AD.Select View in Role assignments to view your assigned roles, and determine if you have adequate permissions to assign a role to an AD app. En caso contrario, pida al administrador de suscripciones que le agregue al rol Administrador de acceso de usuario.If not, ask your subscription administrator to add you to User Access Administrator role. En la imagen siguiente, el usuario está asignado al rol Propietario, lo que significa que el usuario tiene los permisos adecuados.In the following image, the user is assigned the Owner role, which means that user has adequate permissions.

    En este ejemplo se muestra el usuario asignado al rol Propietario

Pasos siguientesNext steps