Uso de ListKeyPolicies con un SDK de AWS o la CLI
Los siguientes ejemplos de código muestran cómo utilizar ListKeyPolicies.
- CLI
-
- AWS CLI
-
Obtención de los nombres de las políticas de claves de una clave de KMS
En el siguiente ejemplo de
list-key-policiesse obtienen los nombres de las políticas de clave de una clave administrada por el cliente en la cuenta y la región del ejemplo. Puede usar este comando para encontrar los nombres de las políticas de claves para las claves administradas por AWS y por el cliente.Este comando no resulta útil, ya que el único nombre de la política de claves válido es
default.Para especificar la clave de KMS, utilice el parámetro
key-id. En este ejemplo, se utiliza un valor de ID de clave, pero puede utilizar un ID de clave o un ARN de clave en este comando.aws kms list-key-policies \ --key-id1234abcd-12ab-34cd-56ef-1234567890abSalida:
{ "PolicyNames": [ "default" ] }Para obtener más información acerca de las políticas de claves de AWS KMS, consulte Uso de políticas de claves en AWS KMS en la Guía para desarrolladores de AWS Key Management Service.
-
Para obtener información sobre la API, consulte ListKeyPolicies
en la Referencia de comandos de la AWS CLI.
-
- Java
-
- SDK para Java 2.x
-
nota
Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de 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); }); }-
Para obtener información sobre la API, consulte ListKeyPolicies en la Referencia de API de AWS SDK for Java 2.x.
-
- Python
-
- SDK para Python (Boto3)
-
nota
Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de 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)-
Para obtener información sobre la API, consulte ListKeyPolicies en la Referencia de la API de AWS SDK para Python (Boto3).
-
Para obtener una lista completa de las guías para desarrolladores de AWS SDK y ejemplos de código, consulte Cómo utilizar este servicio con un AWS SDK. En este tema también se incluye información sobre cómo comenzar a utilizar el SDK y detalles sobre sus versiones anteriores.