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.
assumeRoleWithWebIdentityCredentialProvider
proveedor 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 ]);