Arbeiten mit Schlüsseln unter Verwendung der AWS KMS API und der AWS SDK for PHP Version 3 - AWS SDK for PHP

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mit Schlüsseln unter Verwendung der AWS KMS API und der AWS SDK for PHP Version 3

Die primären Ressourcen in AWS Key Management Service (AWS KMS) sind AWS KMS keys. Sie können einen KMS-Schlüssel verwenden, um Ihre Daten zu verschlüsseln.

In den nachstehenden Beispielen wird Folgendes veranschaulicht:

  • Erstellen Sie einen Kunden-KMS-Schlüssel mit CreateKey.

  • Generieren Sie einen Datenschlüssel mit GenerateDataKey.

  • Zeigen Sie einen KMS-Schlüssel mit anDescribeKey.

  • Rufen Sie Schlüssel-IDs und Schlüssel-ARNS von KMS-Schlüsseln mit abListKeys.

  • Aktivieren Sie KMS-Schlüssel mit EnableKey.

  • Deaktivieren Sie KMS-Schlüssel mit DisableKey.

Der gesamte Beispielcode für die AWS SDK for PHP ist hier auf GitHubverfügbar.

Anmeldeinformationen

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen, wie unter beschriebenAnmeldeinformationen. Importieren Sie dann die AWS SDK for PHP, wie unter beschriebenGrundlegende Verwendung.

Weitere Informationen zur Verwendung von AWS Key Management Service (AWS KMS) finden Sie im AWS KMS -Entwicklerhandbuch.

Erstellen eines KMS-Schlüssels

Um einen KMS-Schlüssel zu erstellen, verwenden Sie die -CreateKeyOperation.

Importe

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

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

Erzeugen eines Datenschlüssels

Um einen Datenverschlüsselungsschlüssel zu generieren, verwenden Sie die -GenerateDataKeyOperation. Diese Operation gibt eine Klartextkopie und eine verschlüsselte Kopie des von ihr erstellten Datenschlüssels zurück. Geben Sie die an, AWS KMS key unter der der Datenschlüssel generiert werden soll.

Importe

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

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

Anzeigen eines KMS-Schlüssels

Um detaillierte Informationen zu einem KMS-Schlüssel zu erhalten, einschließlich des Amazon-Ressourcennamens (ARN) des KMS-Schlüssels und des Schlüsselstatus , verwenden Sie die -DescribeKeyOperation.

Mit DescribeKey können keine Aliasnamen abgerufen werden. Um Aliase abzurufen, verwenden Sie die -ListAliasesOperation.

Importe

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

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

Abrufen der Schlüssel-ID und der Schlüssel-ARNs eines KMS-Schlüssels

Um die ID und den ARN des KMS-Schlüssels abzurufen, verwenden Sie die -ListAliasesOperation.

Importe

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

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

Aktivieren eines KMS-Schlüssels

Um einen deaktivierten KMS-Schlüssel zu aktivieren, verwenden Sie die -EnableKeyOperation.

Importe

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

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

Deaktivieren eines KMS-Schlüssels

Um einen KMS-Schlüssel zu deaktivieren, verwenden Sie die -DisableKeyOperation. Das Deaktivieren eines KMS-Schlüssels verhindert, dass er verwendet wird.

Importe

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

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