Configuración de la autenticación de SDK con AWS - AWS SDK for .NET

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.

Configuración de la autenticación de SDK con AWS

Debe establecer cómo se autentica el código con AWS cuando se desarrolla con Servicios de AWS. Existen diferentes formas de configurar el acceso programático a los recursos de AWS, en función del entorno y el acceso a AWS del que disponga.

Para ver varios métodos de autenticación de SDK, consulte Autenticación y acceso en la Guía de referencia de herramientas y AWS SDK.

En este tema se da por sentado que un nuevo usuario desarrolla su actividad a nivel local, que el empleador no le ha proporcionado un método de autenticación y que utilizará AWS IAM Identity Center para obtener credenciales temporales. Si el entorno no se basa en estos supuestos, es posible que parte de la información de este tema no se aplique a su caso o que ya se le haya proporcionado parte de la información.

La configuración de este entorno requiere varios pasos, que se resumen de la siguiente manera:

Habilitar y configurar el Centro de identidades de IAM

Para usar IAM Identity Center, primero debe estar habilitado y configurado. Para obtener más información sobre cómo hacer esto para SDK, consulte el Paso 1 de Autenticación de IAM Identity Center en la Guía de referencia de herramientas y AWS SDK. En concreto, siga las instrucciones necesarias en No he establecido el acceso a través del Centro de identidades de IAM.

Configuración de SDK para usar IAM Identity Center

Encontrará información sobre cómo configurar SDK para usar IAM Identity Center en el Paso 2 de Autenticación de IAM Identity Center en la Guía de referencia de herramientas y AWS SDK. Tras completar esta configuración, el sistema debe contener los siguientes elementos:

  • La AWS CLI, que se utiliza para iniciar una sesión en el portal de acceso a AWS antes de ejecutar la aplicación.

  • El archivo config de AWS compartido contiene un perfil [default] con un conjunto de valores de configuración a los que se puede hacer referencia desde SDK. Para encontrar la ubicación de este archivo, consulte Ubicación de los archivos compartidos en la Guía de referencia de herramientas y AWS SDK. AWS SDK for .NET utiliza el proveedor de token de SSO del perfil para obtener credenciales antes de enviar solicitudes a AWS. El valor sso_role_name, que es un rol de IAM conectado a un conjunto de permisos del Centro de identidades de IAM, debería permitir el acceso a los Servicios de AWS utilizados en la aplicación.

    El siguiente archivo config de ejemplo muestra la configuración de un perfil predeterminado con el proveedor de token de SSO. La configuración sso_session del perfil hace referencia a la sección sso-session nombrada. La sección sso-session contiene la configuración para iniciar una sesión en el portal de acceso a AWS.

    [default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://provided-domain.awsapps.com/start sso_registration_scopes = sso:account:access
importante

Si utiliza AWS IAM Identity Center para la autenticación, la aplicación debe hacer referencia a los siguientes paquetes NuGet para que la resolución de SSO funcione:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

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

Iniciar una sesión en el portal de acceso a AWS

Antes de ejecutar una aplicación que accede a Servicios de AWS, necesita una sesión activa en el portal de acceso a AWS para que SDK utilice la autenticación del IAM Identity Center para resolver las credenciales. En función de la duración de las sesiones configuradas, el acceso terminará por caducar y SDK detectará un error de autenticación. Para iniciar sesión en el portal de acceso a AWS, ejecute el siguiente comando en la AWS CLI.

aws sso login

Como tiene una configuración de perfil predeterminada, no necesita llamar al comando con una opción --profile. Si la configuración del proveedor de token de SSO utiliza un perfil con nombre, el comando es aws sso login --profile named-profile.

Para comprobar si ya tiene una sesión activa, ejecute el siguiente comando de la AWS CLI.

aws sts get-caller-identity

La respuesta a este comando debe indicar la cuenta y el conjunto de permisos del Centro de identidades de IAM configurados en el archivo compartido config.

nota

Si ya tiene una sesión activa en el portal de acceso a AWS y ejecuta aws sso login, no tendrá que proporcionar credenciales.

Es posible que el proceso de inicio de sesión le permita el acceso de la AWS CLI a los datos. Como la AWS CLI se ha creado con el SDK para Python, los mensajes de permiso pueden contener variaciones del nombre botocore.

Información adicional

  • Para obtener más información sobre cómo usar IAM Identity Center y el SSO en un entorno de desarrollo, consulte Inicio de sesión único en la sección Autenticación avanzada. Esta información incluye métodos alternativos y más avanzados, así como tutoriales que muestran cómo utilizar estos métodos.

  • Para obtener más opciones de autenticación para SDK, como el uso de perfiles y variables de entorno, consulte el capítulo de configuración de la Guía de referencia de herramientas y AWS SDK.

  • Para obtener más información sobre las prácticas recomendadas, consulte Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.

  • Para crear credenciales de AWS de corta duración, consulte Credenciales de seguridad temporales en la Guía del usuario de IAM.

  • Para obtener más información sobre otros proveedores de credenciales, consulte los proveedores de credenciales estandarizados en la Guía de referencia de herramientas y AWS SDK.