Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bekerja dengan hibah menggunakan AWS KMS API dan AWS SDK for PHP versi 3
Hibah adalah mekanisme lain untuk memberikan izin. Ini adalah alternatif dari kebijakan utama. Anda dapat menggunakan hibah untuk memberikan akses jangka panjang yang memungkinkan AWS prinsipal menggunakan () yang dikelola pelanggan AndaAWS Key Management Service. AWS KMS AWS KMS keys Untuk informasi selengkapnya, lihat Hibah AWS KMS di Panduan AWS Key Management Service Pengembang.
Contoh berikut menunjukkan cara:
-
Buat hibah untuk menggunakan CreateGrantkunci KMS.
-
Lihat hibah untuk menggunakan ListGrantskunci KMS.
-
Pensiun hibah untuk menggunakan kunci KMS. RetireGrant
-
Mencabut hibah untuk menggunakan kunci KMS. RevokeGrant
Semua kode contoh untuk AWS SDK for PHP tersedia di sini GitHub
Kredensial
Sebelum menjalankan kode contoh, konfigurasikan AWS kredenal 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 hibah
Untuk membuat hibah untukAWS KMS key, gunakan CreateGrantoperasi.
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'; $granteePrincipal = "arn:aws:iam::111122223333:user/Alice"; $operation = ['Encrypt', 'Decrypt']; // A list of operations that the grant allows. try { $result = $KmsClient->createGrant([ 'GranteePrincipal' => $granteePrincipal, 'KeyId' => $keyId, 'Operations' => $operation ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Lihat izin
Untuk mendapatkan informasi rinci tentang hibah padaAWS KMS key, gunakan ListGrantsoperasi.
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'; $limit = 10; try { $result = $KmsClient->listGrants([ 'KeyId' => $keyId, 'Limit' => $limit, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Pensiun hibah
Untuk pensiun hibah untukAWS KMS key, gunakan RetireGrantoperasi. Pensiun hibah untuk membersihkan setelah Anda selesai menggunakannya.
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' ]); $grantToken = 'Place your grant token here'; try { $result = $KmsClient->retireGrant([ 'GrantToken' => $grantToken, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; } //Can also identify grant to retire by a combination of the grant ID //and the Amazon Resource Name (ARN) of the customer master key (CMK) $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $grantId = 'Unique identifier of the grant returned during CreateGrant operation'; try { $result = $KmsClient->retireGrant([ 'GrantId' => $grantToken, 'KeyId' => $keyId, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Mencabut hibah
Untuk mencabut hibah keAWS KMS key, gunakan operasi. RevokeGrant Anda dapat mencabut izin untuk secara eksplisit menolak operasi yang bergantung padanya.
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'; $grantId = "grant1"; try { $result = $KmsClient->revokeGrant([ 'KeyId' => $keyId, 'GrantId' => $grantId, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }