assumeRoleWithWebIdentityCredentialProviderproveedor en el 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.

assumeRoleWithWebIdentityCredentialProviderproveedor en el SDK para PHP

Aws\Credentials\CredentialProvider::assumeRoleWithWebIdentityCredentialProvider intenta cargar las credenciales al asumir un rol. Si las variables de entorno AWS_ROLE_ARN y AWS_WEB_IDENTITY_TOKEN_FILE están presentes, el proveedor intentará asumir el rol especificado en AWS_ROLE_ARN utilizando el token en un disco en la ruta completa especificada en AWS_WEB_IDENTITY_TOKEN_FILE. Si se emplean las variables de entorno, el proveedor intentará establecer la sesión desde la variable de entorno AWS_ROLE_SESSION_NAME.

Si las variables de entorno no están establecidas, el proveedor utilizará el perfil predeterminado o el establecido como AWS_PROFILE. El proveedor lee los perfiles de ~/.aws/credentials y ~/.aws/config de forma predeterminada y puede leer desde los perfiles especificados en la opción de configuración filename. El proveedor asumirá el rol en el role_arn del perfil al leer un token desde la ruta completa establecida en el web_identity_token_file. El role_session_name se utilizará si está establecido en el perfil.

El proveedor se denomina como parte de la cadena predeterminada y se le puede llamar directamente.

use Aws\Credentials\CredentialProvider; use Aws\S3\S3Client; $provider = CredentialProvider::assumeRoleWithWebIdentityCredentialProvider(); // Cache the results in a memoize function to avoid loading and parsing // the ini file on every API operation $provider = CredentialProvider::memoize($provider); $client = new S3Client([ 'region' => 'us-west-2', 'version' => '2006-03-01', 'credentials' => $provider ]);

De forma predeterminada, este proveedor de credenciales heredará la región configurada que utilizará para asumir la función StsClient . Opcionalmente, se StsClient puede proporcionar una versión completa. Las credenciales deben configurarse como false en las que se proporcionan StsClient.

use Aws\Credentials\CredentialProvider; use Aws\S3\S3Client; use Aws\Sts\StsClient; $stsClient = new StsClient([ 'region' => 'us-west-2', 'version' => 'latest', 'credentials' => false ]) $provider = CredentialProvider::assumeRoleWithWebIdentityCredentialProvider([ 'stsClient' => $stsClient ]); // Cache the results in a memoize function to avoid loading and parsing // the ini file on every API operation $provider = CredentialProvider::memoize($provider); $client = new S3Client([ 'region' => 'us-west-2', 'version' => '2006-03-01', 'credentials' => $provider ]);