Configuración básica - AWS SDK para Kotlin

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 básica

Descripción general

Para desarrollar correctamente aplicaciones a las que se acceda Servicios de AWS mediante el AWS SDK para Kotlin, se deben cumplir los siguientes requisitos.

  • Una sesión activa en el portal de AWS acceso cuando esté listo para ejecutar la aplicación. Se utiliza AWS Command Line Interface para iniciar el proceso de inicio de sesión en el portal de AWS acceso del Centro de Identidad de IAM.

importante

En las instrucciones de esta sección de configuración se supone que usted o su organización utilizan el Centro de identidad de IAM. Si su organización utiliza un proveedor de identidad externo que funciona de forma independiente del Centro de Identidad de IAM, averigüe cómo puede obtener credenciales temporales para el SDK para que las utilice Kotlin. Sigue estas instrucciones para añadir credenciales temporales al ~/.aws/credentials archivo.

Si su proveedor de identidad agrega credenciales temporales automáticamente al archivo ~/.aws/credentials, asegúrese de que el nombre del perfil sea [default] para que no necesite proporcionarlo al SDK o AWS CLI.

Posibilidad de iniciar sesión en el portal de AWS acceso

El portal de AWS acceso es la ubicación web en la que se inicia sesión manualmente en el Centro de Identidad de IAM. El formato de la URL es d-xxxxxxxxxx.awsapps.com/start oyour_subdomain.awsapps.com/start.

Si no está familiarizado con el portal de AWS acceso, siga las instrucciones sobre el acceso a las cuentas que figuran en el tema de autenticación del IAM Identity Center de la Guía de referencia sobre herramientas AWS SDKs y herramientas.

Configurar el acceso de inicio de sesión único para el SDK

Tras completar el paso 2 de la sección de acceso mediante programación para que el SDK utilice la autenticación del Centro de identidades de IAM, el sistema debe contener los siguientes elementos.

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

  • Un archivo ~/.aws/config que contiene un perfil predeterminado. El SDK para Kotlin usa la configuración del proveedor de tokens de SSO del perfil para adquirir las credenciales antes de enviar las solicitudes a ellas. 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 sso-session sección contiene los ajustes para iniciar una sesión en el portal de AWS acceso.

    [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

Para obtener más información sobre los ajustes utilizados en la configuración del proveedor de token del SSO, consulte la sección Configuración del proveedor del token del SSO en la Guía de referencia de herramientas AWS SDKs y herramientas.

Si tu entorno de desarrollo no está configurado para el acceso mediante programación como se ha mostrado anteriormente, sigue el paso 2 de la SDKs guía de referencia.

Inicie sesión con AWS CLI

Antes de ejecutar una aplicación que acceda Servicios de AWS, necesita una sesión activa en el portal de AWS acceso para que el SDK utilice la autenticación del IAM Identity Center para resolver las credenciales. Ejecute el siguiente comando AWS CLI para iniciar sesión en el portal de AWS acceso.

aws sso login

Como tiene una configuración de perfil predeterminada, no necesita llamar al comando con una --profile opción. Si la configuración de tu proveedor de token de SSO usa un perfil con nombre, el comando esaws 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.

Sin embargo, verá un cuadro de diálogo en el que se solicita permiso para que botocore acceda a su información. botocore es la base de la AWS CLI .

Selecciona Permitir para autorizar el acceso a tu información para el SDK AWS CLI y para Kotlin.

Instalar Java y una herramienta de compilación

Su entorno de desarrollo debe contar con lo siguiente:

Utilizar credenciales temporales

Como alternativa a configurar el acceso de inicio de sesión único al IAM Identity Center para el SDK, puede configurar su entorno de desarrollo con credenciales temporales.

Configurar un archivo local de credenciales para las credenciales temporales
  1. Crear un archivo de credenciales compartido.

  2. En el archivo de credenciales, pegue el siguiente texto de marcador de posición hasta que pegue las credenciales temporales que funcionen:

    [default] aws_access_key_id=<value from AWS access portal> aws_secret_access_key=<value from AWS access portal> aws_session_token=<value from AWS access portal>
  3. Guarde el archivo. El archivo ~/.aws/credentials debería existir ahora en su sistema de desarrollo local. Este archivo contiene el perfil [predeterminado] que usa el SDK para Kotlin si no se especifica un perfil con nombre específico.

  4. Inicia sesión en el portal de AWS acceso

  5. Siga estas instrucciones que aparecen en el apartado Actualización manual de credenciales para copiar las credenciales de los roles de IAM del portal de AWS acceso.

    1. Para el paso 4 de las instrucciones vinculadas, elija el nombre del rol de IAM que le concede acceso para sus necesidades de desarrollo. Este rol suele tener un nombre similar PowerUserAccessal de Desarrollador.

    2. Para el paso 7, seleccione la opción Agregar manualmente un perfil a su archivo de credenciales de AWS y copie el contenido.

  6. Pegue las credenciales copiadas en su archivo credentials local y elimine el nombre del perfil generado. Su archivo debería parecerse a lo siguiente:

    [default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
  7. Guarde el archivo credentials.

El SDK de Kotlin accederá a estas credenciales temporales cuando cree un cliente de servicio y las utilice para cada solicitud. La configuración del rol de IAM elegido en el paso 5a determina el tiempo de validez de las credenciales temporales. La duración máxima es de doce horas.

Cuando las credenciales temporales caduquen, repita los pasos del 4 al 7.