Arbeiten mit AWS KMS Schlüsselrichtlinien unter Verwendung von AWS SDK for PHP Version 3 - AWS SDK for PHP

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mit AWS KMS Schlüsselrichtlinien unter Verwendung von AWS SDK for PHP Version 3

Wenn Sie ein erstellenAWS KMS key, bestimmen Sie, wer diesen KMS-Schlüssel verwenden und verwalten kann. Diese Berechtigungen werden in einem Dokument namens Schlüsselrichtlinie festgehalten. Sie können die Schlüsselrichtlinie verwenden, um Berechtigungen für einen vom Kunden verwalteten KMS-Schlüssel jederzeit hinzuzufügen, zu entfernen oder zu ändern, aber Sie können die Schlüsselrichtlinie für einen von AWS verwalteten KMS-Schlüssel nicht bearbeiten. Weitere Informationen finden Sie unter Authentifizierung und Zugriffskontrolle für AWS KMS.

In den nachstehenden Beispielen wird Folgendes veranschaulicht:

  • Listen Sie die Namen der Schlüsselrichtlinien mithilfe von aufListKeyPolicies.

  • Rufen Sie eine Schlüsselrichtlinie mit abGetKeyPolicy.

  • Legen Sie eine Schlüsselrichtlinie mit festPutKeyPolicy.

Der gesamte Beispielcode für die AWS SDK for PHP ist hier auf GitHubverfügbar.

Anmeldeinformationen

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen, wie unter beschriebenAnmeldeinformationen. Importieren Sie dann die AWS SDK for PHP, wie unter beschriebenGrundlegende Verwendung.

Weitere Informationen zur Verwendung von AWS Key Management Service (AWS KMS) finden Sie im AWS KMS -Entwicklerhandbuch.

Auflisten aller Schlüsselrichtlinien

Um die Namen der Schlüsselrichtlinien für einen KMS-Schlüssel abzurufen, verwenden Sie die -ListKeyPoliciesOperation.

Importe

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

Beispiel-Code

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

Abrufen einer Schlüsselrichtlinie

Um die Schlüsselrichtlinie für einen KMS-Schlüssel abzurufen, verwenden Sie die -GetKeyPolicyOperation.

GetKeyPolicy erfordert einen Richtliniennamen. Sofern Sie beim Erstellen des KMS-Schlüssels keine Schlüsselrichtlinie erstellt haben, ist der einzige gültige Richtlinienname der Standard. Weitere Informationen zur Standardschlüsselrichtlinie finden Sie im AWS Key Management Service Entwicklerhandbuch für .

Importe

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

Beispiel-Code

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

Festlegen einer Schlüsselrichtlinie

Um eine Schlüsselrichtlinie für einen KMS-Schlüssel einzurichten oder zu ändern, verwenden Sie die -PutKeyPolicyOperation.

PutKeyPolicy erfordert einen Richtliniennamen. Sofern Sie beim Erstellen des KMS-Schlüssels keine Schlüsselrichtlinie erstellt haben, ist der einzige gültige Richtlinienname der Standard. Weitere Informationen zur Standardschlüsselrichtlinie finden Sie im AWS Key Management Service Entwicklerhandbuch für .

Importe

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

Beispiel-Code

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