

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á.

# Usando provedores de credenciais da AWS SDK para PHP versão 3
<a name="guide_credentials"></a>

Para obter informações de referência sobre os mecanismos de credenciais disponíveis para o AWS SDKs, consulte [Credenciais e acesso](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) no AWS SDKs Guia de *referência de ferramentas*.

**Importante**  
Por motivos de segurança, é *altamente recomendável* que você **não** use a conta root para AWS acessar. Sempre consulte as [melhores práticas de segurança no IAM no](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) *Guia do usuário do IAM* para obter as recomendações de segurança mais recentes.

A função de um provedor de credenciais na AWS SDK para PHP versão 3 é fornecer e fornecer credenciais aos clientes do SDK. AWS service (Serviço da AWS) O SDK usa as credenciais que ele gera para se autenticar no serviço assinando criptograficamente cada solicitação. As credenciais geralmente consistem em chaves de acesso; uma combinação do ID de uma chave de acesso e uma chave de acesso secreta. 

Quando você usa credenciais temporárias, como quando [configura a autenticação do IAM Identity Center](credentials.md#use-idc-for-auth) ou configura seu tempo de execução para [assumir uma função do IAM](assumerole-provider.md), um token de sessão é adicionado às chaves de acesso, fornecendo acesso aos AWS recursos por tempo limitado.

## O que é um provedor de credenciais na AWS SDK para PHP versão 3?
<a name="cred-provider-defn-php"></a>

Um provedor de credenciais é uma função que retorna uma `GuzzleHttp\Promise\PromiseInterface` que é cumprida com uma instância de `Aws\Credentials\CredentialsInterface` ou rejeitada com uma `Aws\Exception\CredentialsException`. O [SDK fornece várias implementações](built-in-providers-in-the-sdk.md) de funções de provedor de credenciais, mas você pode [implementar sua própria](creating-a-custom-provider.md) lógica personalizada para criar credenciais ou otimizar o carregamento de credenciais.

Os provedores de credenciais são passados para a opção do construtor de clientes `credentials`. Os provedores de credenciais são assíncronos, o que os força a serem avaliados lentamente a cada vez que uma operação de API é invocada. Como tal, a passagem de uma função de provedor de credenciais para um construtor de cliente do SDK não valida imediatamente as credenciais. Se o provedor de credenciais não retornar um objeto de credenciais, uma operação da API será rejeitada com uma `Aws\Exception\CredentialsException`.

```
use Aws\Credentials\CredentialProvider;
use Aws\S3\S3Client;

// Use the ECS credential provider. 
$provider = CredentialProvider::ecsCredentials();
// Be sure to memoize the credentials.
$memoizedProvider = CredentialProvider::memoize($provider);

// Pass the provider to the client
$client = new S3Client([
    'region'      => 'us-west-2',
    'version'     => '2006-03-01',
    'credentials' => $memoizedProvider
]);
```