Gestione delle chiavi di accesso IAM conAWS SDK for PHPVersione 3 - AWS SDK for PHP

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione delle chiavi di accesso IAM conAWS SDK for PHPVersione 3

Gli utenti hanno bisogno delle proprie chiavi di accesso per fare chiamate programmatiche aAWS. A questo scopo, è possibile creare, modificare, visualizzare o ruotare le chiavi di accesso (ID chiavi di accesso e chiave di accesso segreta) per gli utenti IAM. Per impostazione predefinita, quando viene creata una chiave di accesso, il suo stato è Attivo. Pertanto, l'utente può utilizzare la chiave di accesso per le chiamate alle API.

Gli esempi seguenti mostrano come:

  • Creare una Secret Access Key e l'ID della chiave corrispondente utilizzando CreateAccessKey.

  • Restituire informazioni sugli ID chiavi di accesso associati a un utente IAM utilizzandoListAccessKeys,.

  • Recuperare informazioni sulla data dell'ultimo utilizzo di una chiave di accesso tramite la funzione GetAccessKeyLastUsed.

  • Modificare lo stato di una chiave di accesso da Attivo a Inattivo o viceversa utilizzando UpdateAccessKey.

  • Eliminare una key pair di accesso associata a un utente IAM utilizzandoDeleteAccessKey.

La versione integrale del codice di esempio di AWS SDK for PHP è disponibile qui su GitHub.

Credenziali

Prima di eseguire il codice di esempio, configurareAWScredenziali, come descritto inImpostazione delle credenziali . Quindi importaAWS SDK for PHP, come descritto inUtilizzo di base.

Creare una chiave di accesso

Importazioni

require 'vendor/autoload.php'; use Aws\Iam\IamClient; use Aws\Exception\AwsException;

Codice di esempio

$client = new IamClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-05-08' ]); try { $result = $client->createAccessKey([ 'UserName' => 'IAM_USER_NAME', ]); $keyID = $result['AccessKey']['AccessKeyId']; $createDate = $result['AccessKey']['CreateDate']; $userName = $result['AccessKey']['UserName']; $status = $result['AccessKey']['Status']; // $secretKey = $result['AccessKey']['SecretAccessKey'] echo "<p>AccessKey " . $keyID . " created on " . $createDate . "</p>"; echo "<p>Username: " . $userName . "</p>"; echo "<p>Status: " . $status . "</p>"; } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Elencare le chiavi di accesso

Importazioni

require 'vendor/autoload.php'; use Aws\Iam\IamClient; use Aws\Exception\AwsException;

Codice di esempio

$client = new IamClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-05-08' ]); try { $result = $client->listAccessKeys(); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Ottenere informazioni sull'ultimo utilizzo di una chiave di accesso

Importazioni

require 'vendor/autoload.php'; use Aws\Iam\IamClient; use Aws\Exception\AwsException;

Codice di esempio

$client = new IamClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-05-08' ]); try { $result = $client->getAccessKeyLastUsed([ 'AccessKeyId' => 'ACCESS_KEY_ID', // REQUIRED ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Aggiornare una chiave di accesso

Importazioni

require 'vendor/autoload.php'; use Aws\Iam\IamClient; use Aws\Exception\AwsException;

Codice di esempio

$client = new IamClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-05-08' ]); try { $result = $client->updateAccessKey([ 'AccessKeyId' => 'ACCESS_KEY_ID', // REQUIRED 'Status' => 'Inactive', // REQUIRED 'UserName' => 'IAM_USER_NAME', ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Eliminare una chiave di accesso

Importazioni

require 'vendor/autoload.php'; use Aws\Iam\IamClient; use Aws\Exception\AwsException;

Codice di esempio

$client = new IamClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-05-08' ]); try { $result = $client->deleteAccessKey([ 'AccessKeyId' => 'ACCESS_KEY_ID', // REQUIRED 'UserName' => 'IAM_USER_NAME', ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }