

# Solicitar credenciais de segurança temporárias
<a name="id_credentials_temp_request"></a>

Para solicitar credenciais de segurança temporárias, você pode usar as operações do AWS Security Token Service (AWS STS) na API da AWS. É possível usar operações para criar e fornecer aos usuários confiáveis credenciais de segurança temporárias que podem controlar o acesso aos seus recursos da AWS. Para obter mais informações sobre o AWS STS, consulte [Credenciais de segurança temporárias no IAM](id_credentials_temp.md). Para saber mais sobre os diferentes métodos que você pode usar para solicitar credenciais de segurança temporárias ao assumir uma função, consulte [Métodos para assumir um perfil](id_roles_manage-assume.md).

Para chamar as operações de API, você pode usar um dos [AWS SDKs](https://aws.amazon.com/tools/). Os SDKs estão disponíveis para uma grande variedade de ambientes e linguagens de programação, incluindo Java, .NET, Python, Ruby, Android e iOS. Os SDKs processam tarefas como a assinatura criptográfica de suas solicitações, a solicitação de novas tentativas (se necessário) e o tratamento das respostas de erro. Você também pode usar a API de consulta do AWS STS, descrita na [Referência de API do AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/). Por fim, duas ferramentas de linha de comando são suporte aos comandos do AWS STS: a [AWS Command Line Interface](https://aws.amazon.com/documentation/cli) e o [AWS Tools for Windows PowerShell](https://aws.amazon.com/documentation/powershell). 

As operações da API do AWS STS criam uma nova sessão com credenciais de segurança temporárias que incluem um par de chaves de acesso e um token de sessão. O par de chaves de acesso consiste em um ID de chave de acesso e uma chave secreta. Os usuários (ou um aplicativo que o usuário executa) pode usar essas credenciais para acessar seus recursos. Você pode criar uma sessão de função e aprovar políticas e tags de sessão programaticamente usando operações de API do AWS STS. As permissões de sessão resultante são a interseção das políticas baseadas em identidade da função e das políticas de sessão. Para obter mais informações sobre políticas de sessão, consulte [Políticas de sessão](access_policies.md#policies_session). Para obter mais informações sobre tags de sessão, consulte [Passar tags de sessão no AWS STS](id_session-tags.md).

**nota**  
O tamanho do token de sessão que as operações de API do AWS STS retornam não é fixo. É altamente recomendável que você não faça suposições sobre o tamanho máximo. O tamanho típico do token é menos de 4096 bytes, mas pode variar.

## Uso do AWS STS com regiões da AWS
<a name="using_sts_regions"></a>

Você pode enviar chamadas de API do AWS STS para um endpoint global ou para um dos endpoints regionais. Se escolher um endpoint mais próximo a você, você poderá reduzir a latência e melhorar a performance de suas chamadas de API. Você também pode optar por direcionar suas chamadas para um endpoint regional alternativo se não puder mais se comunicar com o endpoint original. Se estiver usando um dos vários SDKs da AWS, use o método do respectivo SDK para especificar uma região antes de fazer a chamada de API. Se construir manualmente as solicitações de API HTTP, você deverá direcionar a solicitação para o endpoint correto. Para obter mais informações, consulte a seção [AWS STS de *Regiões e endpoints*](https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region) e [Gerenciar o AWS STS em uma Região da AWS](id_credentials_temp_enable-regions.md).

A seguir veja as operações de API que podem ser usadas para adquirir credenciais temporárias para o uso em seu ambiente e aplicativos da AWS.

## Solicitar credenciais para delegação e federação entre contas por meio de um intermediador de identidades personalizado
<a name="api_assumerole"></a>

A operação da API [https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html) é útil para permitir que os usuários existentes do IAM acessem os recursos da AWS aos quais eles ainda não têm acesso. Por exemplo, o usuário pode precisar de acesso a recursos em outra Conta da AWS. Ela também é útil como um meio de obter acesso privilegiado temporariamente, por exemplo, para fornecer uma autenticação multifator (MFA). Você deve chamar essa API usando credenciais ativas. Para saber quem pode chamar essa operação, consulte [Compare credenciais do AWS STS](id_credentials_sts-comparison.md). Para obter mais informações, consulte [Criar um perfil para conceder permissões a um usuário do IAM](id_roles_create_for-user.md) e [Acesso seguro à API com a MFA](id_credentials_mfa_configure-api-require.md).

**Para solicitar credenciais de segurança temporárias para delegação e federação entre contas por meio de um intermediador de identidades personalizado**

1. Autentique-se com suas credenciais de segurança da AWS. Essa chamada deve ser feita usando credenciais de segurança da AWS válidas.

1. Chame a operação [https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html).

O exemplo a seguir mostra uma solicitação e resposta de exemplo usando `AssumeRole`. Este exemplo de solicitação assume a função `demo` para a duração especificada com a [política de sessão](access_policies.md#policies_session) incluída, [etiquetas de sessão](id_session-tags.md), [ID externo](id_roles_common-scenarios_third-party.md) e [identidade-fonte](id_credentials_temp_control-access_monitor.md). A sessão resultante é nomeada `John-session`. 

**Example Exemplo de solicitação**  

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=AssumeRole
&RoleSessionName=John-session
&RoleArn=arn:aws:iam::123456789012:role/demo
&Policy=%7B%22Version%22%3A%222012-10-17		 	 	 %22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%20%22Stmt1%22%2C%22Effect%22%3A%20%22Allow%22%2C%22Action%22%3A%20%22s3%3A*%22%2C%22Resource%22%3A%20%22*%22%7D%5D%7D
&DurationSeconds=1800
&Tags.member.1.Key=Project
&Tags.member.1.Value=Pegasus
&Tags.member.2.Key=Cost-Center
&Tags.member.2.Value=12345
&ExternalId=123ABC
&SourceIdentity=DevUser123
&AUTHPARAMS
```

O valor da política mostrado no exemplo anterior é a versão codificada por URL da seguinte política:

------
#### [ JSON ]

****  

```
{"Version":"2012-10-17",		 	 	 "Statement":[{"Sid":"Stmt1","Effect":"Allow","Action":"s3:*","Resource":"*"}]}
```

------

O parâmetro `AUTHPARAMS` no exemplo é um espaço reservado para a sua *assinatura*. Uma assinatura é a informação de autenticação que você deve incluir com as solicitações de API HTTP da AWS. Recomendamos usar os [SDKs da AWS](https://aws.amazon.com/tools/) para criar solicitações de API. Um dos benefícios de se fazer isso é que os SDKs tratam da assinatura das solicitações por você. Se você tiver que criar e assinar as solicitações de API manualmente, acesse [Assinaturas e solicitações da AWS usando o Signature versão 4](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) no *Referência geral da Amazon Web Services* para saber como assinar uma solicitação.

Além das credenciais de segurança temporárias, a resposta inclui o nome de recurso da Amazon (ARN) para o usuário federado e o tempo de expiração das credenciais.

**Example Exemplo de resposta**  

```
<AssumeRoleResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<AssumeRoleResult>
<SourceIdentity>DevUser123</SourceIdentity>
<Credentials>
  <SessionToken>
   AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQW
   LWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd
   QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU
   9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz
   +scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
  </SessionToken>
  <SecretAccessKey>
   wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY
  </SecretAccessKey>
  <Expiration>2019-07-15T23:28:33.359Z</Expiration>
  <AccessKeyId>AKIAIOSFODNN7EXAMPLE</AccessKeyId>
</Credentials>
<AssumedRoleUser>
  <Arn>arn:aws:sts::123456789012:assumed-role/demo/John</Arn>
  <AssumedRoleId>ARO123EXAMPLE123:John</AssumedRoleId>
</AssumedRoleUser>
<PackedPolicySize>8</PackedPolicySize>
</AssumeRoleResult>
<ResponseMetadata>
<RequestId>c6104cbe-af31-11e0-8154-cbc7ccf896c7</RequestId>
</ResponseMetadata>
</AssumeRoleResponse>
```

**nota**  
Uma conversão da AWS compacta as políticas de sessão e as tags de sessão passadas em um formato binário compactado que têm um limite separado. Sua solicitação pode falhar para esse limite mesmo que seu texto simples atenda aos outros requisitos. O elemento de resposta `PackedPolicySize` indica, em porcentagem, o quão perto as políticas e tags da sua solicitação estão do limite de tamanho superior.

## Solicitar credenciais por meio de um provedor OIDC
<a name="api_assumerolewithwebidentity"></a>

A operação da API [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) retorna um conjunto de credenciais de segurança temporárias da AWS em troca de um JSON Web Token (JWT). Isso inclui provedores de identidade públicos, como Login with Amazon, Facebook, Google e provedores que emitem JWTs compatíveis com a descoberta do OpenID Connect (OIDC), como GitHub Actions ou Azure DevOps. Para obter mais informações, consulte [Federação OIDC](id_roles_providers_oidc.md).

**nota**  
As solicitações `AssumeRoleWithWebIdentity` não são assinadas com as credenciais da AWS nem as exigem.

**Solicitar credenciais por meio de um provedor OIDC**

1. Chame a operação [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html).

   Quando você chama `AssumeRoleWithWebIdentity`, a AWS valida o token apresentado verificando a assinatura digital usando chaves públicas disponibilizadas por meio do conjunto de chaves da Web JSON (JWKS) do seu IdP. Se o token for válido e todas as condições estabelecidas na política de confiança do perfil do IAM forem atendidas, a AWS retornará as seguintes informações para você:
   + Um conjunto de credenciais de segurança temporárias. Elas consistem em um ID de chave de acesso, chave de acesso secreta e um token de sessão.
   + O ID da função e o ARN da função assumida.
   + Um valor `SubjectFromWebIdentityToken` que contém o ID de usuário exclusivo.

1. A aplicação pode então usar as credenciais de segurança temporárias que foram retornadas na resposta para fazer chamadas de API da AWS. Esse é o mesmo processo de fazer uma chamada de API da AWS com credenciais de segurança de longo prazo. A diferença é que você deve incluir o token de sessão, o que permite que a AWS verifique se as credenciais de segurança temporárias são válidas.

A aplicação deve armazenar em cache as credenciais retornadas pelo AWS STS e atualizá-las conforme necessário. Se a aplicação foi criada usando um AWS SDK, ele tem provedores de credenciais que podem lidar com as chamadas `AssumeRoleWithWebIdentity` e a atualização de credenciais da AWS antes que elas expirem. Para obter mais informações, consulte [AWS SDKs and Tools standardized credential providers](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) no *Guia de referência de ferramentas e SDKs da AWS*.

## Solicitar credenciais por meio de um provedor de identidades SAML 2.0
<a name="api_assumerolewithsaml"></a>

A operação de API [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) retorna um conjunto de credenciais de segurança temporárias para entidades principais federadas SAML que são autenticadas pelo sistema de identidade existente da sua organização. Os usuários também devem usar [SAML](https://www.oasis-open.org/standards#samlv2.0) 2.0 (Security Assertion Markup Language) para passar informações de autenticação e autorização para a AWS. Esta operação de API é útil em organizações que integraram seus sistemas de identidade (como o Windows Active Directory ou OpenLDAP) a um software que pode produzir declarações em SAML. Essa integração fornece informações sobre a identidade e as permissões do usuário (como o Active Directory Federation Services ou o Shibboleth). Para obter mais informações, consulte [Federação SAML 2.0](id_roles_providers_saml.md).

1. Chame a operação [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html).

   Essa é uma chamada não assinada, o que significa que você não precisa autenticar as credenciais de segurança da AWS antes de fazer a solicitação.
**nota**  
Uma chamada para `AssumeRoleWithSAML` não é assinada (criptografada). Portanto, você deve incluir somente as políticas de sessão opcionais se a solicitação é transmitida por meio de um intermediário de confiança. Nesse caso, alguém poderia alterar a política para remover as restrições.

1. Quando você chama `AssumeRoleWithSAML`, a AWS verifica a autenticidade da declaração do SAML. Supondo que o provedor de identidade valide a declaração, a AWS retorna as seguintes informações:
   + Um conjunto de credenciais de segurança temporárias. Elas consistem em um ID de chave de acesso, chave de acesso secreta e um token de sessão. 
   + O ID da função e o ARN da função assumida. 
   + Um valor `Audience` que contém o valor do atributo `Recipient` do elemento `SubjectConfirmationData` da declaração do SAML.
   + Um valor `Issuer` que contém o valor do o elemento `Issuer` da declaração do SAML.
   + Um elemento `NameQualifier` que contém um valor de hash criado a partir do valor `Issuer`, o ID da Conta da AWS e o nome amigável do provedor de SAML. Quando combinado com o elemento `Subject`, eles podem identificar exclusivamente a entidade principal federada SAML.
   + Um elemento `Subject` que contém o valor do elemento `NameID` no elemento `Subject` da declaração do SAML.
   + Um elemento `SubjectType` que indica o formato do elemento `Subject`. O valor pode ser `persistent`, `transient`ou o URI `Format` completo dos elementos `Subject` e `NameID` usados em sua declaração do SAML. Para obter mais informações sobre o atributo `NameID` do elemento `Format`, consulte [Configurar declarações SAML para a resposta de autenticação](id_roles_providers_create_saml_assertions.md). 

1. Use as credenciais de segurança temporárias devolvidas na resposta para fazer chamadas de API da AWS. Esse é o mesmo processo de fazer uma chamada de API da AWS com credenciais de segurança de longo prazo. A diferença é que você deve incluir o token de sessão, o que permite que a AWS verifique se as credenciais de segurança temporárias são válidas.

Seu aplicativo deve armazenar as credenciais em cache. Por padrão, as credenciais expiram após uma hora. Se você não estiver usando a ação [AmazonSTSCredentialsProvider](https://aws.amazon.com/blogs/mobile/using-the-amazoncredentialsprovider-protocol-in-the-aws-sdk-for-ios) no SDK da AWS, caberá a você e ao seu aplicativo chamar `AssumeRoleWithSAML` novamente. Chame esta operação para obter um novo conjunto de credenciais de segurança temporárias antes que as antigas expirem.

## Solicitar credenciais por meio de um intermediador de identidades personalizado
<a name="api_getfederationtoken"></a>

A operação de API [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) retorna um conjunto de credenciais de segurança temporárias para usuários federados do AWS STS. A API é diferente de `AssumeRole`, em que o período de expiração padrão é significativamente maior (até 12 horas, em vez de 1 hora). Além disso, você pode usar o parâmetro `DurationSeconds` para especificar uma duração para que as credenciais de segurança temporárias permaneçam válidas. As credenciais resultantes são válidas pela duração especificada, de 900 segundos (15 minutos) até 129.600 segundos (36 horas). O período de expiração maior pode ajudar a reduzir o número de chamadas para a AWS porque você não precisa obter novas credenciais com a mesma frequência.

1. Faça a autenticação com as credenciais de segurança da AWS do seu usuário do IAM específico. Essa chamada deve ser feita usando credenciais de segurança da AWS válidas.

1. Chame a operação [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html).

A chamada `GetFederationToken` retorna credenciais de segurança temporárias que consistem em um token de segurança, chave de acesso, chave secreta e expiração. Você pode usar `GetFederationToken` se deseja gerenciar permissões dentro de sua organização (por exemplo, usando o aplicativo de proxy para atribuir permissões).

O exemplo a seguir mostra uma solicitação e resposta de exemplo que usa `GetFederationToken`. Esta solicitação de exemplo agrupa o usuário de chamada pela duração especificada ao ARN da [política de sessão](access_policies.md#policies_session) e às [tags de sessão](id_session-tags.md). A sessão resultante é nomeada `Jane-session`.

**Example Exemplo de solicitação**  

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=GetFederationToken
&Name=Jane-session
&PolicyArns.member.1.arn==arn%3Aaws%3Aiam%3A%3A123456789012%3Apolicy%2FRole1policy
&DurationSeconds=1800
&Tags.member.1.Key=Project
&Tags.member.1.Value=Pegasus
&Tags.member.2.Key=Cost-Center
&Tags.member.2.Value=12345
&AUTHPARAMS
```

O ARN da política mostrado no exemplo anterior inclui o seguinte ARN codificado em URL: 

`arn:aws:iam::123456789012:policy/Role1policy`

Além disso, observe que o parâmetro `&AUTHPARAMS` no exemplo destina-se a ser o espaço reservado para as informações de autenticação. Esta é a *assinatura*, que é necessário incluir às solicitações de API HTTP da AWS. Recomendamos usar os [SDKs da AWS](https://aws.amazon.com/tools/) para criar solicitações de API. Um dos benefícios de se fazer isso é que os SDKs tratam da assinatura das solicitações por você. Se você tiver que criar e assinar as solicitações de API manualmente, acesse [Assinaturas e solicitações da AWS usando o Signature versão 4](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) no *Referência geral da Amazon Web Services* para saber como assinar uma solicitação.

Além das credenciais de segurança temporárias, a resposta inclui o nome de recurso da Amazon (ARN) para o usuário federado e o tempo de expiração das credenciais.

**Example Exemplo de resposta**  

```
<GetFederationTokenResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<GetFederationTokenResult>
<Credentials>
  <SessionToken>
   AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQW
   LWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd
   QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU
   9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz
   +scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCEXAMPLE==
  </SessionToken>
  <SecretAccessKey>
  wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY
  </SecretAccessKey>
  <Expiration>2019-04-15T23:28:33.359Z</Expiration>
  <AccessKeyId>AKIAIOSFODNN7EXAMPLE;</AccessKeyId>
</Credentials>
<FederatedUser>
  <Arn>arn:aws:sts::123456789012:federated-user/Jean</Arn>
  <FederatedUserId>123456789012:Jean</FederatedUserId>
</FederatedUser>
<PackedPolicySize>4</PackedPolicySize>
</GetFederationTokenResult>
<ResponseMetadata>
<RequestId>c6104cbe-af31-11e0-8154-cbc7ccf896c7</RequestId>
</ResponseMetadata>
</GetFederationTokenResponse>
```

**nota**  
Uma conversão da AWS compacta as políticas de sessão e as tags de sessão passadas em um formato binário compactado que têm um limite separado. Sua solicitação pode falhar para esse limite mesmo que seu texto simples atenda aos outros requisitos. O elemento de resposta `PackedPolicySize` indica, em porcentagem, o quão perto as políticas e tags da sua solicitação estão do limite de tamanho superior.

A AWS recomenda que você conceda permissões no nível do recurso (por exemplo, você anexa uma política baseada em recurso a um bucket do Amazon S3). Você pode omitir o parâmetro `Policy`. No entanto, se você não incluir uma política para a entidade principal do usuário federado do AWS STS, as credenciais de segurança temporárias não concederão permissões. Neste caso, você *deve* usar as políticas de recurso para conceder ao usuário federado o acesso aos seus recursos da AWS.

Por exemplo, suponha que o número da sua Conta da AWS seja 111122223333 e você tenha um bucket do Amazon S3 que deseja permitir que Susan acesse. As credenciais de segurança temporárias da Susan não incluem uma política para o bucket. Nesse caso, é necessário certificar-se de que o bucket tem uma política com um ARN que corresponde ao de Susan, como `arn:aws:sts::111122223333:federated-user/Susan`. 

## Solicitar credenciais para usuários em ambientes não confiáveis
<a name="api_getsessiontoken"></a>

A operação da API [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) retorna um conjunto de credenciais de segurança temporárias para um usuário do IAM existente. Ela é útil para fornecer segurança aprimorada, como, por exemplo, permitir solicitações da AWS somente quando a MFA estiver habilitada para o usuário do IAM. Como as credenciais são temporárias, elas fornecem segurança aprimorada quando você tem um usuário do IAM que acessa seus recursos por meio de um ambiente menos seguro. Exemplos de ambientes menos seguros incluem um dispositivo móvel ou navegador da web.

1. Faça a autenticação com as credenciais de segurança da AWS do seu usuário do IAM específico. Essa chamada deve ser feita usando credenciais de segurança da AWS válidas.

1. Chame a operação [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html).

1. `GetSessionToken` retorna as credenciais de segurança temporárias que consistem em um token de sessão, um ID de chave de acesso e uma chave de acesso secreta.

Por padrão, as credenciais de segurança temporárias de um usuário do IAM são válidas por no máximo 12 horas. Mas você pode solicitar uma duração de, no mínimo, 15 minutos ou, no máximo, 36 horas usando o parâmetro `DurationSeconds`. Por motivos de segurança, um token para um Usuário raiz da conta da AWS é restrito a uma hora de duração.

O exemplo a seguir mostra uma solicitação e resposta de exemplo usando `GetSessionToken`. A resposta também inclui o tempo de expiração das credenciais de segurança temporárias. 

**Example Exemplo de solicitação**  

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=GetSessionToken
&DurationSeconds=1800
&AUTHPARAMS
```

O parâmetro `AUTHPARAMS` no exemplo é um espaço reservado para a sua *assinatura*. Uma assinatura é a informação de autenticação que você deve incluir com as solicitações de API HTTP da AWS. Recomendamos usar os [SDKs da AWS](https://aws.amazon.com/tools/) para criar solicitações de API. Um dos benefícios de se fazer isso é que os SDKs tratam da assinatura das solicitações por você. Se você tiver que criar e assinar as solicitações de API manualmente, acesse [Assinaturas e solicitações da AWS usando o Signature versão 4](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) no *Referência geral da Amazon Web Services* para saber como assinar uma solicitação.

**Example Exemplo de resposta**  

```
<GetSessionTokenResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<GetSessionTokenResult>
<Credentials>
  <SessionToken>
   AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L
   To6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3z
   rkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtp
   Z3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE
  </SessionToken>
  <SecretAccessKey>
  wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY
  </SecretAccessKey>
  <Expiration>2011-07-11T19:55:29.611Z</Expiration>
  <AccessKeyId>AKIAIOSFODNN7EXAMPLE</AccessKeyId>
</Credentials>
</GetSessionTokenResult>
<ResponseMetadata>
<RequestId>58c5dbae-abef-11e0-8cfe-09039844ac7d</RequestId>
</ResponseMetadata>
</GetSessionTokenResponse>
```

Opcionalmente, a solicitação `GetSessionToken` pode incluir os valores `SerialNumber` e `TokenCode` para a verificação da autenticação multifator (MFA) da AWS. Se os valores fornecidos forem válidos, o AWS STS fornecerá credenciais de segurança temporárias que incluem o estado da autenticação MFA. As credenciais de segurança temporárias podem ser usadas para acessar as operações de API protegidas por MFA ou os sites da AWS pelo tempo em que a autenticação MFA for válida. 

O exemplo a seguir mostra uma solicitação `GetSessionToken` que inclui um código de verificação de MFA e número de série do dispositivo. 

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=GetSessionToken
&DurationSeconds=7200
&SerialNumber=YourMFADeviceSerialNumber
&TokenCode=123456
&AUTHPARAMS
```

**nota**  
A chamada para o AWS STS pode ser para o endpoint global ou para qualquer um dos endpoints regionais para os quais você ativar sua Conta da AWS. Para obter mais informações, consulte a [seção do AWS STS de *Regiões e endpoints*](https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region).  
O parâmetro `AUTHPARAMS` no exemplo é um espaço reservado para a sua *assinatura*. Uma assinatura é a informação de autenticação que você deve incluir com as solicitações de API HTTP da AWS. Recomendamos usar os [SDKs da AWS](https://aws.amazon.com/tools/) para criar solicitações de API. Um dos benefícios de se fazer isso é que os SDKs tratam da assinatura das solicitações por você. Se você tiver que criar e assinar as solicitações de API manualmente, acesse [Assinaturas e solicitações da AWS usando o Signature versão 4](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) no *Referência geral da Amazon Web Services* para saber como assinar uma solicitação.