Utilizzo diAWS KMSPolicy delle chiavi che utilizzano laAWS SDK for PHPVersione 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à.

Utilizzo diAWS KMSPolicy delle chiavi che utilizzano laAWS SDK for PHPVersione 3

Quando crei unaAWS Key Management Service(AWS KMS)customer master key (CMK), puoi stabilire chi può utilizzare e gestire quella CMK. Queste autorizzazioni sono contenute in un documento chiamato policy delle chiavi. È possibile utilizzare la policy della chiave per aggiungere, eliminare o modificare le autorizzazioni in qualsiasi momento per una CMK gestita dal cliente, ma non è possibile modificare la policy della chiave per una CMK gestita daAWS. Per ulteriori informazioni, consulta Autenticazione e controllo degli accessi per AWS KMS.

Gli esempi seguenti mostrano come:

La versione integrale del codice di esempio di AWS SDK for PHP è disponibile qui su GitHub.

Credenziali

Prima di eseguire il codice di esempio, configurare laAWScredenziali, come descritto inImpostazione delle credenziali . Quindi importaAWS SDK for PHP, come descritto inUtilizzo di base.

Per ulteriori informazioni sull'utilizzo diAWS Key Management Service(AWS KMS), consulta laAWS KMSGuida per gli sviluppatori.

Elencare tutte le policy delle chiavi

Per ottenere i nomi delle policy delle chiavi per una CMK, utilizza l'operazione ListKeyPolicies. L'unico nome della policy delle chiavi restituito è quello predefinito.

Importazioni

require 'vendor/autoload.php'; use Aws\Kms\KmsClient; 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->listKeyPolicies([ 'KeyId' => $keyId, 'Limit' => $limit, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Recupero di una policy delle chiavi

Per ottenere una policy delle chiavi per una CMK, utilizza l'operazione GetKeyPolicy.

GetKeyPolicy richiede un nome per la policy. A meno che tu non abbia creato una chiave per la policy al momento della creazione della CMK, il solo nome di policy valido è quello predefinito. Ulteriori informazioni sulle policy predefinite delle chiavi.

Importazioni

require 'vendor/autoload.php'; use Aws\Kms\KmsClient; 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'; $policyName = "default"; try { $result = $KmsClient->getKeyPolicy([ 'KeyId' => $keyId, 'PolicyName' => $policyName ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Impostazione di una policy delle chiavi

Per stabilire o modificare una policy delle chiavi per una CMK, utilizza l'operazione PutKeyPolicy.

PutKeyPolicy richiede un nome per la policy. A meno che tu non abbia creato una chiave per la policy al momento della creazione della CMK, il solo nome di policy valido è quello predefinito. Ulteriori informazioni sulla policy predefinita delle chiavi.

Importazioni

require 'vendor/autoload.php'; use Aws\Kms\KmsClient; 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'; $policyName = "default"; try { $result = $KmsClient->putKeyPolicy([ 'KeyId' => $keyId, 'PolicyName' => $policyName, 'Policy' => '{ "Version": "2012-10-17", "Id": "custom-policy-2016-12-07", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/root" }, "Action": [ "kms:*" ], "Resource": "*" }, { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/ExampleUser" }, "Action": [ "kms:Encrypt*", "kms:GenerateDataKey*", "kms:Decrypt*", "kms:DescribeKey*", "kms:ReEncrypt*" ], "Resource": "*" } ] } ' ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }