Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation des politiques AWS KMS clés à l'aide de la AWS SDK for PHP version 3
Lorsque vous créez une clé KMS AWS KMS key, vous déterminez qui peut utiliser et gérer cette clé KMS. Ces autorisations sont contenues dans un document appelé politique de clé. Vous pouvez utiliser la politique clé pour ajouter, supprimer ou modifier des autorisations à tout moment pour une clé KMS gérée par le client, mais vous ne pouvez pas modifier la politique clé pour une clé KMS AWS gérée. Pour plus d'informations, consultez Authentification et contrôle d'accès pour AWS KMS.
Les exemples suivants montrent comment :
-
Répertoriez les noms des principales politiques à l'aide de ListKeyPolicies.
-
Obtenez une politique clé en utilisant GetKeyPolicy.
-
Définissez une politique clé à l'aide de PutKeyPolicy.
Tous les exemples de code pour le AWS SDK for PHP sont disponibles ici GitHub
Informations d’identification
Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dansInformations d'identification. Importez ensuite leAWS SDK for PHP, comme décrit dansUtilisation de base.
Pour plus d'informations sur l'utilisation de AWS Key Management Service (AWS KMS), consultez le manuel du AWS KMS développeur.
Répertorier toutes les politiques clés
Pour obtenir les noms des politiques clés pour une clé KMS, utilisez l'ListKeyPolicies
opération.
Importations
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Exemple de 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"; }
Récupérer une politique clé
Pour obtenir la politique de clé d'une clé KMS, utilisez l'GetKeyPolicy
opération.
GetKeyPolicy
nécessite un nom de politique. À moins que vous n'ayez créé une politique clé lors de la création de la clé KMS, le seul nom de politique valide est le nom par défaut. Pour en savoir plus sur la politique relative aux clés par défaut, consultez le guide du AWS Key Management Service développeur.
Importations
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Exemple de 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"; }
Définissez une politique clé
Pour établir ou modifier une politique de clé pour une clé KMS, utilisez l'PutKeyPolicy
opération.
PutKeyPolicy
nécessite un nom de politique. À moins que vous n'ayez créé une politique clé lors de la création de la clé KMS, le seul nom de politique valide est le nom par défaut. Pour en savoir plus sur la politique relative aux clés par défaut, consultez le guide du AWS Key Management Service développeur.
Importations
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Exemple de 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"; }