Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Inicio de sesión único con AWS SDK for .NET

Modo de enfoque
Inicio de sesión único con AWS SDK for .NET - SDK for .NET (versión 3)

¡La versión 4 (V4) del SDK for .NET está en versión preliminar! Para ver información sobre esta nueva versión en versión preliminar, consulta la Guía para desarrolladores AWS SDK for .NET (versión preliminar de la versión 4).

Ten en cuenta que la versión 4 del SDK está en versión preliminar, por lo que su contenido está sujeto a cambios.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

¡La versión 4 (V4) del SDK for .NET está en versión preliminar! Para ver información sobre esta nueva versión en versión preliminar, consulta la Guía para desarrolladores AWS SDK for .NET (versión preliminar de la versión 4).

Ten en cuenta que la versión 4 del SDK está en versión preliminar, por lo que su contenido está sujeto a cambios.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS IAM Identity Center es un servicio de inicio de sesión único (SSO) basado en la nube que facilita la administración centralizada del acceso SSO a todas sus aplicaciones y a las de la nube. Cuentas de AWS Para obtener más información, consulte la Guía del usuario de IAM Identity Center.

Si no está familiarizado con la forma en que un SDK interactúa con IAM Identity Center, consulte la siguiente información.

A un nivel alto, SDKs interactúe con el Centro de Identidad de IAM de una manera similar a la siguiente:

  1. IAM Identity Center se configura (normalmente, a través de la consola de IAM Identity Center) y se invita a un usuario de SSO a participar.

  2. El AWS config archivo compartido del ordenador del usuario se actualiza con la información del SSO.

  3. El usuario inicia sesión a través del Centro de identidad de IAM y recibe credenciales de corta duración para los permisos AWS Identity and Access Management (de IAM) que se le han configurado. Este inicio de sesión se puede iniciar mediante una herramienta ajena al SDK, como la AWS CLI, o mediante programación mediante una aplicación.NET.

  4. El usuario se pone a trabajar. Cuando ejecute otras aplicaciones que usen SSO, no necesitará volver a iniciar sesión para abrirlas.

A un nivel alto, SDKs interactúe con el Centro de Identidad de IAM de una manera similar a la siguiente:

  1. IAM Identity Center se configura (normalmente, a través de la consola de IAM Identity Center) y se invita a un usuario de SSO a participar.

  2. El AWS config archivo compartido del ordenador del usuario se actualiza con la información del SSO.

  3. El usuario inicia sesión a través del Centro de identidad de IAM y recibe credenciales de corta duración para los permisos AWS Identity and Access Management (de IAM) que se le han configurado. Este inicio de sesión se puede iniciar mediante una herramienta ajena al SDK, como la AWS CLI, o mediante programación mediante una aplicación.NET.

  4. El usuario se pone a trabajar. Cuando ejecute otras aplicaciones que usen SSO, no necesitará volver a iniciar sesión para abrirlas.

En lo que queda de este tema se proporciona información de referencia para configurar y usar AWS IAM Identity Center. Muestra información complementaria y más avanzada que la configuración básica de SSO suministrada en Configuración de la autenticación de SDK. Si es la primera vez que utilizas el SSO AWS, te recomendamos que consultes primero ese tema para obtener información fundamental y, después, consultes los siguientes tutoriales para ver el SSO en acción:

Este tema contiene las siguientes secciones:

Requisitos previos

Antes de utilizar el Centro de identidades de IAM, debe realizar determinadas tareas, como elegir una fuente de identidad y configurar las aplicaciones y aplicaciones pertinentes Cuentas de AWS . Para obtener más información, consulte los siguientes temas:

  • Para obtener información general sobre estas tareas, consulte Introducción en la Guía del usuario de IAM Identity Center.

  • Para ver ejemplos concretos de tareas, consulte la lista de tutoriales al final de este tema. No obstante, procure revisar la información de este tema antes de probar con los tutoriales.

Configuración de un perfil de SSO

Una vez configurado el Centro de Identidad de IAM en la ubicación correspondiente Cuenta de AWS, se debe añadir un perfil con nombre para el inicio de sesión único al archivo compartido del usuario. AWS config Este perfil se utiliza para conectarse al portal de acceso a AWS, donde se obtienen unas credenciales de duración limitada de los permisos de IAM configurados para el usuario.

El archivo config suele denominarse %USERPROFILE%\.aws\config en Windows y ~/.aws/config en Linux y macOS. Puede usar el editor de texto de su elección para agregar un nuevo perfil de SSO. También puede utilizar el comando aws configure sso. Para obtener más información sobre este comando, consulte Configurar la AWS CLI para usar IAM Identity Center en la Guía del usuario de AWS Command Line Interface .

El nuevo perfil es similar al siguiente:

[profile my-sso-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-west-2 sso_account_id = 123456789012 sso_role_name = SSOReadOnlyRole

A continuación se definen los ajustes del nuevo perfil. Los dos primeros ajustes definen el portal de AWS acceso. Los otros dos ajustes son unos ajustes que, en conjunto, definen los permisos que se han configurado para un usuario. Estos cuatro ajustes son obligatorios.

sso_start_url

URL que apunta al portal de acceso de AWS de la organización. Para encontrar este valor, abra la consola de IAM Identity Center, seleccione Configuración y busque URL de portal.

sso_region

El Región de AWS que contiene el host del portal de acceso. Es la región que se seleccionó al habilitar IAM Identity Center. Puede ser una región distinta de las que se usan en otras tareas.

Para obtener una lista completa de ellos Regiones de AWS y sus códigos, consulte los puntos finales regionales en el Referencia general de Amazon Web Services.

sso_account_id

El ID de un elemento Cuenta de AWS que se agregó a través del AWS Organizations servicio. Para ver la lista de cuentas disponibles, vaya a la consola del IAM Identity Center y abra la página Cuentas de AWS. El ID de cuenta que seleccione en este ajuste se corresponderá con el valor que tenga pensado asignar al ajuste sso_role_name, que se muestra a continuación.

sso_role_name

Nombre de un conjunto de permisos de IAM Identity Center. Este conjunto de permisos define los permisos que se otorgan a un usuario a través de IAM Identity Center.

El siguiente procedimiento es una de las formas para encontrar el valor de este ajuste.

  1. Vaya a la consola de IAM Identity Center y abra la página Cuentas de AWS.

  2. Seleccione una cuenta para ver sus detalles. La cuenta que seleccione será la que contenga el usuario o grupo de SSO al que quiera conceder permisos de SSO.

  3. Consulte la lista de usuarios y grupos asignados a la cuenta y busque el usuario o grupo de su interés. El conjunto de permisos que especifique en el ajuste sso_role_name es uno de los conjuntos asociados a este usuario o grupo.

Al asignar un valor a este ajuste, utilice el nombre del conjunto de permisos, no el nombre de recurso de Amazon (ARN).

Los conjuntos de permisos tienen asociadas políticas de IAM y políticas de permisos personalizados. Para obtener más información, consulte Conjuntos de permisos en la Guía del usuario de IAM Identity Center.

Generación y uso de tokens de SSO

Para usar el SSO, el usuario primero debe generar un token temporal y, a continuación, usarlo para acceder a AWS las aplicaciones y los recursos correspondientes. En el caso de las aplicaciones .NET, puede utilizar los siguientes métodos para generar y utilizar los siguientes tokens temporales:

  • Crear aplicaciones .NET que generen primero un token (si es necesario) y, luego, usar el token

  • Genere un token con el AWS CLI y, a continuación, utilícelo en las aplicaciones.NET.

Estos métodos se describen en las siguientes secciones y se explican en los tutoriales.

importante

La aplicación debe hacer referencia a los siguientes NuGet paquetes para que la resolución del SSO funcione:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

Si no se hace referencia a estos paquetes, se producirá una excepción de tiempo de ejecución.

En esta sección se muestra cómo crear una aplicación .NET que genera un token de SSO temporal, si es necesario, y luego lo usa. Para ver un tutorial completo de este proceso, consulte Tutorial de SSO utilizando únicamente aplicaciones .NET.

Generación y uso de un token de SSO mediante programación

Además de usar el AWS CLI, también puedes generar un token de SSO mediante programación.

Para ello, la aplicación crea un objeto AWSCredentials del perfil de SSO, que carga las credenciales temporales, si las hay. A continuación, la aplicación debe convertir el objeto AWSCredentials en un objeto SSOAWSCredentials y establecer algunas propiedades en Opciones, incluido el método de devolución de llamada que se usará para solicitar al usuario la información de inicio de sesión, si es necesario.

Este método se muestra en el siguiente fragmento de código.

importante

La aplicación debe hacer referencia a los siguientes NuGet paquetes para que la resolución del SSO funcione:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

Si no se hace referencia a estos paquetes, se producirá una excepción de tiempo de ejecución.

static AWSCredentials LoadSsoCredentials() { var chain = new CredentialProfileStoreChain(); if (!chain.TryGetAWSCredentials("my-sso-profile", out var credentials)) throw new Exception("Failed to find the my-sso-profile profile"); var ssoCredentials = credentials as SSOAWSCredentials; ssoCredentials.Options.ClientName = "Example-SSO-App"; ssoCredentials.Options.SsoVerificationCallback = args => { // Launch a browser window that prompts the SSO user to complete an SSO sign-in. // This method is only invoked if the session doesn't already have a valid SSO token. // NOTE: Process.Start might not support launching a browser on macOS or Linux. If not, // use an appropriate mechanism on those systems instead. Process.Start(new ProcessStartInfo { FileName = args.VerificationUriComplete, UseShellExecute = true }); }; return ssoCredentials; }

Si no hay un token de inicio de sesión único apropiado disponible, se abre la ventana del navegador predeterminada y la página de inicio de sesión correspondiente. Por ejemplo, si utiliza IAM Identity Center como origen de identidad, el usuario verá una página de inicio de sesión similar a la siguiente:

AWS IAM Identity Center página de inicio de sesión.
nota

La cadena de texto de SSOAWSCredentials.Options.ClientName que proporcione no puede tener espacios. Si la cadena tiene espacios, se producirá una excepción de tiempo de ejecución.

Tutorial de SSO utilizando únicamente aplicaciones .NET

En esta sección se muestra cómo crear una aplicación .NET que genera un token de SSO temporal, si es necesario, y luego lo usa. Para ver un tutorial completo de este proceso, consulte Tutorial de SSO utilizando únicamente aplicaciones .NET.

Generación y uso de un token de SSO mediante programación

Además de usar el AWS CLI, también puedes generar un token de SSO mediante programación.

Para ello, la aplicación crea un objeto AWSCredentials del perfil de SSO, que carga las credenciales temporales, si las hay. A continuación, la aplicación debe convertir el objeto AWSCredentials en un objeto SSOAWSCredentials y establecer algunas propiedades en Opciones, incluido el método de devolución de llamada que se usará para solicitar al usuario la información de inicio de sesión, si es necesario.

Este método se muestra en el siguiente fragmento de código.

importante

La aplicación debe hacer referencia a los siguientes NuGet paquetes para que la resolución del SSO funcione:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

Si no se hace referencia a estos paquetes, se producirá una excepción de tiempo de ejecución.

static AWSCredentials LoadSsoCredentials() { var chain = new CredentialProfileStoreChain(); if (!chain.TryGetAWSCredentials("my-sso-profile", out var credentials)) throw new Exception("Failed to find the my-sso-profile profile"); var ssoCredentials = credentials as SSOAWSCredentials; ssoCredentials.Options.ClientName = "Example-SSO-App"; ssoCredentials.Options.SsoVerificationCallback = args => { // Launch a browser window that prompts the SSO user to complete an SSO sign-in. // This method is only invoked if the session doesn't already have a valid SSO token. // NOTE: Process.Start might not support launching a browser on macOS or Linux. If not, // use an appropriate mechanism on those systems instead. Process.Start(new ProcessStartInfo { FileName = args.VerificationUriComplete, UseShellExecute = true }); }; return ssoCredentials; }

Si no hay un token de inicio de sesión único apropiado disponible, se abre la ventana del navegador predeterminada y la página de inicio de sesión correspondiente. Por ejemplo, si utiliza IAM Identity Center como origen de identidad, el usuario verá una página de inicio de sesión similar a la siguiente:

AWS IAM Identity Center página de inicio de sesión.
nota

La cadena de texto de SSOAWSCredentials.Options.ClientName que proporcione no puede tener espacios. Si la cadena tiene espacios, se producirá una excepción de tiempo de ejecución.

Tutorial de SSO utilizando únicamente aplicaciones .NET

En esta sección, se muestra cómo generar un token de SSO temporal mediante el AWS CLI token y cómo usarlo en una aplicación. Para ver un tutorial completo de este proceso, consulte Tutorial para el inicio de sesión único mediante AWS CLI las aplicaciones y.NET.

Genera un token de SSO mediante el AWS CLI

Además de generar un token de SSO temporal mediante programación, se utiliza AWS CLI para generar el token. La siguiente información describe cómo hacerlo.

Una vez que el usuario crea un perfil habilitado para SSO, como se muestra en la sección anterior, este ejecuta el comando aws sso login desde AWS CLI. Debe asegurarse de incluir el parámetro --profile con el nombre del perfil habilitado para SSO. Esto se muestra en el siguiente ejemplo:

aws sso login --profile my-sso-profile

Si el usuario quiere generar un nuevo token temporal después de que caduque el actual, puede volver a ejecutar el mismo comando.

Uso del token de SSO generado en una aplicación .NET

La siguiente información muestra cómo utilizar un token temporal que ya se ha generado.

importante

Tu aplicación debe hacer referencia a los siguientes NuGet paquetes para que la resolución del SSO funcione:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

Si no se hace referencia a estos paquetes, se producirá una excepción de tiempo de ejecución.

La aplicación crea un objeto AWSCredentials para el perfil de SSO, que carga las credenciales temporales generadas anteriormente por AWS CLI. Esto es similar a los métodos que se muestran en Acceso a las credenciales y perfiles en una aplicación y presenta el siguiente formato:

static AWSCredentials LoadSsoCredentials() { var chain = new CredentialProfileStoreChain(); if (!chain.TryGetAWSCredentials("my-sso-profile", out var credentials)) throw new Exception("Failed to find the my-sso-profile profile"); return credentials; }

A continuación, el objeto AWSCredentials se pasa al constructor de un cliente de servicio. Por ejemplo:

var S3Client_SSO = new AmazonS3Client(LoadSsoCredentials());
nota

No es necesario usar AWSCredentials para cargar credenciales temporales si la aplicación se ha creado para usar el perfil [default] para SSO. En ese caso, la aplicación puede crear clientes de AWS servicio sin parámetros, de forma similar a "var client = new AmazonS3Client();».

Tutorial para el inicio de sesión único mediante AWS CLI las aplicaciones y.NET

En esta sección, se muestra cómo generar un token de SSO temporal mediante el AWS CLI token y cómo usarlo en una aplicación. Para ver un tutorial completo de este proceso, consulte Tutorial para el inicio de sesión único mediante AWS CLI las aplicaciones y.NET.

Genera un token de SSO mediante el AWS CLI

Además de generar un token de SSO temporal mediante programación, se utiliza AWS CLI para generar el token. La siguiente información describe cómo hacerlo.

Una vez que el usuario crea un perfil habilitado para SSO, como se muestra en la sección anterior, este ejecuta el comando aws sso login desde AWS CLI. Debe asegurarse de incluir el parámetro --profile con el nombre del perfil habilitado para SSO. Esto se muestra en el siguiente ejemplo:

aws sso login --profile my-sso-profile

Si el usuario quiere generar un nuevo token temporal después de que caduque el actual, puede volver a ejecutar el mismo comando.

Uso del token de SSO generado en una aplicación .NET

La siguiente información muestra cómo utilizar un token temporal que ya se ha generado.

importante

Tu aplicación debe hacer referencia a los siguientes NuGet paquetes para que la resolución del SSO funcione:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

Si no se hace referencia a estos paquetes, se producirá una excepción de tiempo de ejecución.

La aplicación crea un objeto AWSCredentials para el perfil de SSO, que carga las credenciales temporales generadas anteriormente por AWS CLI. Esto es similar a los métodos que se muestran en Acceso a las credenciales y perfiles en una aplicación y presenta el siguiente formato:

static AWSCredentials LoadSsoCredentials() { var chain = new CredentialProfileStoreChain(); if (!chain.TryGetAWSCredentials("my-sso-profile", out var credentials)) throw new Exception("Failed to find the my-sso-profile profile"); return credentials; }

A continuación, el objeto AWSCredentials se pasa al constructor de un cliente de servicio. Por ejemplo:

var S3Client_SSO = new AmazonS3Client(LoadSsoCredentials());
nota

No es necesario usar AWSCredentials para cargar credenciales temporales si la aplicación se ha creado para usar el perfil [default] para SSO. En ese caso, la aplicación puede crear clientes de AWS servicio sin parámetros, de forma similar a "var client = new AmazonS3Client();».

Tutorial para el inicio de sesión único mediante AWS CLI las aplicaciones y.NET

Recursos adicionales

Para obtener más ayuda, consulte los recursos siguientes:

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.