Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bekerja dengan kunci menggunakan AWS KMS API dan AWS SDK for PHP Versi 3
Sumber daya utama di AWS Key Management Service (AWS KMS) adalah AWS KMS keys. Anda dapat menggunakan kunci KMS untuk mengenkripsi data Anda.
Contoh berikut menunjukkan cara:
-
Buat kunci KMS pelanggan menggunakan CreateKey.
-
Hasilkan kunci data menggunakan GenerateDataKey.
-
Lihat tombol KMS menggunakan DescribeKey.
-
Dapatkan ID kunci dan ARNS kunci kunci KMS menggunakan. ListKeys
-
Aktifkan tombol KMS menggunakan EnableKey.
-
Nonaktifkan tombol KMS menggunakan DisableKey.
Semua kode contoh untuk AWS SDK for PHP tersedia di sini GitHub
Kredensial
Sebelum menjalankan kode contoh, konfigurasikan AWS kredensil Anda, seperti yang dijelaskan dalam. Kredensial Kemudian imporAWS SDK for PHP, seperti yang dijelaskan dalamPenggunaan dasar.
Untuk informasi selengkapnya tentang menggunakan AWS Key Management Service (AWS KMS), lihat Panduan AWS KMS Pengembang.
Buat kunci KMS
Untuk membuat kunci KMS, gunakan CreateKeyoperasi.
Impor
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Kode Sampel
$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"; }
Menghasilkan kunci data
Untuk menghasilkan kunci enkripsi data, gunakan GenerateDataKeyoperasi. Operasi ini mengembalikan plaintext dan salinan terenkripsi dari kunci data yang dibuatnya. Tentukan AWS KMS key di bawah mana untuk menghasilkan kunci data.
Impor
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Kode Sampel
$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"; }
Lihat kunci KMS
Untuk mendapatkan informasi terperinci tentang kunci KMS, termasuk Amazon Resource Name (ARN) kunci KMS dan status kunci, gunakan operasi. DescribeKey
DescribeKey
tidak mendapatkan alias. Untuk mendapatkan alias, gunakan ListAliasesoperasi.
Impor
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Kode Sampel
$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"; }
Dapatkan ID kunci dan ARN kunci dari kunci KMS
Untuk mendapatkan ID dan ARN dari kunci KMS, gunakan operasi. ListAliases
Impor
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Kode Sampel
$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"; }
Aktifkan kunci KMS
Untuk mengaktifkan kunci KMS yang dinonaktifkan, gunakan EnableKeyoperasi.
Impor
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Kode Sampel
$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"; }
Nonaktifkan tombol KMS
Untuk menonaktifkan kunci KMS, gunakan DisableKeyoperasi. Menonaktifkan kunci KMS mencegahnya digunakan.
Impor
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Kode Sampel
$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"; }