Amazon AWS SDK Guida di Installazione Pagina 135

  • Scaricare
  • Aggiungi ai miei manuali
  • Stampa
  • Pagina
    / 151
  • Indice
  • SEGNALIBRI
  • Valutato. / 5. Basato su recensioni clienti
Vedere la pagina 134
AWS STS has five operations that return temporary credentials: AssumeRole, AssumeRoleWithWebIdentity,
AssumeRoleWithSAML, GetFederationToken, and GetSessionToken. Using the GetSessionToken
operation is trivial, so let's use that one as an example.
$result = $client->getSessionToken();
The result for GetSessionToken and the other AWS STS operations always contains a 'Credentials' value.
If you print the result (e.g., print_r($result)), it looks like the following:
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>'
)
...
)
Using Temporary Credentials
You can use temporary credentials with another AWS client by instantiating the client and passing in the values
received from AWS STS directly.
use Aws\S3\S3Client;
$result = $client->getSessionToken();
$s3 = S3Client::factory(array(
'key' => $result['Credentials']['AccessKeyId'],
'secret' => $result['Credentials']['SecretAccessKey'],
'token' => $result['Credentials']['SessionToken'],
));
You can also construct a Credentials object and use that when instantiating the client.
use Aws\Common\Credentials\Credentials;
use Aws\S3\S3Client;
$result = $client->getSessionToken();
$credentials = new Credentials(
$result['Credentials']['AccessKeyId'],
$result['Credentials']['SecretAccessKey'],
$result['Credentials']['SessionToken']
);
$s3 = S3Client::factory(array('credentials' => $credentials));
However, the best way to provide temporary credentials is to use the createCredentials() helper method
included with StsClient. This method extracts the data from an AWS STS result and creates the Credentials
object for you.
$result = $sts->getSessionToken();
$credentials = $sts->createCredentials($result);
$s3 = S3Client::factory(array('credentials' => $credentials));
You can also use the same technique when setting credentials on an existing client object.
AWS Security Token Service
123
Vedere la pagina 134
1 2 ... 130 131 132 133 134 135 136 137 138 139 140 ... 150 151

Commenti su questo manuale

Nessun commento