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.
Configurar AWS CLI con la autenticación IAM de Identity Center
En este tema se proporcionan instrucciones sobre cómo configurar el AWS CLI with AWS IAM Identity Center (IAMIdentity Center) para recuperar las credenciales y ejecutar AWS CLI comandos. Existen principalmente dos formas de autenticar a los usuarios con IAM Identity Center para obtener credenciales que les permitan ejecutar AWS CLI comandos en el config
archivo:
-
Configuración de proveedor de SSO token (recomendada).
-
Configuración heredada no actualizable.
Para obtener información sobre el uso de la autenticación de portador, que no utiliza ningún identificador de cuenta ni rol, consulta Cómo configurar el uso de AWS CLI with CodeCatalyst en la Guía del CodeCatalyst usuario de Amazon.
nota
Para ver un proceso guiado sobre el uso de IAM Identity Center con AWS CLI comandos, consulte. Tutorial: Utilice IAM Identity Center para ejecutar comandos de Amazon S3
Temas
Requisitos previos
-
Instale el AWS CLI. Para obtener más información, consulte Instalación o actualización a la versión más reciente de la AWS CLI.
-
Primero debe tener acceso a la SSO autenticación en IAM Identity Center. Elija uno de los siguientes métodos para acceder a sus AWS credenciales.
Siga las instrucciones en Introducción en la Guía del usuario de AWS IAM Identity Center . Este proceso activa IAM Identity Center, crea un usuario administrativo y agrega un conjunto de permisos de privilegios mínimos adecuado.
nota
Cree un conjunto de permisos que aplique los permisos con privilegios mínimos. Le recomendamos que utilice el conjunto de permisos predefinido PowerUserAccess
, a menos que su empleador haya creado un conjunto de permisos personalizado para este fin.
Salga del portal y vuelva a iniciar sesión para ver sus Cuentas de AWS detalles de acceso programático y las opciones para o. Administrator
PowerUserAccess
Seleccione esta opción PowerUserAccess
cuando trabaje con. SDK
Inicie sesión a AWS través del portal de su proveedor de identidad. Si el administrador de la nube te ha concedido permisos PowerUserAccess
(de desarrollador), verás aquellos a los Cuentas de AWS que tienes acceso y tu conjunto de permisos. Junto al nombre de su conjunto de permisos, verá las opciones para acceder a las cuentas de forma manual o programática mediante ese conjunto de permisos.
Las implementaciones personalizadas pueden dar lugar a experiencias diferentes, como distintos nombres de conjuntos de permisos. Si no está seguro de qué configuración de permisos debe utilizar, contacte con su equipo de TI para obtener ayuda.
Inicie sesión a AWS través de su portal de AWS acceso. Si el administrador de la nube te ha concedido permisos PowerUserAccess
(de desarrollador), verás los permisos a los Cuentas de AWS que tienes acceso y tu conjunto de permisos. Junto al nombre de su conjunto de permisos, verá las opciones para acceder a las cuentas de forma manual o programática mediante ese conjunto de permisos.
Contacte con su equipo de TI para obtener ayuda.
Después de acceder al Centro de IAM identidad, recopile la información de su centro de IAM identidad de la siguiente manera:
-
En su portal de AWS acceso, seleccione el conjunto de permisos que utiliza para el desarrollo y, a continuación, seleccione el enlace Claves de acceso.
-
En el cuadro de diálogo Obtener credenciales, elija la pestaña que corresponda a su sistema operativo.
-
Elija el método de credenciales de IAM Identity Center para obtener los
SSO Region
valoresSSO Start URL
y valores que necesita para ejecutaraws configure sso
. Para obtener información sobre el valor de los ámbitos que se deben registrar, consulte los ámbitos de acceso OAuth 2.0 en la Guía del usuario de IAM Identity Center.
Configurar el perfil con el asistente de aws
configure sso
Para configurar un perfil de IAM Identity Center para su: AWS CLI
-
En el terminal que prefiera, ejecute el
aws configure sso
comando. -
Los AWS CLI intentos de abrir su navegador predeterminado para iniciar sesión en su cuenta de IAM Identity Center. Es posible que este proceso le pida que permita el AWS CLI acceso a sus datos. Dado que AWS CLI está construido sobre el SDK de Python, los mensajes de permiso pueden contener variaciones del
botocore
nombre.Si AWS CLI no puede abrir el navegador, se muestran las instrucciones para iniciar manualmente el proceso de inicio de sesión.
If the browser does not open or you wish to use a different device to authorize this request, open the following URL:
https://device.sso.us-west-2.amazonaws.com/
Then enter the code:QCFK-N451
-
Seleccione la AWS cuenta que desee utilizar en la lista que se muestra. Si está autorizado a usar solo una cuenta, selecciona AWS CLI automáticamente esa cuenta y omite la solicitud.
There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (
123456789011
) ProductionAccount, production-account-admin@example.com (123456789022
) -
Seleccione el IAM rol que desee usar en la lista que se muestra. Si solo hay un rol disponible, selecciona AWS CLI automáticamente ese rol y omite la solicitud.
Using the account ID
123456789011
There are 2 roles available to you. > ReadOnly FullAccess -
Especifique el formato de salida predeterminado, el formato predeterminado Región de AWS al que se enviarán los comandos y un nombre para el perfil. Si lo especifica
default
como nombre de perfil, este perfil se convierte en el perfil utilizado por defecto. En el ejemplo siguiente, el usuario introduce una región predeterminada, un formato de salida predeterminado y el nombre del perfil.CLI default client Region [None]:
us-west-2
<ENTER>CLI default output format [None]:
json
<ENTER>CLI profile name [123456789011_ReadOnly]:
my-dev-profile
<ENTER> -
Un mensaje final describe la configuración del perfil completada. Ahora puede usar este perfil para solicitar credenciales. Utilice el comando
aws sso login
para solicitar y recuperar realmente las credenciales necesarias para ejecutar comandos. Para ver instrucciones, consulte Inicie sesión en una sesión de IAM Identity Center.
Estos pasos dan como resultado la creación de la sso-session
sección y el perfil nombrado en el config
archivo con el siguiente aspecto:
Configurar solo la sección sso-session
con el asistente de aws configure sso-session
nota
Esta configuración no es compatible con el IAM Identity Center anterior.
El aws configure sso-session
comando actualiza las sso-session
secciones del ~/.aws/config
archivo. Ejecute el aws configure sso-session
comando e indique el inicio del Centro de IAM Identidad URL y la AWS región que aloja el directorio del Centro de IAM Identidad.
$
aws configure sso-session
SSO session name:
my-sso
SSO start URL [None]:
https://my-sso-portal.awsapps.com/start
SSO region [None]:
us-east-1
SSO registration scopes [None]:
sso:account:access
Configuración manual mediante el archivo config
IAMLa información de configuración de Identity Center se almacena en el config
archivo y se puede editar con un editor de texto. Para añadir manualmente la compatibilidad con IAM Identity Center a un perfil con nombre, debe añadir claves y valores al config
archivo.
La sso-session
sección del config
archivo se usa para agrupar las variables de configuración para adquirir los tokens de SSO acceso, que luego se pueden usar para adquirir AWS credenciales. Se utilizan las siguientes configuraciones:
-
(Obligatorio)
sso_start_url
-
(Obligatorio)
sso_region
Defina una sso-session
sección y la asocie a un perfil. Los sso_start_url
ajustes sso_region
y se deben establecer dentro de la sso-session
sección. Normalmente, sso_account_id
y sso_role_name
debe configurarse en la profile
sección para que SDK pueda solicitar SSO las credenciales.
El siguiente ejemplo configura la SDK solicitud de SSO credenciales y admite la actualización automática de los tokens:
[profile
dev
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[sso-sessionmy-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
Esto también permite reutilizar las configuraciones de sso-session
en varios perfiles:
[profile
dev
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[profileprod
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole2
[sso-sessionmy-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
Sin embargo, sso_account_id
sso_role_name
no son necesarios para todos los escenarios de configuración de los SSO tokens. Si su aplicación solo usa AWS servicios que admiten la autenticación de portadores, no se necesitan AWS
las credenciales tradicionales. La autenticación de portador es un esquema de HTTP autenticación que utiliza fichas de seguridad denominadas fichas de portador. En este escenario, no se necesitan sso_account_id
ni sso_role_name
. Consulte la guía individual de su AWS servicio para determinar si admite la autorización de tokens de portador.
Además, los ámbitos de registro pueden configurarse como parte de sso-session
. Scope es un mecanismo de la OAuth versión 2.0 para limitar el acceso de una aplicación a la cuenta de un usuario. Una solicitud puede pedir uno o varios ámbitos y el token de acceso emitido a la solicitud se limitará a los ámbitos concedidos. Estos ámbitos definen los permisos que se solicitan para autorizar el OIDC cliente registrado y los tokens de acceso recuperados por el cliente. El siguiente ejemplo establece sso_registration_scopes
para proporcionar acceso para enumerar cuentas/roles:
[sso-session
my-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
sso_registration_scopes =sso:account:access
El token de autenticación se almacena en caché en el disco en el directorio sso/cache
con un nombre de archivo basado en el nombre de la sesión.
nota
La actualización automática de tokens no se admite con la configuración no actualizable heredada. Se recomienda utilizar la configuración de SSO token.
Para añadir manualmente la compatibilidad con IAM Identity Center a un perfil con nombre, debe añadir las siguientes claves y valores a la definición del perfil del config
archivo.
Puede incluir cualquier otra clave y valor que sea válido en el .aws/config
archivo. El siguiente ejemplo es un perfil de IAM Identity Center:
[profile
my-sso-profile
] sso_start_url =https://my-sso-portal.awsapps.com/start
sso_region =us-west-2
sso_account_id =111122223333
sso_role_name =SSOReadOnlyRole
region =us-west-2
output =json
Para ejecutar comandos, primero debe Inicie sesión en una sesión de IAM Identity Center solicitar y recuperar sus credenciales temporales.
Para obtener más información sobre los archivos de config
y credentials
, consulte Opciones de los archivos de configuración y credenciales.
Inicie sesión en una sesión de IAM Identity Center
nota
Es posible que el proceso de inicio de sesión le pida que permita el AWS CLI acceso a sus datos. Dado que AWS CLI está construido sobre el SDK de Python, los mensajes de permiso pueden contener variaciones del botocore
nombre.
Para recuperar y almacenar en caché un conjunto de credenciales de IAM Identity Center, ejecute el siguiente comando AWS CLI para abrir el navegador predeterminado y comprobar que ha iniciado sesión en IAM Identity Center.
$
aws sso login --profile my-dev-profile
SSO authorization page has automatically been opened in your default browser.
Follow the instructions in the browser to complete this authorization request.
Successfully logged into Start URL: https://my-sso-portal.awsapps.com/start
Las credenciales de sesión de IAM Identity Center se almacenan en caché y las AWS CLI utiliza para recuperar de forma segura AWS las credenciales del IAM rol especificado en el perfil.
Si no AWS CLI puedes abrir tu navegador, te pedirá que lo abras tú mismo e introduzcas el código especificado.
$
aws sso login --profile
my-dev-profile
Using a browser, open the following URL:
https://device.sso.us-west-2.amazonaws.com/
and enter the following code:QCFK-N451
También puede especificar qué perfil de sso-session
utilizar al iniciar la sesión utilizando el parámetro --sso-session
del comando aws sso login
. La sso-session
opción no está disponible para la versión antigua de IAM Identity Center.
$
aws sso login --sso-session
my-dev-session
El token de autenticación se almacena en caché en el disco del ~/.aws/sso/cache
directorio con un nombre de archivo basado en. sso_start_url
Ejecute un comando con su perfil de IAM Identity Center
Una vez que haya iniciado sesión, puede usar sus credenciales para invocar AWS CLI comandos con el perfil designado asociado. En el siguiente ejemplo, se muestra un comando que utiliza un perfil:
$
aws sts get-caller-identity --profile
my-dev-profile
Siempre que haya iniciado sesión en IAM Identity Center y las credenciales almacenadas en caché no hayan caducado, las AWS CLI renovará automáticamente cuando sea AWS necesario. Sin embargo, si sus credenciales de IAM Identity Center caducan, debe renovarlas de forma explícita iniciando sesión de nuevo en su cuenta de IAM Identity Center.
Cierre sesión en sus sesiones de IAM Identity Center
Cuando termine de usar su perfil de IAM Identity Center, puede dejar que sus credenciales caduquen o ejecutar el siguiente comando para eliminar las credenciales almacenadas en caché.
$
aws sso logout
Successfully signed out of all SSO profiles.
Resolución de problemas
Si tiene problemas al utilizar el AWS CLI, consulte los pasos de solución Solucionar errores AWS CLI de problemas.
Recursos relacionados
Los recursos adicionales son los siguientes.
-
Tutorial: Utilice IAM Identity Center para ejecutar comandos de Amazon S3
-
Instalación o actualización a la versión más reciente de la AWS CLI
-
aws configure sso
en la AWS CLI versión 2 (Referencia) -
aws configure sso-session
en la AWS CLI versión 2 (Referencia) -
aws sso login
en la AWS CLI versión 2 (Referencia) -
aws sso logout
en la AWS CLI versión 2 (Referencia) -
Configuración para usar AWS CLI with CodeCatalyst en la Guía del CodeCatalyst usuario de Amazon
-
OAuthLos alcances de acceso 2.0 en la guía del usuario de IAM Identity Center
-
Tutoriales de introducción en la Guía del usuario de IAM Identity Center