Skip to main content
SnapCenter software
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Administrar la autenticación multifactor (MFA) mediante Rest API, PowerShell y SCCLI

El inicio de sesión MFA es compatible con el navegador, la API REST, PowerShell y SCCLI. MFA se admite a través de un administrador de identidad AD FS. Puede habilitar MFA, deshabilitar MFA y configurar MFA desde GUI, API REST, PowerShell y SCCLI.

Configurar AD FS como OAuth/OIDC

Configurar AD FS mediante el asistente de GUI de Windows

  1. Vaya a Panel del administrador del servidor > Herramientas > Administración de ADFS.

  2. Vaya a ADFS > Grupos de aplicaciones.

    1. Haga clic derecho en Grupos de aplicaciones.

    2. Seleccione Agregar grupo de aplicaciones e ingrese Nombre de la aplicación.

    3. Seleccione Aplicación de servidor.

    4. Haga clic en Siguiente.

  3. Copiar Identificador de cliente.

    Este es el ID del cliente. .. Agregue URL de devolución de llamada (URL del servidor SnapCenter ) en URL de redireccionamiento. .. Haga clic en Siguiente.

  4. Seleccione Generar secreto compartido.

    Copiar el valor secreto. Éste es el secreto del cliente. .. Haga clic en Siguiente.

  5. En la página Resumen, haga clic en Siguiente.

    1. En la página Completa, haga clic en Cerrar.

  6. Haga clic derecho en el Grupo de aplicaciones recién agregado y seleccione Propiedades.

  7. Seleccione Agregar aplicación en Propiedades de la aplicación.

  8. Haga clic en Agregar aplicación.

    Seleccione API web y haga clic en Siguiente.

  9. En la página Configurar API web, ingrese la URL del servidor SnapCenter y el identificador de cliente creado en el paso anterior en la sección Identificador.

    1. Haga clic en Agregar.

    2. Haga clic en Siguiente.

  10. En la página Elegir política de control de acceso, seleccione la política de control según sus requisitos (por ejemplo, Permitir a todos y requerir MFA) y haga clic en Siguiente.

  11. En la página Configurar permiso de aplicación, de manera predeterminada se selecciona openid como alcance; haga clic en Siguiente.

  12. En la página Resumen, haga clic en Siguiente.

    En la página Completa, haga clic en Cerrar.

  13. En la página Propiedades de la aplicación de muestra, haga clic en Aceptar.

  14. Token JWT emitido por un servidor de autorización (AD FS) y destinado a ser consumido por el recurso.

    La reclamación 'aud' o de audiencia de este token debe coincidir con el identificador del recurso o la API web.

  15. Edite la WebAPI seleccionada y verifique que la URL de devolución de llamada (URL del servidor SnapCenter ) y el identificador del cliente se hayan agregado correctamente.

    Configure OpenID Connect para proporcionar un nombre de usuario como reclamo.

  16. Abra la herramienta Administración de AD FS ubicada en el menú Herramientas en la parte superior derecha del Administrador del servidor.

    1. Seleccione la carpeta Grupos de aplicaciones en la barra lateral izquierda.

    2. Seleccione la API web y haga clic en EDITAR.

    3. Ir a la pestaña Reglas de transformación de emisión

  17. Haga clic en Agregar regla.

    1. Seleccione Enviar atributos LDAP como reclamos en el menú desplegable Plantilla de regla de reclamo.

    2. Haga clic en Siguiente.

  18. Introduzca el nombre de la regla de reclamación.

    1. Seleccione Active Directory en el menú desplegable Almacén de atributos.

    2. Seleccione Nombre principal del usuario en el menú desplegable Atributo LDAP y UPN en el menú desplegable Tipo de reclamación saliente.

    3. Haga clic en Finalizar.

Crear un grupo de aplicaciones mediante comandos de PowerShell

Puede crear el grupo de aplicaciones, la API web y agregar el alcance y las notificaciones mediante comandos de PowerShell. Estos comandos están disponibles en formato de script automatizado. Para obtener más información, consulte el <enlace al artículo de Knowledge Base>.

  1. Cree el nuevo grupo de aplicaciones en AD FS utilizando el siguiente comando.

    New-AdfsApplicationGroup -Name $ClientRoleIdentifier -ApplicationGroupIdentifier $ClientRoleIdentifier

    `ClientRoleIdentifier`nombre de su grupo de aplicaciones

    `redirectURL`URL válida para redirección después de la autorización

  2. Cree la aplicación de servidor AD FS y genere el secreto de cliente.

    Add-AdfsServerApplication -Name "$ClientRoleIdentifier - Server app" -ApplicationGroupIdentifier $ClientRoleIdentifier -RedirectUri $redirectURL -Identifier $identifier -GenerateClientSecret

  3. Cree la aplicación API web de ADFS y configure el nombre de política que debe utilizar.

    $identifier = (New-Guid).Guid

    Add-AdfsWebApiApplication -ApplicationGroupIdentifier $ClientRoleIdentifier -Name "App Web API"

    -Identifier $identifier -AccessControlPolicyName "Permit everyone"

  4. Obtenga el ID del cliente y el secreto del cliente de la salida de los siguientes comandos porque solo se muestran una vez.

    "client_id = $identifier"

    "client_secret: "$($ADFSApp.ClientSecret)

  5. Otorgue a la aplicación AD FS los permisos allatclaims y openid.

    Grant-AdfsApplicationPermission -ClientRoleIdentifier $identifier -ServerRoleIdentifier $identifier -ScopeNames @('openid')

    $transformrule = @"

    @RuleTemplate = "LdapClaims"

    @RuleName = "AD User properties and Groups"

    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer ==

    "AD AUTHORITY"]

    ⇒ issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = ";userPrincipalName;{0}", param = c.Value);

    "@

  6. Escriba el archivo de reglas de transformación.

    $transformrule |Out-File -FilePath .\issueancetransformrules.tmp -force -Encoding ascii $relativePath = Get-Item .\issueancetransformrules.tmp

  7. Nombre la aplicación de API web y defina sus reglas de transformación de emisión utilizando un archivo externo.

    Set-AdfsWebApiApplication -Name "$ClientRoleIdentifier - Web API" -TargetIdentifier

    $identifier -Identifier $identifier,$redirectURL -IssuanceTransformRulesFile

    $relativePath

Actualizar el tiempo de expiración del token de acceso

Puede actualizar el tiempo de expiración del token de acceso mediante el comando de PowerShell.

Acerca de esta tarea

  • Un token de acceso solo se puede utilizar para una combinación específica de usuario, cliente y recurso. Los tokens de acceso no se pueden revocar y son válidos hasta su vencimiento.

  • De forma predeterminada, el tiempo de expiración de un token de acceso es de 60 minutos. Este tiempo mínimo de expiración es suficiente y escalable. Debe proporcionar valor suficiente para evitar que se realicen trabajos críticos para el negocio.

Paso

Para actualizar el tiempo de vencimiento del token de acceso para un grupo de aplicaciones WebApi, use el siguiente comando en el servidor AD FS.

+ Set-AdfsWebApiApplication -TokenLifetime 3600 -TargetName "<Web API>"

Obtener el token portador de AD FS

Debe completar los parámetros mencionados a continuación en cualquier cliente REST (como Postman) y le solicitará que complete las credenciales del usuario. Además, debes ingresar la autenticación de segundo factor (algo que tienes y algo que eres) para obtener el token de portador.

+ La validez del token portador se puede configurar desde el servidor AD FS por aplicación y el período de validez predeterminado es de 60 minutos.

Campo

Valor

Tipo de subvención

Código de autorización

URL de devolución de llamada

Ingrese la URL base de su aplicación si no tiene una URL de devolución de llamada.

URL de autorización

[nombre-de-dominio-adfs]/adfs/oauth2/authorize

URL del token de acceso

[nombre-de-dominio-adfs]/adfs/oauth2/token

ID de cliente

Introduzca el ID del cliente de AD FS

Secreto del cliente

Ingrese el secreto del cliente de AD FS

Alcance

OpenID

Autenticación del cliente

Enviar como encabezado de autenticación básico

Recurso

En la pestaña Opciones avanzadas, agregue el campo Recurso con el mismo valor que la URL de devolución de llamada, que viene como un valor “aud” en el token JWT.