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.
Verwenden Sie es GetKeyPolicy
mit einem AWS SDK oder CLI
Die folgenden Codebeispiele zeigen, wie man es benutztGetKeyPolicy
.
Beispiele für Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Im folgenden Codebeispiel können Sie diese Aktion im Kontext sehen:
- CLI
-
- AWS CLI
-
Um eine Schlüsselrichtlinie von einem KMS Schlüssel auf einen anderen KMS zu kopieren
Im folgenden get-key-policy
Beispiel wird die Schlüsselrichtlinie von einem KMS Schlüssel abgerufen und in einer Textdatei gespeichert. Anschließend wird die Richtlinie eines anderen KMS Schlüssels ersetzt, wobei die Textdatei als Richtlinieneingabe verwendet wird.
Da für den --policy
Parameter von eine Zeichenfolge put-key-policy
erforderlich ist, müssen Sie die --output text
Option verwenden, um die Ausgabe als Textzeichenfolge anstatt als zurückzugebenJSON.
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
Mit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie PutKeyPolicyin der AWS KMSAPIReferenz.
- Python
-
- SDKfür Python (Boto3)
-
Es gibt noch mehr dazu. GitHub Sie sehen das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel-Repository einrichten und ausführen.
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 get_policy(self, key_id: str) -> dict[str, str]:
"""
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,
)
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"],
)
raise
else:
pprint(policy)
return policy
else:
print("Skipping get policy demo.")
Eine vollständige Liste der AWS SDK Entwicklerhandbücher und Codebeispiele finden Sie unter. Verwenden Sie diesen Dienst mit einem AWS SDK Dieses Thema enthält auch Informationen zu den ersten Schritten und Details zu früheren SDK Versionen.