Lavorare con le sovvenzioni utilizzando l'AWS KMSAPI e la AWS SDK for PHP versione 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à.

Lavorare con le sovvenzioni utilizzando l'AWS KMSAPI e la AWS SDK for PHP versione 3

Una concessione è un altro meccanismo per fornire le autorizzazioni. È un'alternativa alla politica chiave. Puoi utilizzare le sovvenzioni per concedere un accesso a lungo termine che consenta ai AWS mandanti di utilizzare i servizi AWS Key Management Service (AWS KMS) gestiti dai clienti. AWS KMS keys Per ulteriori informazioni, consulta Grants nella AWS KMS Developer Guide. AWS Key Management Service

Gli esempi seguenti mostrano come:

  • Crea una sovvenzione per una chiave KMS utilizzando. CreateGrant

  • Visualizza una concessione per una chiave KMS utilizzando. ListGrants

  • Ritirare una sovvenzione per l'utilizzo di una chiave KMS. RetireGrant

  • Revoca una concessione per una chiave KMS utilizzando. RevokeGrant

Tutto il codice di esempio per il AWS SDK for PHP è disponibile qui. GitHub

Credenziali

Prima di eseguire il codice di esempio, configurate AWS le vostre credenziali, come descritto inCredenziali. Quindi importate il fileAWS SDK for PHP, come descritto inUtilizzo di base.

Per ulteriori informazioni sull'utilizzo di AWS Key Management Service (AWS KMS), consulta la Guida per gli AWS KMS sviluppatori.

Creazione di una concessione

Per creare una sovvenzione per unAWS KMS key, usa l'CreateGrantoperazione.

Importazioni

require 'vendor/autoload.php'; 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'; $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"; }

Visualizza una concessione

Per ottenere informazioni dettagliate sulle sovvenzioni concesse a anAWS KMS key, usa l'ListGrantsoperazione.

Importazioni

require 'vendor/autoload.php'; 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'; $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"; }

Ritirare una borsa di studio

Per ritirare una sovvenzione per unAWS KMS key, usa l'RetireGrantoperazione. Ritira una concessione al termine del suo utilizzo.

Importazioni

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

Codice di esempio

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

Revocare una sovvenzione

Per revocare una concessione a unAWS KMS key, usa l'operazione. RevokeGrant Puoi revocare una concessione per negare esplicitamente le operazioni che dipendono da essa.

Importazioni

require 'vendor/autoload.php'; 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'; $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"; }