For the complete documentation index, see llms.txt. This page is also available as Markdown.

Autenticación por formularios

De forma predeterminada, el script de autenticación de formularios está configurado para aceptar el usuario Admin y cualquier contraseña. Puede configurar esta política de autenticación para interactuar con el sistema que desee. El script recibirá un objeto PSCredential que contiene el nombre de usuario y la contraseña introducidos por el usuario en la página de inicio de sesión.

La configuración de autenticación también se almacena con authentication.ps1

Para actualizar la autenticación de formularios, puede hacer clic en Configuración Seguridad y luego hacer clic en el botón Editar código de la autenticación de formularios.

Puede actualizar el script de PowerShell que se encuentra en la configuración para configurar cómo se autentica al usuario. Deberá devolver un New-PSUAuthenticationResult desde el script para indicar si el usuario se autenticó correctamente.

param(
    [PSCredential]$Credential
)

#
#   You can call whatever cmdlets you like to conduct authentication here.
#   Just make sure to return the $Result with the Success property set to $true
#

if ($Credential.UserName -eq 'Admin') 
{
    New-PSUAuthenticationResult -Success -UserName 'Admin'
}
else 
{
    New-PSUAuthenticationResult -ErrorMessage 'Bad username or password'
}

Establecer una contraseña

Puede comprobar la contraseña de la credencial utilizando el método GetNetworkCredential() de PSCredential.

Establecer claims

Durante la autenticación de formularios, puede establecer claims que estarán disponibles en las políticas de roles. Esto puede aportar una mejora de rendimiento al interactuar con sistemas remotos, ya que puede realizar una única búsqueda de claims y luego evaluarlos localmente en lugar de tener que hacer llamadas adicionales al sistema remoto.

Este ejemplo utiliza Active Directory para buscar la pertenencia a grupos y asignarla como claims que estarán disponibles en los scripts de roles.

En su fichero roles.ps1, podrá utilizar estos claims para validar la pertenencia a grupos.

Este ejemplo comprueba si el usuario forma parte del grupo SOC_Admins.

Variables

Estas son las variables definidas en los scripts de seguridad.

Nombre
Descripción
Tipo

$Cookies

Cookies proporcionadas en la solicitud HTTP del cliente.

hashtable

$Headers

Encabezados proporcionados en la solicitud HTTP del cliente.

hashtable

$LocalIpAddress

La dirección IP local de la solicitud.

string

$LocalPort

El puerto local de la solicitud.

string

$RemoteIpAddress

La dirección IP remota de la solicitud.

string

$RemotePort

El puerto remoto de la solicitud.

string

Autenticación básica

Al llamar a endpoints de API o a la API de gestión de PowerShell, puede utilizar la autenticación básica para pasar un nombre de usuario y una contraseña. Esto invocará los scripts de autenticación y autorización de formularios para validar el inicio de sesión. El nombre de usuario y la contraseña deben codificarse en Base64 con el formato username:password y enviarse en el encabezado Authorization con el prefijo Basic.

También puede utilizar el parámetro integrado -Credential en Invoke-RestMethod para evitar tener que codificar usted mismo las credenciales básicas. El $AdminCredential que aparece a continuación debe ser un PSCredential.

Inicio de sesión de Windows

Si activa el inicio de sesión nativo en el método de autenticación de formularios, PowerShell Universal intentará iniciar sesión en la máquina o el dominio actual utilizando las credenciales especificadas. Una vez iniciada la sesión, se recopilarán los grupos del usuario y se proporcionarán al sistema de autorización.

Puede configurar un dominio no predeterminado especificando el dominio de inicio de sesión nativo. Si no especifica este dominio, se utilizará el dominio predeterminado de la máquina o el dominio especificado por el usuario.

Registro en vivo

Puede utilizar la vista de registro en vivo en la página de autenticación para ver información sobre la ejecución del script. La vista de registro en vivo mostrará los flujos de PowerShell.

Última actualización

¿Te fue útil?