Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En el caso de los clústeres que se ejecutan en Azure, puede usar Microsoft Entra ID para ayudar a proteger el acceso a los puntos de conexión de administración. En este artículo se describe cómo configurar Microsoft Entra ID para autenticar a los clientes de un clúster de Azure Service Fabric en Azure Portal.
En este artículo, el término aplicación generalmente hace referencia a las aplicaciones de Microsoft Entra, no a las aplicaciones de Service Fabric. Azure AD permite a las organizaciones (conocidas como inquilinos) administrar el acceso de los usuarios a las aplicaciones.
Un clúster de Service Fabric ofrece diversos puntos de entrada a su funcionalidad de administración, como Service Fabric Explorer y Visual Studio basados en web. Como consecuencia, creará dos aplicaciones de Microsoft Entra para controlar el acceso al clúster: una aplicación web y una aplicación nativa. Una vez creadas las aplicaciones, debe asignar usuarios a los roles de solo lectura y administrador.
Nota:
- En Linux, debe realizar los pasos siguientes antes de crear el clúster. En Windows, también tiene la opción de configurar la autenticación de Microsoft Entra para un clúster existente.
- Es un problema conocido que las aplicaciones y los nodos de los clústeres habilitados para Microsoft Entra ID de Linux no se puedan ver en Azure Portal.
- Ahora Microsoft Entra ID requiere que un dominio de publicadores de aplicación (registro de aplicaciones) se compruebe o use un esquema predeterminado. Para obtener información adicional, consulte Configuración del dominio del publicador de una aplicación y El URI de AppId en aplicaciones de inquilino único requerirá el uso de un esquema predeterminado o dominios verificados.
Requisitos previos
En este artículo se supone que ya ha creado un inquilino. Si no lo ha hecho, empiece leyendo Inicio rápido: Configuración de un inquilino.
Registro de una aplicación de clúster de Microsoft Entra ID
Abra el panel Registros de aplicaciones de Microsoft Entra ID en Azure Portal y seleccione + Nuevo registro.
En el panel Registrar una aplicación, escriba la siguiente información y, después, seleccione Registrar:
Nombre: escriba un nombre descriptivo. Resulta útil definir un tipo de registro en el nombre, como en este ejemplo: {{cluster name}}_Cluster.
Tipos de cuenta admitidos: seleccione Solo las cuentas de este directorio organizativo.
URI de redireccionamiento: seleccione Web y escriba la dirección URL a la que el cliente le redirigirá. En este ejemplo, se usa la dirección URL de Service Fabric Explorer:
https://{{cluster name}}.{{location}}.cloudapp.azure.com:19080/Explorer/index.html
.Una vez completado el registro, puede agregar más URI de redireccionamiento seleccionando Autenticación>Agregar URI.
Nota:
Agregue más URI de redireccionamiento si planea acceder a Service Fabric Explorer mediante una dirección URL abreviada, como https://{{cluster name}}.{{location}}.cloudapp.azure.com:19080/Explorer
. Es necesaria una dirección URL exacta para evitar el error AADSTS50011: "el URI de redireccionamiento especificado en la solicitud no coincide con los URI de redireccionamiento configurados para la aplicación. Asegúrese de que el URI de redireccionamiento enviado en la solicitud coincide con uno agregado a la aplicación en Azure Portal." Obtenga más información sobre cómo solucionar problemas relacionados con este error.
Personalización de marca y propiedades
Después de registrar la aplicación de clúster, seleccione Propiedades y personalización de marca y rellene cualquier información adicional. En Dirección URL de la página principal, escriba la dirección URL de Service Fabric Explorer.
Autenticación
Seleccione Autenticación. En Flujos de concesión implícita e híbridos, seleccione la casilla de verificación Tokens de id. (usados para flujos híbridos e implícitos).
Exponer una API
Seleccione Exponer una API y, a continuación, el vínculo Establecer para especificar el valor de URI de id. de aplicación. Escriba el URI de un dominio comprobado o un URI que use un formato de esquema de API de api://{{tenant Id}}/{{cluster name}}
. Por ejemplo: api://00001111-aaaa-2222-bbbb-3333cccc4444/mysftestcluster
.
Para más información, consulte El identificador URI AppId en aplicaciones de inquilino único requerirá el uso del esquema predeterminado o los dominios comprobados.
Seleccione + Agregar un ámbito y luego escriba la información siguiente:
- En Nombre de ámbito, escriba user_impersonation.
- ¿Quién puede dar su consentimiento? Seleccione Administradores y usuarios.
- Nombre para mostrar el consentimiento del administrador: escriba un nombre descriptivo. Resulta útil definir el nombre del clúster y el tipo de autenticación, como en este ejemplo: Access mysftestcluster_Cluster.
- Descripción del consentimiento del administrador: Introduzca una descripción similar a esta: Permitir que la aplicación acceda a mysftestcluster_Cluster en nombre del usuario que ha iniciado sesión.
- Nombre para mostrar el consentimiento del usuario: escriba un nombre descriptivo. Resulta útil definir el nombre del clúster y el tipo de autenticación, como en este ejemplo: Access mysftestcluster_Cluster.
- Descripción del consentimiento del usuario: Introduzca una descripción similar a esta: Permitir que la aplicación acceda a mysftestcluster_Cluster en su nombre.
- Estado: seleccione Habilitado.
Roles de aplicación
Seleccione Roles de aplicación>+ Crear rol de aplicación para agregar roles de administrador y solo lectura.
Escriba la siguiente información para un usuario administrador y, a continuación, seleccione Aplicar:
- Nombre para mostrar: escriba Administrador.
- Tipos de miembro permitidos: seleccione Usuarios o grupos.
- Valor: escriba Administrador.
- Descripción: escriba Los administradores pueden administrar roles y realizar todas las acciones de tarea.
Escriba la siguiente información para un usuario de solo lectura y, a continuación, seleccione Aplicar:
- Nombre para mostrar: escriba ReadOnly.
- Tipos de miembro permitidos: seleccione Usuarios o grupos.
- Valor: escriba Usuario.
- Descripción: escriba los roles ReadOnly tienen acceso limitado a consultas.
Registro de una aplicación cliente de Microsoft Entra
Abra el panel Registros de aplicaciones de Microsoft Entra ID en Azure Portal y, a continuación, seleccione + Nuevo registro.
Introduzca los siguientes datos y, a continuación, seleccione Registrar:
- Nombre: escriba un nombre descriptivo. Resulta útil definir el tipo de registro en el nombre, como en el ejemplo siguiente: {{cluster name}}_Client.
- Tipos de cuenta admitidos: seleccione Solo las cuentas de este directorio organizativo.
-
URI de redireccionamiento: seleccione Cliente público o nativo y escriba
urn:ietf:wg:oauth:2.0:oob
.
Autenticación
Después de registrar la aplicación cliente, seleccione Autenticación. En Configuración avanzada, seleccione Sí para Permitir flujos de cliente públicos y, a continuación, seleccione Guardar.
Permisos de API
Seleccione Permisos de API>+ Agregar un permiso.
Seleccione Permisos delegados, seleccione permisos user_impersonation y luego seleccione Agregar permisos.
En la lista de permisos de API, seleccione Conceder consentimiento del administrador para el directorio predeterminado.
Seleccione Sí para confirmar que desea conceder el consentimiento del administrador.
Propiedades
Solo para el registro de aplicaciones cliente, vaya al panel Aplicaciones empresariales.
Seleccione Propiedades y, a continuación, seleccione No en Asignación requerida.
Solo para el registro de aplicaciones en clúster, vaya al panel Aplicaciones empresariales.
Seleccione Propiedades y, a continuación, seleccione Sí en Asignación requerida.
Asignación de roles de aplicación a usuarios
Después de crear registros de aplicaciones de Microsoft Entra para Service Fabric, puede modificar los usuarios de Microsoft Entra para usar registros de aplicaciones para conectarse a un clúster mediante Microsoft Entra ID.
Para los roles de solo lectura y administrador, se usa el registro de aplicaciones de clúster de Microsoft Entra ID. El registro de aplicaciones cliente de Microsoft Entra no se usa para las asignaciones de roles. En su lugar, se asignan roles desde el panel Aplicaciones empresariales.
Quitar filtros
Para ver las aplicaciones empresariales creadas durante el proceso de registro de aplicaciones, debe quitar los filtros predeterminados para Tipo de aplicación y El id. de aplicación comienza por del panel Todas las aplicaciones del portal. De manera opcional, puede ver las aplicaciones empresariales abriendo el vínculo Aplicaciones empresariales desde el panel Permisos de API para el registro de aplicaciones.
En la captura de pantalla siguiente se muestran los filtros predeterminados que se van a quitar.
En la captura de pantalla siguiente se muestran las aplicaciones empresariales con los filtros quitados.
Agregar asignaciones de roles a usuarios de Microsoft Entra
Para agregar aplicaciones a los usuarios de Microsoft Entra existentes, vaya a Aplicaciones empresariales y localice el registro de aplicaciones de clúster de Microsoft Entra ID que creó.
Seleccione Usuarios y grupos>+ Agregar usuario o grupo para agregar la asignación de roles de usuario de Microsoft Entra existente.
En Usuarios, seleccione el vínculo No se ha seleccionado ninguno.
Para los usuarios que necesitan acceso de solo lectura (vista), localice cada usuario y, a continuación, en Seleccionar un rol, elija el vínculo Ninguno seleccionado. A continuación, en el panel Seleccionar un rol, agregue el rol ReadOnly.
Para los usuarios que necesitan acceso completo de lectura y escritura, localice los usuarios y, a continuación, en Seleccionar un rol, elija el vínculo Ninguno seleccionado. A continuación, en el panel Seleccionar un rol, agregue el rol Administrador.
Configuración de clústeres con registros de Microsoft Entra
En Azure Portal, abra el panel Clústeres de Service Fabric.
Configuración del clúster administrado de Service Fabric
Abra el recurso de clúster administrado y seleccione Seguridad. Active la casilla Habilitar Microsoft Entra ID.
Escriba los siguientes datos y seleccione Aplicar:
- Id. de inquilino: escriba el identificador de inquilino.
- Aplicación de clúster: escriba el identificador para el registro de aplicaciones de clúster de Microsoft Entra ID. Esto también se conoce como la aplicación web.
- Aplicación cliente: escriba el identificador para el registro de aplicaciones cliente de Microsoft Entra. Esto también se conoce como la aplicación nativa.
Configuración del clúster de Service Fabric
Abra el recurso de clúster y seleccione Seguridad. Seguidamente, seleccione + Agregar.
Escriba la información siguiente, y a continuación, seleccione Agregar:
- Tipo de autenticación: seleccione Microsoft Entra ID.
- TenantID: escriba el identificador de inquilino.
- Aplicación de clúster: escriba el identificador para el registro de aplicaciones de clúster de Microsoft Entra ID. Esto también se conoce como la aplicación web.
- Aplicación cliente: escriba el identificador para el registro de aplicaciones cliente de Microsoft Entra. Esto también se conoce como la aplicación nativa.
Conexión a un clúster con Microsoft Entra ID
Para obtener más información sobre el código de los ejemplos siguientes, consulte Cmdlet Connect-ServiceFabricCluster.
Conexión a un clúster de Service Fabric mediante la autenticación de Microsoft Entra a través de PowerShell
Para usar PowerShell para conectarse a un clúster de Service Fabric, debe ejecutar los comandos desde una máquina que tenga instalado el SDK de Service Fabric. El SDK incluye nodos actualmente en un clúster.
Para conectar el clúster de Service Fabric, use el siguiente ejemplo de comando de PowerShell:
Import-Module servicefabric
$clusterEndpoint = 'sftestcluster.eastus.cloudapp.azure.com'
$serverCertThumbprint = ''
Connect-ServiceFabricCluster -ConnectionEndpoint $clusterEndpoint `
-AzureActiveDirectory `
-ServerCertThumbprint $serverCertThumbprint `
-Verbose
Conexión a un clúster administrado de Service Fabric mediante la autenticación de Microsoft Entra a través de PowerShell
Para conectarse a un clúster administrado, también se requiere el módulo de PowerShell "Az.Resources" para consultar la huella digital del certificado del servidor de clúster dinámico que debe enumerarse y usarse.
Para conectar el clúster de Service Fabric, use el siguiente ejemplo de comando de PowerShell:
Import-Module servicefabric
Import-Module Az.Resources
$clusterEndpoint = 'mysftestcluster.eastus.cloudapp.azure.com'
$clusterName = 'mysftestcluster'
$clusterResource = Get-AzResource -Name $clusterName -ResourceType 'Microsoft.ServiceFabric/managedclusters'
$serverCertThumbprint = $clusterResource.Properties.clusterCertificateThumbprints
Connect-ServiceFabricCluster -ConnectionEndpoint $clusterEndpoint `
-AzureActiveDirectory `
-ServerCertThumbprint $serverCertThumbprint `
-Verbose
Solución de problemas de configuración de Microsoft Entra ID
La configuración de Microsoft Entra ID y su uso pueden resultar difíciles. Aquí se presentan algunos indicadores sobre lo que puede hacer para depurar problemas.
Service Fabric Explorer le solicita que seleccione el certificado
Problema
Después de conectarse correctamente a Microsoft Entra ID en Service Fabric Explorer, el explorador vuelve a la página principal, pero un mensaje le pide que seleccione un certificado.
Motivo
El usuario no tiene asignado un rol en la aplicación de clúster de Microsoft Entra ID, por lo que se produce un error en la autenticación de Microsoft Entra en el clúster de Service Fabric. Service Fabric Explorer recurre a la autenticación de certificado.
Solución
Siga las instrucciones de configuración de Microsoft Entra ID y de asignación de roles de usuario. Además, se recomienda activar la opción Asignación de usuario necesaria para acceder a la aplicación, como hace SetupApplications.ps1
.
La conexión con PowerShell genera un error: "Las credenciales especificadas no son válidas".
Problema
Cuando usa PowerShell para conectarse al clúster mediante el modo de seguridad AzureActiveDirectory
, después de iniciar sesión correctamente en Microsoft Entra ID, se produce un error de conexión con el mensaje "Las credenciales especificadas no son válidas".
Solución
Siga las instrucciones de configuración de Microsoft Entra ID y de asignación de roles de usuario. Además, se recomienda activar la opción Asignación de usuario necesaria para acceder a la aplicación, como hace SetupApplications.ps1
.
Service Fabric Explorer devuelve el siguiente error al iniciar sesión: "AADSTS50011"
Problema
Al intentar iniciar sesión en Microsoft Entra ID en Service Fabric Explorer, la página devuelve el error: "AADSTS50011: la dirección <url> de respuesta no coincide con las direcciones de respuesta configuradas para la aplicación: <guid>".
Motivo
La aplicación del clúster (web) que representa Service Fabric Explorer intenta autenticarse en Microsoft Entra ID. Como parte de la solicitud, proporciona la URL de retorno de redireccionamiento. Pero la dirección URL no aparece en la lista URI de redireccionamiento de la aplicación de Microsoft Entra.
Solución
En la página de registro de aplicaciones de Microsoft Entra del clúster, seleccione Autenticación. En la sección URI de redireccionamiento, agregue la URL de Service Fabric Explorer a la lista. Guarde el cambio.
Al usar la autenticación de Microsoft Entra para conectarse al clúster a través de PowerShell se produce el error de inicio de sesión "AADSTS50011"
Problema
Cuando intenta conectarse a un clúster de Service Fabric con Microsoft Entra ID a través de PowerShell, la página de inicio de sesión devuelve un error: "AADSTS50011: la dirección URL de respuesta especificada en la solicitud no coincide con las direcciones URL de respuesta configuradas para la aplicación: <guid>".
Motivo
PowerShell intenta autenticarse en Microsoft Entra ID, que proporciona una dirección URL de redireccionamiento que no aparece en la lista de URI de respuesta de la aplicación de Microsoft Entra.
Solución
En la página de registro de aplicaciones de Microsoft Entra del clúster, seleccione Autenticación. En la sección URI de redireccionamiento, establezca la URL en urn:ietf:wg:oauth:2.0:oob
. Esta dirección URL es un redireccionamiento especial para la autenticación de la línea de comandos.
Preguntas más frecuentes
¿Se puede reutilizar el mismo inquilino de Microsoft Entra para varios clústeres?
Sí. Pero recuerde agregar la dirección URL de Service Fabric Explorer a la aplicación del clúster (web). De lo contrario, Service Fabric Explorer no funciona.
¿Por qué todavía necesito el certificado de servidor con Microsoft Entra ID habilitado?
FabricClient
y FabricGateway
realizan una autenticación mutua. Durante la autenticación de Microsoft Entra, la integración de Microsoft Entra proporciona una identidad del cliente al servidor y el cliente usa el certificado de servidor para comprobar la identidad del servidor. Para más información sobre cómo funciona el certificado en Service Fabric, consulte Certificados X.509 y Service Fabric.
Pasos siguientes
Después de configurar las aplicaciones de Microsoft Entra y establecer los roles para los usuarios, configure e implemente un clúster.