Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden Sie temporäre Anmeldeinformationen von AWS STS
AWS Security Token Service (AWS STS) ermöglicht es Ihnen, eingeschränkte Rechte und temporäre Anmeldeinformationen für IAM Benutzer oder für Benutzer, die Sie über einen Identitätsverbund authentifizieren, anzufordern. Weitere Informationen finden Sie unter Temporäre Sicherheitsanmeldedaten im IAMBenutzerhandbuch. Für den Zugriff auf die meisten AWS Dienste können Sie temporäre Sicherheitsanmeldedaten verwenden. Eine Liste der Dienste, die temporäre Sicherheitsanmeldedaten akzeptieren, finden Sie IAM im IAMBenutzerhandbuch unter AWS Services that work with.
Ein häufiger Anwendungsfall für temporäre Anmeldeinformationen besteht darin, mobilen oder clientseitigen Anwendungen Zugriff auf AWS Ressourcen zu gewähren, indem Benutzer über externe Identitätsanbieter authentifiziert werden (siehe Web Identity Federation).
Abrufen temporärer Anmeldeinformationen
AWS STS hat mehrere Operationen, die temporäre Anmeldeinformationen zurückgeben, aber der GetSessionToken
Vorgang ist am einfachsten zu demonstrieren. Das folgende Codefragment ruft temporäre Anmeldeinformationen ab, indem es die getSessionToken
Methode des 's-Clients aufruft. PHP SDK STS
$sdk = new Aws\Sdk([ 'region' => 'us-east-1', ]); $stsClient = $sdk->createSts(); $result = $stsClient->getSessionToken();
Das Ergebnis für GetSessionToken
und die anderen AWS STS Operationen enthält immer einen Wert. 'Credentials'
Wenn Sie das drucken $result
(zum Beispiel mitprint_r($result)
), sieht es wie folgt aus.
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>' ) ... )
Bereitstellung temporärer Anmeldeinformationen für AWS SDK for PHP
Sie können temporäre Anmeldeinformationen mit einem anderen AWS Client verwenden, indem Sie den Client instanziieren und die von AWS STS diesem empfangenen Werte direkt übergeben.
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'] ] ]);
Sie können auch ein Aws\Credentials\Credentials
-Objekt konstruieren und es bei der Instanziierung des Clients verwenden.
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 ]);
Allerdings ist die beste Möglichkeit, temporäre Anmeldeinformationen bereitzustellen, die Verwendung der createCredentials()
Hilfsmethode aus dem StsClient
. Diese Methode extrahiert die Daten aus einem AWS STS Ergebnis und erstellt das Credentials
Objekt für Sie.
$result = $stsClient->getSessionToken(); $credentials = $stsClient->createCredentials($result); $s3Client = new S3Client([ 'version' => '2006-03-01', 'region' => 'us-west-2', 'credentials' => $credentials ]);
Weitere Informationen darüber, warum Sie möglicherweise temporäre Anmeldeinformationen in Ihrer Anwendung oder Ihrem Projekt verwenden müssen, finden Sie in der AWS STS Dokumentation unter Szenarien für die Gewährung temporären Zugriffs.