Usar provedores de credenciais do AWS SDK para PHP versão 3
Para obter informações de referência sobre os mecanismos de credenciais disponíveis para os AWS SDKs, consulte Credenciais e acesso no Guia de referência de SDKs e ferramentas da AWS.
Importante
Por questões de segurança, é altamente recomendável que você não a conta raiz no acesso à AWS. Sempre consulte as melhores práticas de segurança no IAM no Guia do usuário do IAM para obter as recomendações de segurança mais recentes.
A função de um provedor de credenciais no AWS SDK para PHP versão 3 é gerar e fornecer credenciais aos clientes de AWS service (Serviço da AWS) do SDK. 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 credenciais temporárias são utilizadas, como quando você configura a autenticação do Centro de Identidade do IAM ou configura seu runtime para assumir um perfil do IAM, um token de sessão é adicionado às chaves de acesso, fornecendo acesso aos recursos da AWS por tempo limitado.
O que é um provedor de credenciais no AWS SDK para PHP versão 3?
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 de funções de provedor de credenciais, mas você pode implementar sua própria 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 ]);