diff --git a/lib/private/Files/ObjectStore/S3ConnectionTrait.php b/lib/private/Files/ObjectStore/S3ConnectionTrait.php index 1a36683a30..9261dd5d13 100644 --- a/lib/private/Files/ObjectStore/S3ConnectionTrait.php +++ b/lib/private/Files/ObjectStore/S3ConnectionTrait.php @@ -106,22 +106,13 @@ trait S3ConnectionTrait { CredentialProvider::chain( $this->paramCredentialProvider(), CredentialProvider::env(), - CredentialProvider::instanceProfile() + CredentialProvider::assumeRoleWithWebIdentityCredentialProvider() + !empty(getenv(EcsCredentialProvider::ENV_URI)) + ? CredentialProvider::ecsCredentials() + : CredentialProvider::instanceProfile() ) ); - // If running in an ECS environment, then also include the ECS task role in the chain - if (!empty(getenv(EcsCredentialProvider::ENV_URI))) { - $provider = CredentialProvider::memoize( - CredentialProvider::chain( - $this->paramCredentialProvider(), - CredentialProvider::env(), - CredentialProvider::ecsCredentials(), - CredentialProvider::instanceProfile() - ) - ); - } - $options = [ 'version' => isset($this->params['version']) ? $this->params['version'] : 'latest', 'credentials' => $provider,