Utilisation de ListKeyPolicies avec un kit AWS SDK ou une interface de ligne de commande - Exemples de code de kit AWS SDK

D’autres exemples de kits AWS SDK sont disponibles dans le référentiel GitHub AWS Doc SDK Examples.

Utilisation de ListKeyPolicies avec un kit AWS SDK ou une interface de ligne de commande

Les exemples de code suivants illustrent comment utiliser ListKeyPolicies.

CLI
AWS CLI

Pour obtenir les noms des stratégies de clé pour une clé KMS

L’exemple list-key-policies suivant obtient les noms des stratégies de clé pour une clé gérée par le client dans les exemples de compte et de région. Vous pouvez utiliser cette commande pour obtenir les noms des stratégies de clé pour les clés gérées par AWS et les clés gérées par le client.

Comme le seul nom de stratégie de clé valide est default, cette commande n’est pas utile.

Pour spécifier la clé KMS, utilisez le paramètre key-id. Cet exemple utilise une valeur d’ID de clé, mais vous pouvez utiliser un ID de clé ou un ARN de clé dans cette commande.

aws kms list-key-policies \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Sortie :

{ "PolicyNames": [ "default" ] }

Pour plus d’informations sur les stratégies de clé AWS KMS, consultez Utilisation de stratégies de clé dans AWS KMS dans le Guide du développeur AWS Key Management Service.

  • Pour plus de détails sur l’API, consultez ListKeyPolicies dans la Référence des commandes de l’AWS CLI.

Java
SDK pour Java 2.x
Note

Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

/** * Asynchronously retrieves the key policy for the specified key ID and policy name. * * @param keyId the ID of the AWS KMS key for which to retrieve the policy * @param policyName the name of the key policy to retrieve * @return a {@link CompletableFuture} that, when completed, contains the key policy as a {@link String} */ public CompletableFuture<String> getKeyPolicyAsync(String keyId, String policyName) { GetKeyPolicyRequest policyRequest = GetKeyPolicyRequest.builder() .keyId(keyId) .policyName(policyName) .build(); return getAsyncClient().getKeyPolicy(policyRequest) .thenApply(response -> { String policy = response.policy(); logger.info("The response is: " + policy); return policy; }) .exceptionally(ex -> { throw new RuntimeException("Failed to get key policy", ex); }); }
  • Pour plus de détails sur l’API, consultez ListKeyPolicies dans la Référence des API du kit AWS SDK for Java 2.x.

Python
Kit SDK pour Python (Boto3)
Note

Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

class KeyPolicy: def __init__(self, kms_client): self.kms_client = kms_client @classmethod def from_client(cls) -> "KeyPolicy": """ Creates a KeyPolicy instance with a default KMS client. :return: An instance of KeyPolicy initialized with the default KMS client. """ kms_client = boto3.client("kms") return cls(kms_client) def list_policies(self, key_id): """ Lists the names of the policies for a key. :param key_id: The ARN or ID of the key to query. """ try: policy_names = self.kms_client.list_key_policies(KeyId=key_id)[ "PolicyNames" ] except ClientError as err: logging.error( "Couldn't list your policies. Here's why: %s", err.response["Error"]["Message"], ) raise else: print(f"The policies for key {key_id} are:") pprint(policy_names)
  • Pour plus de détails sur l’API, consultez ListKeyPolicies dans la Référence des API du kit AWS SDK for Python (Boto3).