Bekerja dengan hibah menggunakan AWS KMS API dan AWS SDK for PHP versi 3 - AWS SDK for PHP

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:

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