Administración de claves de acceso IAM con la versión 3 de AWS SDK for PHP - AWS SDK for PHP

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administración de claves de acceso IAM con la versión 3 de AWS SDK for PHP

Los usuarios necesitan sus propias claves de acceso para realizar llamadas por programa a AWS. Para atender esta necesidad, puede crear, modificar, ver o rotar claves de acceso (ID de clave de acceso y claves de acceso secretas) de los usuarios de IAM. De forma predeterminada, cuando se crea una clave de acceso, su estado es activo. Esto significa que el usuario puede utilizar la clave de acceso para realizar llamadas a la API.

Los siguientes ejemplos muestran cómo:

  • Cree una clave de acceso secreta y el ID de clave de acceso correspondiente utilizando CreateAccessKey.

  • Devuelve información sobre las ID de las claves de acceso asociadas a un usuario de IAM que las utilice ListAccessKeys.

  • Recupera información sobre cuándo se utilizó GetAccessKeyLastUsedpor última vez una clave de acceso.

  • Cambie el estado de una clave de acceso de Activa a Inactiva, o viceversa, utilizando UpdateAccessKey.

  • Elimine un par de claves de acceso asociado a un usuario de IAM mediante DeleteAccessKey.

Todo el código de ejemplo para el AWS SDK for PHP está disponible aquí en GitHub.

Credenciales

Antes de ejecutar el código de ejemplo, configure sus credenciales de AWS, como se indica en Credentials. A continuación, importe AWS SDK for PHP, como se indica en Uso básico.

Creación de una clave de acceso

Importaciones

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

Código de muestra

$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()); }

Mostrar claves de acceso

Importaciones

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

Código de muestra

$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()); }

Obtener más información el último uso de una clave de acceso

Importaciones

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

Código de muestra

$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()); }

Actualizar una clave de acceso

Importaciones

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

Código de muestra

$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()); }

Eliminación de una clave de acceso

Importaciones

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

Código de muestra

$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()); }