Uso de proveedores de credenciales de la versión 3 de AWS SDK para PHP - AWS SDK para PHP

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.

Uso de proveedores de credenciales de la versión 3 de AWS SDK para PHP

Para obtener información de referencia sobre los mecanismos de credenciales disponible para los AWS SDKs, consulte Credenciales y acceso en la Guía de referencia de los AWS SDK y las herramientas.

importante

Por seguridad, es absolutamente recomendable que no la cuenta raíz para acceder a AWS. Consulte siempre las mejores prácticas de seguridad en IAM en la Guía del usuario de IAM para conocer las recomendaciones de seguridad más recientes.

El rol de un proveedor de credenciales en la versión 3 de AWS SDK para PHP es originar y suministrar credenciales a los clientes del Servicio de AWS del SDK. El SDK utiliza las credenciales que obtiene para autenticarse en el servicio mediante la firma criptográfica de cada solicitud. Las credenciales suelen consistir en claves de acceso: un ID de clave de acceso y una clave de acceso secreta juntas.

Cuando utiliza credenciales temporales, como al configurar la autenticación de IAM Identity Center o al configurar el tiempo de ejecución para asumir un rol de IAM, se agrega un token de sesión a las claves de acceso, lo que proporciona acceso limitado en el tiempo a los recursos de AWS.

¿Qué es un proveedor de credenciales en la versión 3 de AWS SDK para PHP?

Un proveedor de credenciales es una función que devuelve un GuzzleHttp\Promise\PromiseInterface que se ejecuta con una instancia Aws\Credentials\CredentialsInterface o se rechaza con un Aws\Exception\CredentialsException. El SDK proporciona varias implementaciones de funciones de proveedor de credenciales o bien puede implementar una lógica propia y personalizada para crear credenciales u optimizar la carga de credenciales.

Los proveedores de credenciales se transfieren a la opción de constructor de clientes credentials. Los proveedores de credenciales son asíncronos, lo que obliga a evaluarlos lentamente cada vez que se invoca una operación de la API. Por ello, si se pasa una función de proveedor de credenciales a un constructor de cliente del SDK, no se validan inmediatamente las credenciales. Si el proveedor de credenciales no devuelve un objeto de credenciales, se rechazará una operación de la API con una 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 ]);