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 para 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:
-
Crear una clave de acceso secreta y el ID de clave de acceso correspondiente con CreateAccessKey.
-
Devolver información sobre el ID de clave de acceso asociado a un usuario de IAM con ListAccessKeys.
-
Obtener información sobre el último uso de una clave de acceso con GetAccessKeyLastUsed.
-
Cambiar el estado de una clave de acceso de activa a inactiva o viceversa con UpdateAccessKey.
-
Eliminar un par de claves de acceso asociado a un usuario de IAM con DeleteAccessKey.
Todo el código de ejemplo de AWS SDK para PHP está disponible aquí en GitHub
Credenciales
Antes de ejecutar el código de ejemplo, configure sus credenciales de AWS, como se indica en Autenticación AWS con la AWS SDK para PHP versión 3. A continuación, importe AWS SDK para PHP, como se indica en Instalación del AWS SDK para PHP versión 3.
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()); }