Utilizzo delle chiaviAWS KMSAPI e ilAWS 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à.

Utilizzo delle chiaviAWS KMSAPI e ilAWS SDK for PHPVersione 3

Le risorse primarie in AWS Key Management Service (AWS KMS) sono le chiavi master del cliente (CMK). Puoi usare una CMK per crittografare i dati.

Gli esempi seguenti mostrano come:

  • Creare una CMK del cliente utilizzando CreateKey.

  • Generare una chiave dei dati utilizzando GenerateDataKey.

  • Visualizzare una CMK utilizzando DescribeKey.

  • Ottenere gli ID e gli ARN delle chiavi delle CMK utilizzando ListKeys.

  • Abilitare le CMK utilizzando EnableKey.

  • Disabilitare le CMK utilizzando DisableKey.

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

Credenziali

Prima di eseguire il codice di esempio, configuraAWScredenziali, come descritto nellaImpostazione delle credenziali . Quindi importaAWS SDK for PHP, come descritto nellaUtilizzo di base.

Per ulteriori informazioni sull'utilizzoAWS Key Management Service(AWS KMS), consultaAWS KMSGuida per gli sviluppatori.

Crea una CMK

Per creare una CMK, utilizzare l'operazione CreateKey.

Importazioni

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

Codice di esempio

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

Generazione di una chiave di dati

Per generare una chiave di crittografia dei dati, utilizza l'operazione GenerateDataKey. Questa operazione restituisce il testo normale e copie crittografate della chiave di dati creata. Specifica la chiave master del cliente (CMK) in cui generare la chiave dei dati.

Importazioni

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

Codice di esempio

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

Visualizza una CMK

Per ottenere informazioni dettagliate su una chiave master del cliente (CMK), tra cui l'Amazon Resource Name (ARN) della CMK e lo stato della chiave, utilizza l'operazione DescribeKey.

DescribeKey non ottiene alias. Per ottenere gli alias, utilizza l'operazione ListAliases.

Importazioni

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

Codice di esempio

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

Scarica l'ID della chiave e gli ARN delle chiavi di una CMK

Per ottenere l'ID e ARN di una CMK, utilizza l'operazione ListAliases.

Importazioni

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

Codice di esempio

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

Abilita una CMK

Per abilitare una chiave master del cliente (CMK) disabilitata, utilizza l'operazione EnableKey.

Importazioni

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

Codice di esempio

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

Disattiva una CMK

Per disabilitare una CMK, utilizza l'operazione DisableKey. Se una CMK viene disabilitata, non verrà utilizzata.

Importazioni

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

Codice di esempio

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