Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisez des informations d'identification temporaires provenant de AWS STS
AWS Security Token Service (AWS STS) vous permet de demander des privilèges limités, des informations d'identification temporaires pour IAM les utilisateurs ou pour les utilisateurs que vous authentifiez via la fédération d'identité. Pour une meilleure compréhension, consultez la section Informations d'identification de sécurité temporaires dans le guide de IAM l'utilisateur. Vous pouvez utiliser des informations d'identification de sécurité temporaires pour accéder à la plupart AWS des services. Pour obtenir la liste des services qui acceptent les informations d'identification de sécurité temporaires, consultez la section AWS Services compatibles IAM dans le Guide de IAM l'utilisateur.
L'un des cas d'utilisation courants des informations d'identification temporaires consiste à accorder aux applications mobiles ou côté client l'accès aux AWS ressources en authentifiant les utilisateurs par le biais de fournisseurs d'identité tiers (voir Fédération des identités Web).
Obtenir des informations d'identification temporaires
AWS STS comporte plusieurs opérations qui renvoient des informations d'identification temporaires, mais l'GetSessionToken
opération est la plus simple à démontrer. L'extrait suivant récupère les informations d'identification temporaires en appelant la getSessionToken
méthode du PHP SDK client. STS
$sdk = new Aws\Sdk([ 'region' => 'us-east-1', ]); $stsClient = $sdk->createSts(); $result = $stsClient->getSessionToken();
Le résultat pour GetSessionToken
et les autres AWS STS opérations contient toujours une 'Credentials'
valeur. Si vous imprimez le $result
(par exemple en utilisantprint_r($result)
), cela ressemble à ce qui suit.
Array ( ... [Credentials] => Array ( [SessionToken] => '<base64 encoded session token value>' [SecretAccessKey] => '<temporary secret access key value>' [Expiration] => 2013-11-01T01:57:52Z [AccessKeyId] => '<temporary access key value>' ) ... )
Fournir des informations d'identification temporaires au AWS SDK for PHP
Vous pouvez utiliser des informations d'identification temporaires avec un autre AWS client en instanciant le client et en lui transmettant les valeurs reçues AWS STS directement.
use Aws\S3\S3Client; $result = $stsClient->getSessionToken(); $s3Client = new S3Client([ 'version' => '2006-03-01', 'region' => 'us-west-2', 'credentials' => [ 'key' => $result['Credentials']['AccessKeyId'], 'secret' => $result['Credentials']['SecretAccessKey'], 'token' => $result['Credentials']['SessionToken'] ] ]);
Vous pouvez également construire un objet Aws\Credentials\Credentials
et l'utiliser lorsque vous instanciez le client.
use Aws\Credentials\Credentials; use Aws\S3\S3Client; $result = $stsClient->getSessionToken(); $credentials = new Credentials( $result['Credentials']['AccessKeyId'], $result['Credentials']['SecretAccessKey'], $result['Credentials']['SessionToken'] ); $s3Client = new S3Client([ 'version' => '2006-03-01', 'region' => 'us-west-2', 'credentials' => $credentials ]);
Toutefois, le meilleur moyen de fournir des informations d’identification temporaires consiste à utiliser la méthode d’assistance createCredentials()
incluse avec le StsClient
. Cette méthode extrait les données d'un AWS STS résultat et crée l'Credentials
objet pour vous.
$result = $stsClient->getSessionToken(); $credentials = $stsClient->createCredentials($result); $s3Client = new S3Client([ 'version' => '2006-03-01', 'region' => 'us-west-2', 'credentials' => $credentials ]);
Pour plus d'informations sur les raisons pour lesquelles vous pourriez avoir besoin d'utiliser des informations d'identification temporaires dans votre application ou votre projet, consultez la section Scénarios d'octroi d'un accès temporaire dans la AWS STS documentation.