Verwalten von Erteilungen - AWS Key Management Service

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.

Verwalten von Erteilungen

Prinzipale mit den erforderlichen Berechtigungen können Erteilungen anzeigen, verwenden und löschen (aufheben oder widerrufen). AWS KMS Unterstützt verschiedene Richtlinienbedingungen, die Sie in wichtigen Richtlinien und IAM-Richtlinien verwenden können, um die Berechtigungen für die Erstellung und Verwaltung von Zuschüssen zu verfeinern.

Steuerung des Zugriffs auf Erteilungen

Sie können den Zugriff auf Operationen steuern, die Erteilungen in Schlüsselrichtlinien, IAM-Richtlinien und anderen Erteilungen erstellen und verwalten. Prinzipale, die die CreateGrant-Berechtigung von einer Erteilung erhalten, haben mehr eingeschränkte Erteilungs-Berechtigungen.

API-Produktion Schlüsselrichtlinie oder IAM-Richtlinie Gewährung
CreateGrant
ListGrants -
ListRetirableGrants -
Außerbetriebnahme einer Erteilung (Begrenzt. Siehe Außerbetriebnahme und Widerruf von Erteilungen)
RevokeGrant -

Wenn Sie eine Schlüsselrichtlinie oder IAM-Richtlinie verwenden, um den Zugriff auf Vorgänge zu steuern, die Zuschüsse erstellen und verwalten, können Sie eine oder mehrere der folgenden Richtlinienbedingungen verwenden, um die Berechtigungen einzuschränken. AWS KMS unterstützt alle der folgenden Bedingungsschlüssel im Zusammenhang mit Zuschüssen. Ausführliche Informationen und Beispiele finden Sie unter AWS KMS Bedingungsschlüssel.

km: GrantConstraintType

Erlaubt es Prinzipalen, eine Erteilung nur zu erstellen, wenn die Erteilung die angegebene Erteilungs-Einschränkung enthält.

km: GrantIsFor AWSResource

Ermöglicht es PrincipalsCreateGrant, anzurufenListGrants, oder RevokeGrant nur, wenn ein AWS Service, der in integriert ist, die Anfrage im Namen des Prinzipals AWS KMS sendet.

km: GrantOperations

Erlaubt es Prinzipalen, eine Erteilung zu erstellen, beschränkt jedoch die Erteilung auf die angegebenen Operationen.

km: GranteePrincipal

Erlaubt es Prinzipalen, eine Erteilung nur für den angegebenen Empfänger-Prinzipal zu erstellen.

km: RetiringPrincipal

Erlaubt es Prinzipalen, eine Erteilung nur zu erstellen, wenn die Erteilung einen bestimmten ausscheidenden Prinzipal angibt.

Anzeigen einer Erteilung

Verwenden Sie die ListGrantsOperation, um den Zuschuss einzusehen. Sie müssen den KMS-Schlüssel angeben, für den die Erteilungen gelten. Sie können die Liste der Erteilungen auch nach Erteilungs-ID oder Empfänger-Prinzipal filtern. Weitere Beispiele finden Sie unter Anzeigen einer Erteilung.

Um alle Zuschüsse in der Region AWS-Konto und mit einem bestimmten ausscheidenden Schulleiter einzusehen, verwenden Sie ListRetirableGrants. Die Antworten enthalten Details zu den einzelnen Erteilungen.

Anmerkung

Das GranteePrincipal-Feld in der ListGrants-Antwort enthält normalerweise den Berechtigungsprinzipal der Genehmigung. Handelt es sich bei der Hauptperson des Zuschusses jedoch um eine AWS Dienstleistung, enthält das GranteePrincipal Feld den Dienstprinzipal, der für mehrere verschiedene Schulleiter stehen kann.

Mit dem folgenden Befehl werden beispielsweise alle Erteilungen für einen KMS-Schlüssel aufgeführt.

$ aws kms list-grants --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "Grants": [ { "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1572216195.0, "GrantId": "abcde1237f76e4ba7987489ac329fbfba6ad343d6f7075dbd1ef191f0120514a", "Constraints": { "EncryptionContextSubset": { "Department": "IT" } }, "RetiringPrincipal": "arn:aws:iam::111122223333:role/adminRole", "Name": "", "IssuingAccount": "arn:aws:iam::111122223333:root", "GranteePrincipal": "arn:aws:iam::111122223333:user/exampleUser", "Operations": [ "Decrypt" ] } ] }

Verwenden eines Erteilungs-Token

Die AWS KMS API folgt einem späteren Konsistenzmodell. Beim Erstellen einer Erteilung ist die Erteilung möglicherweise nicht sofort gültig. Es kann zu einer kurzen Verzögerung kommen, bevor die Änderung in allen Bereichen von AWS KMS verfügbar ist. In der Regel dauert es weniger als ein paar Sekunden, bis sich die Änderung im gesamten System verbreitet, in einigen Fällen kann es jedoch mehrere Minuten dauern. Sobald sich die Änderung vollständig im System verbreitet hat, kann der Empfänger-Prinzipal die Berechtigungen in der Berechtigungserteilung verwenden, ohne das Berechtigungserteilungs-Token oder irgendwelche Beweise für die Berechtigungserteilung anzugeben. Wenn ein Zuschuss jedoch so neu ist, dass er noch nicht allen bekannt ist AWS KMS, schlägt die Anfrage möglicherweise mit einem AccessDeniedException Fehler fehl.

Um die Berechtigungen in einer neuen Erteilung sofort zu verwenden, verwenden Sie den Erteilungs-Token für die Erteilung. Speichern Sie das Grant-Token, das der CreateGrantVorgang zurückgibt. Reichen Sie dann das Grant-Token in der Anfrage für den AWS KMS Vorgang ein. Sie können ein Grant-Token für jede AWS KMS Grant-Operation einreichen und Sie können mehrere Grant-Token in derselben Anfrage einreichen.

Im folgenden Beispiel wird der CreateGrant Vorgang verwendet, um einen Zuschuss zu erstellen, der die Operationen GenerateDataKeyund Decrypt ermöglicht. Sie speichert das Erteilungs-Token, das CreateGrant in der token-Variable zurückgibt. Dann verwendet sie in einem Aufruf an die GenerateDataKey-Produktion das Erteilungs-Token in der token-Variable.

# Create a grant; save the grant token $ token=$(aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:user/appUser \ --retiring-principal arn:aws:iam::111122223333:user/acctAdmin \ --operations GenerateDataKey Decrypt \ --query GrantToken \ --output text) # Use the grant token in a request $ aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ –-key-spec AES_256 \ --grant-tokens $token

Prinzipale mit Berechtigung können auch ein Erteilungs-Token verwenden, um eine neue Erteilung aufzuheben, noch bevor die Erteilung über AWS KMS verfügbar ist. (Die RevokeGrant-Produktion akzeptiert kein Erteilungs-Token.) Details hierzu finden Sie unter Außerbetriebnahme und Widerruf von Erteilungen.

# Retire the grant $ aws kms retire-grant --grant-token $token

Außerbetriebnahme und Widerruf von Erteilungen

Um eine Erteilung zu löschen, müssen Sie sie aufheben oder widerrufen.

Die RevokeGrantOperationen RetireGrantund sind einander sehr ähnlich. Beide Operationen löschen eine Erteilung, wodurch die Berechtigungen, die die Erteilung erlaubt, eliminiert werden. Der Hauptunterschied zwischen diesen Operationen besteht darin, wie sie autorisiert werden.

RevokeGrant

Wie bei den meisten AWS KMS Vorgängen wird der Zugriff auf den RevokeGrant Vorgang durch wichtige Richtlinien und IAM-Richtlinien gesteuert. Die RevokeGrantAPI kann von jedem Principal mit entsprechender kms:RevokeGrant Genehmigung aufgerufen werden. Diese Berechtigung ist in den Standard-Berechtigungen enthalten, die Schlüsseladministratoren erteilt werden. In der Regel widerrufen Administratoren eine Erteilung, um Berechtigungen zu verweigern, die die Erteilung erlaubt.

RetireGrant

Die Erteilung bestimmt, wer sie aufheben kann. Mit diesem Entwurf können Sie den Lebenszyklus einer Erteilung steuern, ohne Schlüsselrichtlinien oder IAM-Richtlinien zu ändern. In der Regel können Sie eine Erteilung aufheben, wenn Sie die Berechtigungen nicht mehr benötigen.

Eine Erteilung kann durch einen optionalen ausscheidenden Prinzipal, der in der Erteilung angegeben ist, aufgehoben werden. Der Empfänger-Prinzipal kann die Erteilung auch aufheben, aber nur, wenn er auch ein ausscheidender Prinzipal ist oder die Erteilung die RetireGrant-Produktion enthält. Als Backup kann der Grant, AWS-Konto in dem der Grant erstellt wurde, den Grant zurückziehen.

Es gibt eine kms:RetireGrant-Berechtigung, die in IAM-Richtlinien verwendet werden kann, aber sie verfügt über eingeschränkte Funktionalität. Prinzipale, die in der Erteilung angegeben sind, können eine Erteilung ohne die kms:RetireGrant-Berechtigung aufheben. Die kms:RetireGrant-Berechtigung allein erlaubt es Prinzipalen nicht, eine Erteilung aufzuheben. Die kms:RetireGrant-Berechtigung ist in einer Schlüsselrichtlinie nicht wirksam.

  • Um die Berechtigung zur Außerbetriebnahme einer Erteilung zu verweigern, können Sie eine Deny-Aktion mit der kms:RetireGrant-Berechtigung verwenden.

  • Derjenige AWS-Konto , dem der KMS-Schlüssel gehört, kann die kms:RetireGrant Berechtigung an den IAM-Prinzipal im Konto delegieren.

  • Wenn es sich bei dem ausscheidenden Prinzipal um einen anderen handelt AWS-Konto, können die Administratoren des anderen Kontos die Erlaubnis kms:RetireGrant zum Ausscheiden des Zugriffs an einen IAM-Prinzipal in diesem Konto delegieren.

Die AWS KMS API folgt einem eventuellen Konsistenzmodell. Wenn Sie eine Erteilung erstellen, aufheben oder widerrufen, kann es zu einer kurzen Verzögerung kommen, bevor die Änderung in allen Bereichen von AWS KMS verfügbar ist. In der Regel dauert es weniger als ein paar Sekunden, bis sich die Änderung im gesamten System verbreitet, in einigen Fällen kann es jedoch mehrere Minuten dauern. Wenn Sie einen neuen Zuschuss sofort löschen müssen, bevor er vollständig verfügbar ist, verwenden Sie ein Grant-Token AWS KMS, um den Grant zurückzuziehen. Sie können kein Erteilungs-Token verwenden, um eine Erteilung zu widerrufen.