Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
GetKeyPolicy
Úselo con un AWS SDKo CLI
En los siguientes ejemplos de código, se muestra cómo utilizar GetKeyPolicy
.
- CLI
-
- AWS CLI
-
Para copiar una política de claves de una KMS clave a otra KMS
En el siguiente get-key-policy
ejemplo, se obtiene la política de claves de una KMS clave y se guarda en un archivo de texto. A continuación, reemplaza la política de una KMS clave diferente utilizando el archivo de texto como entrada de política.
Como el --policy
parámetro de put-key-policy
requiere una cadena, debe usar la --output text
opción para devolver el resultado como una cadena de texto en lugar de hacerloJSON.
aws kms get-key-policy \
--policy-name default
\
--key-id 1234abcd-12ab-34cd-56ef-1234567890ab
\
--query Policy
\
--output text
>
policy.txt
aws
kms
put-key-policy
\
--policy-name default
\
--key-id 0987dcba-09fe-87dc-65ba-ab0987654321
\
--policy file://policy.txt
Este comando no genera ninguna salida.
Para obtener más información, consulte PutKeyPolicyen la AWS KMSAPIReferencia.
- Python
-
- SDKpara Python (Boto3)
-
class KeyPolicy:
def __init__(self, kms_client):
self.kms_client = kms_client
def get_policy(self, key_id):
"""
Gets the policy of a key.
:param key_id: The ARN or ID of the key to query.
:return: The key policy as a dict.
"""
if key_id != "":
try:
response = self.kms_client.get_key_policy(
KeyId=key_id, PolicyName="default"
)
policy = json.loads(response["Policy"])
except ClientError as err:
logger.error(
"Couldn't get policy for key %s. Here's why: %s",
key_id,
err.response["Error"]["Message"],
)
else:
pprint(policy)
return policy
else:
print("Skipping get policy demo.")
Para obtener una lista completa de AWS SDKguías para desarrolladores y ejemplos de código, consulteUtilización AWS KMS con un AWS SDK. En este tema también se incluye información sobre cómo empezar y detalles sobre SDK las versiones anteriores.