Credenciales de propagación de identidades de confianza del navegador - Amazon Athena

Credenciales de propagación de identidades de confianza del navegador

Este tipo de autenticación permite obtener un nuevo token web JSON (JWT) de un proveedor de identidades externo y se autentica con Athena. Se puede usar este complemento para habilitar la compatibilidad con identidades corporativas mediante la propagación de identidad de confianza. Para obtener más información sobre cómo utilizar la propagación de identidad de confianza con controladores, consulte Uso de la propagación de identidad de confianza con controladores de Amazon Athena. También puede configurar e implementar recursos mediante CloudFormation.

Con la propagación de identidad de confianza, se agrega el contexto de identidad a un rol de IAM para identificar al usuario que solicita acceso a los recursos de AWS. Para obtener información sobre cómo habilitar y usar la propagación de identidad de confianza, consulte ¿Qué es la propagación de identidad de confianza?.

nota

El complemento está diseñado específicamente para entornos de escritorio de un solo usuario. En entornos compartidos como Windows Server, los administradores del sistema son responsables de establecer y mantener los límites de seguridad entre los usuarios.

Tipo de autenticación

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
AuthenticationType Obligatorio none AuthenticationType=BrowserOidcTip;

URL de configuración conocida de IdP

La URL de configuración conocida de IdP es el punto de conexión que proporciona los detalles de configuración de OpenID Connect para su proveedor de identidades. Por lo general, esta URL termina por .well-known/openid-configuration y contiene metadatos esenciales sobre los puntos de conexión de autenticación, las características compatibles y las claves de firma de token. Por ejemplo, si utiliza Okta, la URL podría tener este aspecto: https://your-domain.okta.com/.well-known/openid-configuration.

Para solucionar problemas: si recibe errores de conexión, compruebe que se puede acceder a esta URL desde su red y que devuelva un JSON de configuración de OpenID Connect válido. El cliente en el que esté instalado el controlador debe poder acceder a la URL y debe proporcionarla el administrador del proveedor de identidades.

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
IdpWellKnownConfigurationUrl Obligatorio none IdpWellKnownConfigurationUrl=https://<your-domain>/.well-known/openid-configuration;

Identificador de clientes

El identificador de clientes emitido a la aplicación por el proveedor de OpenID Connect.

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
client_id Obligatorio none client_id=00001111-aaaa-2222-bbbb-3333cccc4444;

ARN del grupo de trabajo

El nombre de recurso de Amazon (ARN) del grupo de trabajo de Amazon Athena que contiene las etiquetas de configuración de propagación de identidades de confianza. Para obtener información acerca de los grupos de trabajo, consulte Grupo de trabajo.

nota

Este parámetro es diferente del parámetro Workgroup que especifica dónde se ejecutarán las consultas. Debe establecer ambos parámetros:

  • WorkgroupArn: señala el grupo de trabajo que contiene las etiquetas de configuración de propagación de identidades de confianza.

  • Workgroup: especifica el grupo de trabajo en el que se ejecutarán las consultas.

Si bien suelen hacer referencia al mismo grupo de trabajo, ambos parámetros deben configurarse de forma explícita para que funcionen correctamente.

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
WorkGroupArn Obligatorio none WorkgroupArn=arn:aws:athena:us-west-2:111122223333:workgroup/primary

ARN de rol de aplicación JWT

El ARN del rol que se asumirá en el intercambio de JWT. Este rol se utiliza para el intercambio de JWT, la obtención del ARN de la aplicación administrada por el cliente de IAM Identity Center mediante etiquetas de grupos de trabajo y la obtención del ARN de rol de acceso. Para obtener más información sobre cómo asumir roles, consulte AssumeRole.

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
ApplicationRoleArn Obligatorio none ApplicationRoleArn=arn:aws:iam::111122223333:role/applicationRole;

Nombre de sesión de rol

Un nombre para la sesión de IAM. Puede ser cualquier valor, pero normalmente se transfiere el nombre o identificador asociado con el usuario que utiliza la aplicación. De esa manera, las credenciales de seguridad temporales que la aplicación usará se asocian con ese usuario.

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
role_session_name Obligatorio none role_session_name=familiarname;

Secreto del cliente

El secreto del cliente es una clave confidencial emitida por su proveedor de identidades que se utiliza para autenticar su aplicación. Si bien este parámetro es opcional y puede que no sea obligatorio para todos los flujos de autenticación, proporciona una capa de seguridad adicional cuando se usa. Si la configuración de su IDP requiere un secreto de cliente, debe incluir este parámetro con el valor proporcionado por el administrador del proveedor de identidades.

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
client_secret Opcional none client_secret=s0m3R@nd0mS3cr3tV@lu3Th@tS3cur3lyPr0t3ct5Th3Cl13nt;!

Ámbito

El ámbito especifica el nivel de acceso que la aplicación solicita al proveedor de identidades. Debe incluir openid en el ámbito para recibir un token de ID que contenga las notificaciones de identidad esenciales del usuario. Es posible que el ámbito deba incluir permisos adicionales, como email o profile, según en qué notificaciones de usuario esté configurado su proveedor de identidades (como Microsoft Entra ID) para incluir en el token de ID. Estas notificaciones son esenciales para una asignación adecuada de la propagación de identidades de confianza. Si la asignación de identidades de los usuarios no funciona, compruebe que su ámbito incluya todos los permisos necesarios y que su proveedor de identidades esté configurado para incluir las notificaciones necesarias en el token de ID. Estas notificaciones deben coincidir con la configuración de asignación de emisores de tokens de confianza en IAM Identity Center.

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
Ámbito Opcional openid email offline_access Scope=openid email;

Duración de la sesión

La duración de la sesión del rol en segundos. Para obtener más información, consulte AssumeRoleWithWebIdentity.

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
duración Opcional 3600 duration=900;

ARN del rol de acccceso JWT

El ARN del rol que Athena asume para realizar llamadas en su nombre. Para obtener más información sobre cómo asumir roles, consulte AssumeRole en la Referencia de la API de AWS Security Token Service.

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
AccessRoleArn Opcional none AccessRoleArn=arn:aws:iam::111122223333:role/accessRole;

ARN de la aplicación administrada por el cliente de IAM Identity Center

El ARN de la aplicación de IDC administrada por el cliente de IAM Identity Center. Para obtener más información sobre las aplicaciones administradas por el cliente, consulte aplicaciones administradas por el cliente.

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
CustomerIdcApplicationArn Opcional none CustomerIdcApplicationArn=arn:aws:sso::111122223333:application/ssoins-111122223333/apl-111122223333;

Número del puerto del proveedor de identidades

El número de puerto local que se utilizará para el servidor de devolución de llamadas de OAuth 2.0. Se usa como redirect_uri y tendrá que incluirlo en una lista de permisos en su aplicación de IdP. El redirect_uri generado de forma predeterminada es: http://localhost:7890/athena

aviso

En entornos compartidos, como servidores de terminales Windows o servicios de escritorio remoto, el puerto de bucle invertido (valor predeterminado: 7890) se comparte entre todos los usuarios de la misma máquina. Los administradores de sistemas pueden mitigar los posibles riesgos de secuestro de puertos de la siguiente manera:

  • Configuración de diferentes números de puerto para diferentes grupos de usuarios

  • Uso de las políticas de seguridad de Windows para restringir el acceso a los puertos

  • Implementación del aislamiento de la red entre las sesiones de usuario

Si estos controles de seguridad no se pueden implementar, recomendamos utilizar en su lugar el complemento de propagación de identidades de confianza de JWT, que no requiere un puerto de bucle invertido.

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
listen_port Opcional 7890 listen_port=8080;

Tiempo de respuesta del proveedor de identidad

El tiempo de espera en segundos para esperar la respuesta de devolución de llamada de OAuth 2.0.

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
IdpResponseTimeout Opcional 120 IdpResponseTimeout=140;

Habilitar la caché de los archivos

El parámetro JwtTipFileCache determina si el controlador almacena en caché el token de autenticación entre las conexiones. Si se establece JwtTipFileCache en true, se reducen las peticiones de autenticación y se mejora la experiencia del usuario, pero se debe utilizar con precaución. Esta configuración es la más adecuada para entornos de escritorio de un solo usuario. En entornos compartidos, como Windows Server, se recomienda mantener esta opción deshabilitada para evitar el posible intercambio de tokens entre usuarios con cadenas de conexión similares.

Para las implementaciones empresariales que utilizan herramientas como PowerBI Server, recomendamos utilizar el complemento de propagación de identidades de confianza de JWT en lugar de este método de autenticación.

Nombre de la cadena de conexión Tipo de parámetro Predeterminado Ejemplo de la cadena de conexión
JwtTipFileCache Opcional 0 JwtTipFileCache=1;