Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Use GetSessionToken
com um AWS SDK ou CLI
Os exemplos de códigos a seguir mostram como usar GetSessionToken
.
Exemplos de ações são trechos de código de programas maiores e devem ser executados em contexto. É possível ver essa ação no contexto no seguinte exemplo de código:
- CLI
-
- AWS CLI
-
Para obter um conjunto de credenciais de curto prazo para uma identidade IAM
O
get-session-token
comando a seguir recupera um conjunto de credenciais de curto prazo para a IAM identidade que está fazendo a chamada. As credenciais resultantes podem ser usadas para solicitações em que a autenticação multifatorial (MFA) é exigida pela política. As credenciais expiram 15 minutos após serem geradas.aws sts get-session-token \ --duration-seconds
900
\ --serial-number"YourMFADeviceSerialNumber"
\ --token-code123456
Saída:
{ "Credentials": { "AccessKeyId": "ASIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", "SessionToken": "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE", "Expiration": "2020-05-19T18:06:10+00:00" } }
Para obter mais informações, consulte Solicitando credenciais de segurança temporárias no Guia do AWS IAMusuário.
-
Para API obter detalhes, consulte GetSessionToken
na Referência de AWS CLI Comandos.
-
- PowerShell
-
- Ferramentas para PowerShell
-
Exemplo 1: retorna uma instância
Amazon.RuntimeAWSCredentials
contendo credenciais temporárias válidas por um determinado período. As credenciais usadas para solicitar credenciais temporárias são inferidas dos padrões atuais do shell. Para especificar outras credenciais, use os parâmetros - ProfileName ou - AccessKey /-SecretKey .Get-STSSessionToken
Saída:
AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....
Exemplo 2: retorna uma instância
Amazon.RuntimeAWSCredentials
contendo credenciais temporárias válidas por uma hora. As credenciais usadas para fazer a solicitação são obtidas do perfil especificado.Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile
Saída:
AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....
Exemplo 3: retorna uma
Amazon.RuntimeAWSCredentials
instância contendo credenciais temporárias válidas por uma hora usando o número de identificação do MFA dispositivo associado à conta cujas credenciais estão especificadas no perfil “myprofilename” e o valor fornecido pelo dispositivo.Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile -SerialNumber YourMFADeviceSerialNumber -TokenCode 123456
Saída:
AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....
-
Para API obter detalhes, consulte GetSessionTokenem Referência de AWS Tools for PowerShell cmdlet.
-
- Python
-
- SDKpara Python (Boto3)
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository
. Obtenha um token de sessão passando um MFA token e use-o para listar buckets do Amazon S3 para a conta.
def list_buckets_with_session_token_with_mfa(mfa_serial_number, mfa_totp, sts_client): """ Gets a session token with MFA credentials and uses the temporary session credentials to list Amazon S3 buckets. Requires an MFA device serial number and token. :param mfa_serial_number: The serial number of the MFA device. For a virtual MFA device, this is an Amazon Resource Name (ARN). :param mfa_totp: A time-based, one-time password issued by the MFA device. :param sts_client: A Boto3 STS instance that has permission to assume the role. """ if mfa_serial_number is not None: response = sts_client.get_session_token( SerialNumber=mfa_serial_number, TokenCode=mfa_totp ) else: response = sts_client.get_session_token() temp_credentials = response["Credentials"] s3_resource = boto3.resource( "s3", aws_access_key_id=temp_credentials["AccessKeyId"], aws_secret_access_key=temp_credentials["SecretAccessKey"], aws_session_token=temp_credentials["SessionToken"], ) print(f"Buckets for the account:") for bucket in s3_resource.buckets.all(): print(bucket.name)
-
Para API obter detalhes, consulte a GetSessionTokenReferência AWS SDK do Python (Boto3). API
-