Utilisation des clés à l'aide de l'AWS KMSAPI et de la AWS SDK for PHP version 3 - AWS SDK for PHP

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation des clés à l'aide de l'AWS KMSAPI et de la AWS SDK for PHP version 3

Les principales ressources contenues dans AWS Key Management Service (AWS KMS) sont AWS KMS keys. Vous pouvez utiliser une clé KMS pour chiffrer vos données.

Les exemples suivants montrent comment :

  • Créez une clé KMS client à l'aide de CreateKey.

  • Générez une clé de données à l'aide de GenerateDataKey.

  • Affichez une clé KMS à l'aide de DescribeKey.

  • Obtenez les identifiants clés et les ARN des clés KMS à l'aide ListKeysde.

  • Activez les clés KMS à l'aide de EnableKey.

  • Désactivez les clés KMS à l'aide de DisableKey.

Tous les exemples de code pour le AWS SDK for PHP sont disponibles ici GitHub.

Informations d’identification

Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dansInformations d'identification. Importez ensuite leAWS SDK for PHP, comme décrit dansUtilisation de base.

Pour plus d'informations sur l'utilisation de AWS Key Management Service (AWS KMS), consultez le manuel du AWS KMS développeur.

Création d'une clé KMS

Pour créer une clé KMS, utilisez l'CreateKeyopération.

Importations

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

Exemple de code

$KmsClient = new Aws\Kms\KmsClient([ 'profile' => 'default', 'version' => '2014-11-01', 'region' => 'us-east-2' ]); //Creates a customer master key (CMK) in the caller's AWS account. $desc = "Key for protecting critical data"; try { $result = $KmsClient->createKey([ 'Description' => $desc, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Générer une clé de données

Pour générer une clé de chiffrement des données, utilisez l'GenerateDataKeyopération. Cette opération renvoie des copies en texte brut et chiffrées de la clé de données créée. Spécifiez la clé de données AWS KMS key sous laquelle vous souhaitez générer la clé de données.

Importations

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

Exemple de code

$KmsClient = new Aws\Kms\KmsClient([ 'profile' => 'default', 'version' => '2014-11-01', 'region' => 'us-east-2' ]); $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $keySpec = 'AES_256'; try { $result = $KmsClient->generateDataKey([ 'KeyId' => $keyId, 'KeySpec' => $keySpec, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Afficher une clé KMS

Pour obtenir des informations détaillées sur une clé KMS, notamment le nom de ressource Amazon (ARN) et l'état de la clé KMS, utilisez l'DescribeKeyopération.

DescribeKey ne récupère pas les alias. Pour obtenir des alias, utilisez l'ListAliasesopération.

Importations

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

Exemple de code

$KmsClient = new Aws\Kms\KmsClient([ 'profile' => 'default', 'version' => '2014-11-01', 'region' => 'us-east-2' ]); $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; try { $result = $KmsClient->describeKey([ 'KeyId' => $keyId, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Obtenez l'ID de clé et les ARN de clé d'une clé KMS

Pour obtenir l'ID et l'ARN de la clé KMS, utilisez l'ListAliasesopération.

Importations

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

Exemple de code

$KmsClient = new Aws\Kms\KmsClient([ 'profile' => 'default', 'version' => '2014-11-01', 'region' => 'us-east-2' ]); $limit = 10; try { $result = $KmsClient->listKeys([ 'Limit' => $limit, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Activer une clé KMS

Pour activer une clé KMS désactivée, utilisez l'EnableKeyopération.

Importations

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

Exemple de code

$KmsClient = new Aws\Kms\KmsClient([ 'profile' => 'default', 'version' => '2014-11-01', 'region' => 'us-east-2' ]); $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; try { $result = $KmsClient->enableKey([ 'KeyId' => $keyId, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Désactiver une clé KMS

Pour désactiver une clé KMS, utilisez l'DisableKeyopération. La désactivation d'une clé KMS empêche son utilisation.

Importations

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

Exemple de code

$KmsClient = new Aws\Kms\KmsClient([ 'profile' => 'default', 'version' => '2014-11-01', 'region' => 'us-east-2' ]); $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; try { $result = $KmsClient->disableKey([ 'KeyId' => $keyId, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }