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"; }