

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.

# Zuschüsse in AWS KMS
<a name="grants"></a>

Eine *Erteilung* ist ein Richtlinieninstrument, das es [AWS -Prinzipalen](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-principal) erlaubt, KMS-Schlüssel in kryptografischen Operationen zu verwenden. Es kann ihnen auch erlauben, einen KMS-Schlüssel anzuzeigen (`DescribeKey`) und Erteilungen zu erstellen und zu verwalten. Bei der Autorisierung des Zugriffs auf einen KMS-Schlüssel werden Erteilungen zusammen mit [Schlüsselrichtlinien](key-policies.md) und [IAM-Richtlinien](iam-policies.md) berücksichtigt. Erteilungen werden häufig für temporäre Berechtigungen verwendet, da Sie eine erstellen, deren Berechtigungen verwenden und sie dann wieder löschen können, ohne Ihre Schlüsselrichtlinien oder IAM-Richtlinien zu ändern.

Grants werden häufig von AWS Diensten verwendet, die sich integrieren, AWS KMS um Ihre Daten im Ruhezustand zu verschlüsseln. Der Service erstellt eine Erteilung im Namen eines Benutzers im Konto, verwendet seine Berechtigungen und hebt die Erteilung auf, sobald die Aufgabe abgeschlossen ist. Einzelheiten darüber, wie AWS Dienste Zuschüsse verwenden, finden Sie unter dem Thema *Verschlüsselung im Ruhezustand* im Benutzer- oder Entwicklerhandbuch des jeweiligen Dienstes.

Erteilungen sind ein sehr flexibler und nützlicher Zugriffsteuerungs-Mechanismus. Wenn Sie eine Erteilung für einen KMS-Schlüssel erstellen, erlaubt die Erteilung es dem Empfänger-Prinzipal, die angegebenen Erteilungs-Operationen für den KMS-Schlüssel aufzurufen, vorausgesetzt, dass alle in der Erteilung angegebenen Bedingungen erfüllt sind. 
+ Jede Erteilung erlaubt den Zugriff auf genau einen KMS-Schlüssel. Sie können eine Erteilung für einen KMS-Schlüssel in einem anderen AWS-Konto erstellen.
+ Eine Erteilung kann den Zugriff auf einen KMS-Schlüssel erlauben, aber nicht den Zugriff verweigern.
+ Jede Erteilung hat einen [Empfänger-Prinzipal](#terms-grantee-principal). Der Principal des Empfängers kann eine oder mehrere Identitäten im selben AWS-Konto KMS-Schlüssel oder in einem anderen Konto repräsentieren.
+ Eine Erteilung kann nur [Erteilungs-Operationen](#terms-grant-operations) erlauben. Die Erteilungs-Operationen müssen durch den KMS-Schlüssel in der Erteilung unterstützt werden. Wenn Sie einen nicht unterstützten Vorgang angeben, schlägt die [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)Anforderung mit einer Ausnahme fehl. `ValidationError`
+ Der Empfänger-Prinzipal können die Berechtigungen verwenden, die ihnen durch die Erteilung gewährt werden, ohne die Erteilung anzugeben, genauso wie wenn die Berechtigungen aus einer Schlüsselrichtlinie oder IAM-Richtlinie stammen. Da die AWS KMS API jedoch einem [Konsistenzmodell](#terms-eventual-consistency) folgt, kann es bei der Erstellung, Einstellung oder Widerruf eines Zuschusses zu einer kurzen Verzögerung kommen, bis die Änderung vollständig verfügbar ist. AWS KMS Um die Berechtigungen in einer Erteilung sofort zu verwenden, [verwenden Sie einen Erteilungs-Token](using-grant-token.md).
+ Ein autorisierter Prinzipal kann die Erteilung löschen, ([aufheben](#terms-retire-grant) oder [widerrufen](#terms-revoke-grant)). Durch das Löschen einer Erteilung entfallen alle Berechtigungen, die durch die Erteilung erlaubt wurden. Sie müssen nicht herausfinden, welche Richtlinien hinzugefügt oder entfernt werden sollen, um die Erteilung rückgängig zu machen. 
+ AWS KMS begrenzt die Anzahl der Grants für jeden KMS-Schlüssel. Details hierzu finden Sie unter [Erteilungen pro KMS-Schlüssel: 50 000](resource-limits.md#grants-per-key).

Seien Sie vorsichtig, wenn Sie Erteilungen erstellen und anderen die Berechtigung zum Erstellen von Erteilungen erteilen. Die Erlaubnis zur Erstellung von Zuschüssen hat Auswirkungen auf die Sicherheit, ähnlich wie die PutKeyPolicy Erlaubnis, Richtlinien festzulegen, mit dem [kms:](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html).
+ Benutzer mit der Berechtigung, Berechtigungen für einen KMS-Schlüssel (`kms:CreateGrant`) zu erstellen, können eine Erteilung verwenden, um Benutzern und Rollen, einschließlich AWS Diensten, die Verwendung des KMS-Schlüssels zu ermöglichen. Bei den Prinzipalen kann es sich um eigene Identitäten AWS-Konto oder um Identitäten in einem anderen Konto oder einer anderen Organisation handeln.
+ Zuschüsse können nur eine Teilmenge von Vorgängen ermöglichen. AWS KMS Sie können Erteilungen verwenden, um es Prinzipalen zu erlauben, den KMS-Schlüssel anzuzeigen, ihn in kryptografischen Operationen zu verwenden und Erteilungen zu erstellen und außer Betrieb zu nehmen. Details dazu finden Sie unter [Erteilungs-Operationen](#terms-grant-operations). Sie können auch [Erteilungs-Einschränkungen](create-grant-overview.md#grant-constraints) verwenden, um die Berechtigungen in einer Erteilung für eine Schlüssel mit symmetrischer Verschlüsselung einzuschränken.
+ Prinzipale können Berechtigung zum Erstellen von Erteilungen aus einer Schlüsselrichtlinie oder IAM-Richtlinie erhalten. Prinzipale, die `kms:CreateGrant`-Berechtigung aus einer Richtlinie bekommen, können Zuschüsse für alle [Erteilungs-Operationen](#terms-grant-operations) auf dem KMS-Schlüssel erstellen. Diese Prinzipale müssen nicht über die Berechtigung verfügen, die sie für den Schlüssel erteilen. Wenn Sie die `kms:CreateGrant`-Berechtigung in einer Richtlinie erlauben, können Sie [Richtlinienbedingungen](grant-authorization.md) verwenden, um diese Berechtigung einzuschränken.
+ Prinzipale können auch die Berechtigung erhalten, Erteilungen aus einer Erteilung zu erstellen. Diese Prinzipale können nur die Berechtigungen delegieren, die ihnen erteilt wurden, auch wenn sie über andere Berechtigungen aus einer Richtlinie verfügen. Details hierzu finden Sie unter [Genehmigung erteilen CreateGrant](create-grant-overview.md#grant-creategrant).

## Konzepte für Erteilungen
<a name="grant-concepts"></a>

Um Erteilungen effektiv nutzen zu können, müssen Sie die Begriffe und Konzepte verstehen, die AWS KMS verwendet. 

**Einschränkungen für Erteilungen**  <a name="terms-grant-constraint"></a>
Eine Bedingung, die die Berechtigungen in der Erteilung einschränkt. AWS KMS Unterstützt derzeit Gewährungsbeschränkungen, die auf dem [Verschlüsselungskontext](encrypt_context.md) in der Anforderung für einen kryptografischen Vorgang basieren. Details hierzu finden Sie unter [Verwenden von Erteilungs-Einschränkungen](create-grant-overview.md#grant-constraints).

**Erteilungs-ID**  <a name="terms-grant-id"></a>
Die eindeutige ID einer Erteilung für einen KMS-Schlüssel. Sie können eine Grant-ID zusammen mit einer [Schlüssel-ID](concepts.md#key-id) verwenden, um einen Zuschuss in einer [RetireGrant[RevokeGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)OR-Anfrage zu identifizieren.

**Erteilungs-Operationen**  <a name="terms-grant-operations"></a>
Die AWS KMS Vorgänge, die Sie in einem Zuschuss zulassen können. Wenn Sie andere Operationen angeben, schlägt die [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)Anfrage mit einer `ValidationError` Ausnahme fehl. Dies sind auch die Operationen, die einen [Erteilungs-Token](#grant_token) akzeptieren. Ausführliche Informationen über diese Berechtigungen finden Sie unter [AWS KMS Berechtigungen](kms-api-permissions-reference.md).  
Diese Erteilungs-Operationen stellen tatsächlich die Berechtigung zur Verwendung der Produktion dar. Daher gilt, dass Sie für die `ReEncrypt`-Produktion `ReEncryptFrom`, `ReEncryptTo`, oder beide `ReEncrypt*` angeben können.  
Die Erteilungs-Operationen sind:  
+ Kryptografische Operationen
  + [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)
  + [DeriveSharedSecret](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeriveSharedSecret.html)
  + [Encrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html)
  + [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)
  + [GenerateDataKeyPair](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair.html)
  + [GenerateDataKeyPairWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPairWithoutPlaintext.html)
  + [GenerateDataKeyWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html)
  + [GenerateMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html)
  + [ReEncryptFrom](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html)
  + [ReEncryptTo](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html)
  + [Sign](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html)
  + [Verify](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html)
  + [VerifyMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html)
+ Andere Produktionen
  + [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)
  + [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)
  + [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html)
  + [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)
Die Erteilungs-Operationen, die Sie erlauben, müssen durch den KMS-Schlüssel in der Erteilung unterstützt werden. Wenn Sie einen nicht unterstützten Vorgang angeben, schlägt die [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)Anforderung mit einer `ValidationError` Ausnahme fehl. Beispielsweise können Erteilungen für KMS-Schlüssel mit symmetrischer Verschlüsselung die Operationen [Signieren](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html), [Überprüfen](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html), [https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html) oder [https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html) nicht zulassen. Erteilungen für asymmetrische KMS-Schlüssel dürfen keine Operationen zulassen, die Datenschlüssel oder Datenschlüsselpaare generieren.

**Erteilungs-Token**  <a name="grant_token"></a>
Die AWS KMS API folgt einem [eventuellen Konsistenzmodell](#terms-eventual-consistency). Wenn Sie eine Erteilung erstellen, kann es zu einer kurzen Verzögerung kommen, bis die Änderung in 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 versuchen, eine Erteilung zu verwenden, bevor sie sich vollständig im System verbreitet hat, erhalten Sie möglicherweise eine Zugriffsverweigerungsmeldung. Mit einem Erteilungs-Token können Sie auf die Erteilung verweisen und die Erteilungs-Berechtigungen sofort verwenden.   
Ein *Berechtigungserteilungs-Token* ist eine eindeutige, nicht-geheime, base64-kodierte Zeichenfolge mit variabler Länge, die eine Erteilung darstellt. Sie können den Erteilungs-Token verwenden, um die Erteilung in jeder [Erteilungs-Produktion](#terms-grant-operations) zu identifizieren. Da der Token-Wert jedoch ein Hash-Digest ist, zeigt er keine Details über die Erteilung an.  
Ein Erteilungs-Token darf nur so lange verwendet werden, bis sich die Erteilung vollständig in AWS KMS ausgebreitet hat. Danach kann der [Empfänger-Prinzipal](#terms-grantee-principal) die Berechtigung in der Erteilung ohne Angabe eines Grant-Token oder eines anderen Beweises für die Erteilung verwenden. Sie können jederzeit ein Grant-Token verwenden, aber sobald der Grant letztendlich konsistent ist, AWS KMS verwendet es den Grant, um die Berechtigungen zu bestimmen, nicht das Grant-Token.  
Mit dem folgenden Befehl wird die [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)Operation beispielsweise aufgerufen. Er verwendet ein Erteilung-Token, um die Erteilung darzustellen, die dem Aufrufer (dem erteilenden Prinzipal) die Berechtigung zum Aufrufen von `GenerateDataKey` für den angegebenen KMS-Schlüssel erteilt.  

```
$ aws kms generate-data-key \
        --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
        --key-spec AES_256 \
        --grant-token $token
```
Sie können den Erteilungs-Token verwenden, um eine Erteilung in Operationen zu identifizieren, die Erteilungen verwalten. Beispielsweise kann der [ausscheidende Schulleiter](#terms-retiring-principal) bei einem Aufruf der [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)Operation ein Grant-Token verwenden.   

```
$ aws kms retire-grant \
        --grant-token $token
```
`CreateGrant` ist die einzige Produktion, die ein Erteilungs-Token zurückgibt. Sie können kein Grant-Token aus einem anderen AWS KMS Vorgang oder aus dem [CloudTrail Protokollereignis](ct-creategrant.md) für den CreateGrant Vorgang abrufen. Die [ListRetirableGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListRetirableGrants.html)Operationen [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html)und geben die [Grant-ID](#terms-grant-id) zurück, aber kein Grant-Token.  
Details hierzu finden Sie unter [Verwenden eines Erteilungs-Token](using-grant-token.md).

**Erteilender Prinzipal**  <a name="terms-grantee-principal"></a>
Die Identitäten, die die in der Erteilung angegebenen Berechtigungen erhalten. Jede Erteilung hat einen Empfänger-Prinzipal, aber der Empfänger-Prinzipal kann mehrere Identitäten repräsentieren.   
Der Prinzipal des Empfängers kann ein beliebiger AWS Prinzipal sein, einschließlich eines AWS-Konto (Root-), eines [IAM-Benutzers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html), einer [IAM-Rolle, einer Verbundrolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) oder eines [Verbundbenutzers oder eines Benutzers mit angenommener Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html). Der Empfänger-Prinzipal kann sich im selben Konto wie der KMS-Schlüssel oder in einem anderen Konto befinden. Der Empfänger-Prinzipal kann jedoch kein [Service-Prinzipal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) und keine [IAM-Gruppe](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) oder [AWS -Organisation](https://docs.aws.amazon.com/organizations/latest/userguide/) sein.  
Bewährte IAM-Methoden raten von der Verwendung von IAM-Benutzern mit langfristigen Anmeldeinformationen ab. Verwenden Sie nach Möglichkeit IAM-Rollen, die temporäre Anmeldeinformationen bereitstellen. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

**Außerbetriebnahme (einer Erteilung)**  <a name="terms-retire-grant"></a>
Beendet eine Erteilung. Sie können eine Erteilung aufheben, wenn Sie die Berechtigungen nicht mehr brauchen.  
Wenn Sie eine Erteilung widerrufen oder außer Betrieb nehmen, wird die Erteilung gelöscht. Die Außerbetriebnahme erfolgt jedoch durch einen Prinzipal, der in der Erteilung angegeben ist. Das Widerrufen erfolgt in der Regel durch einen Schlüsseladministrator. Details hierzu finden Sie unter [Außerbetriebnahme und Widerruf von Erteilungen](grant-delete.md).

**Außerbetriebnahme eines Prinzipals**  <a name="terms-retiring-principal"></a>
Ein Prinzipal, der [eine Erteilung aufheben](#terms-retire-grant) kann. Sie können einen ausscheidenden Prinzipal in einer Erteilung angeben, jedoch ist es nicht erforderlich. Bei dem ausscheidenden Prinzipal kann es sich um einen beliebigen AWS Prinzipal handeln, einschließlich IAM-Benutzer AWS-Konten, IAM-Rollen, Verbundbenutzer und Benutzer mit angenommener Rolle. Der ausscheidende Prinzipal kann sich im selben Konto wie der KMS-Schlüssel oder in einem anderen Konto befinden.  
Bewährte IAM-Methoden raten von der Verwendung von IAM-Benutzern mit langfristigen Anmeldeinformationen ab. Verwenden Sie nach Möglichkeit IAM-Rollen, die temporäre Anmeldeinformationen bereitstellen. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.
Neben dem im Zuschuss angegebenen ausscheidenden Hauptbenutzer kann ein Grant auch von demjenigen zurückgezogen werden, AWS-Konto in dem der Grant eingerichtet wurde. Wenn die Erteilung die `RetireGrant`-Produktion erlaubt, kann der [Empfänger-Prinzipal](#terms-grantee-principal) die Erteilung aufheben. Außerdem kann der AWS-Konto oder ein Schulleiter AWS-Konto , der in den Ruhestand geht, die Genehmigung zur Einstellung eines Zuschusses an einen IAM-Schulleiter delegieren. AWS-Konto Details hierzu finden Sie unter [Außerbetriebnahme und Widerruf von Erteilungen](grant-delete.md).

**Widerrufen (einer Erteilung)**  <a name="terms-revoke-grant"></a>
Beendet eine Erteilung. Sie widerrufen eine Erteilung, um aktiv die Berechtigung abzulehnen, die die Erteilung erlaubt.   
Wenn Sie eine Erteilung widerrufen oder außer Betrieb nehmen, wird die Erteilung gelöscht. Die Außerbetriebnahme erfolgt jedoch durch einen Prinzipal, der in der Erteilung angegeben ist. Das Widerrufen erfolgt in der Regel durch einen Schlüsseladministrator. Details hierzu finden Sie unter [Außerbetriebnahme und Widerruf von Erteilungen](grant-delete.md).

**Letztendliche Konsistenz (für Erteilungen)**  <a name="terms-eventual-consistency"></a>
[Die AWS KMS API folgt einem späteren Konsistenzmodell.](https://en.wikipedia.org/wiki/Eventual_consistency) 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.  
Diese kurze Verzögerung kann Ihnen auffallen, wenn Sie unerwartete Fehler erhalten. Wenn Sie beispielsweise versuchen, einen neuen Zuschuss zu verwalten oder die Berechtigungen in einem neuen Zuschuss zu verwenden, bevor der Zuschuss allgemein bekannt ist AWS KMS, erhalten Sie möglicherweise die Fehlermeldung Zugriff verweigert. Wenn Sie eine Erteilung aufheben oder widerrufen, kann der Empfänger-Prinzipal seine Berechtigungen möglicherweise für einen kurzen Zeitraum verwenden, bis die Erteilung vollständig gelöscht wurde. Die typische Strategie besteht darin, die Anfrage erneut zu versuchen, und einige AWS SDKs beinhalten automatische Backoff- und Wiederholungslogik.  
AWS KMS verfügt über Funktionen, um diese kurze Verzögerung zu minimieren.   
+ Um die Berechtigungen in einer neuen Erteilung sofort zu verwenden, verwenden Sie einen [Erteilungs-Token](using-grant-token.md). Sie können einen Erteilungs-Token verwenden, um die Erteilung in jeder [Erteilungs-Produktion](#terms-grant-operations) zu identifizieren. Detaillierte Anweisungen finden Sie unter [Verwenden eines Erteilungs-Token](using-grant-token.md). 
+ Der [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)Vorgang verfügt über einen `Name` Parameter, der verhindert, dass bei Wiederholungsvorgängen doppelte Zuschüsse erstellt werden.
Erteilungs-Token ersetzen die Gültigkeit der Erteilung, bis alle Endpunkte im Service mit dem neuen Erteilungsstatus aktualisiert wurden. In den meisten Fällen wird die letztendliche Konsistenz innerhalb von fünf Minuten erreicht.
Weitere Informationen finden Sie unter [AWS KMS Letztendliche Konsistenz](accessing-kms.md#programming-eventual-consistency).

# Bewährte Verfahren für Zuschüsse AWS KMS
<a name="grant-best-practices"></a>

AWS KMS empfiehlt die folgenden bewährten Methoden für die Erstellung, Verwendung und Verwaltung von Zuschüssen.
+ Beschränken Sie die Berechtigungen in der Erteilung auf diejenigen, die der Empfänger-Prinzipal benötigt. Erteilen Sie Zugriff nach dem Prinzip [der geringsten Berechtigung](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).
+ Verwenden Sie einen bestimmten Empfänger-Prinzipal, z. B. eine IAM-Rolle, und erteilen Sie dem Empfänger-Prinzipal nur die Berechtigung, die API-Operationen zu verwenden, die er benötigt. 
+ Verwenden Sie den Verschlüsselungskontext [Erteilungs-Einschränkungen](grants.md#terms-grant-constraint), um sicherzustellen, dass Anrufer den KMS-Schlüssel für den beabsichtigten Zweck verwenden. Einzelheiten zur Verwendung des Verschlüsselungskontextes in einer Anfrage zur Sicherung Ihrer Daten finden Sie unter [So schützen Sie die Integrität Ihrer verschlüsselten Daten durch Verwendung AWS Key Management Service und EncryptionContext](https://aws.amazon.com/blogs/security/how-to-protect-the-integrity-of-your-encrypted-data-by-using-aws-key-management-service-and-encryptioncontext/) im *AWS Sicherheitsblog*.
**Tipp**  
Verwenden Sie wann immer möglich die [EncryptionContextEqual](create-grant-overview.md#grant-constraints)Zuschussbeschränkung. Die korrekte Verwendung der [EncryptionContextSubset](create-grant-overview.md#grant-constraints)Zuschussbeschränkung ist schwieriger. Wenn Sie sie verwenden müssen, lesen Sie die Dokumentation sorgfältig durch und testen Sie die Erteilungs-Einschränkung, um sicherzustellen, dass sie wie beabsichtigt funktioniert.
+ Löschen Sie doppelte Erteilungen. Doppelte Erteilungen haben dieselben API-Aktionen und denselben Schlüssel-ARN, Empfänger-Prinzipal, Verschlüsselungskontext und Namen. Wenn Sie die ursprüngliche Erteilung aufheben oder widerrufen, aber die doppelte Erteilungen belassen, stellen die verbleibenden doppelten Erteilungen unbeabsichtigte Eskalationen von Rechten dar. Um bei `CreateGrant`-Anforderungen zu vermeiden, dass doppelte Erteilungen erstellt werden, verwenden Sie den [`Name`-Parameter](create-grant-overview.md#grant-create). Verwenden Sie die [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html)Operation, um doppelte Zuschüsse zu erkennen. Wenn Sie versehentlich eine doppelte Erteilung erstellen, widerrufen Sie bzw. nehmen Sie diese sie so schnell wie möglich außer Betrieb. 
**Anmerkung**  
Erteilungen für [AWS -verwaltete Schlüssel](concepts.md#aws-managed-key) könnten wie Duplikate aussehen, haben aber unterschiedliche Empfänger-Prinzipale.  
Das `GranteePrincipal`-Feld in der `ListGrants`-Antwort enthält normalerweise den Berechtigungsprinzipal der Genehmigung. Wenn es sich bei der Hauptperson des Zuschusses jedoch um eine AWS Dienstleistung handelt, enthält das `GranteePrincipal` Feld den [Dienstprinzipal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services), der für mehrere verschiedene Prinzipale des Zuschusses stehen kann.
+ Denken Sie daran, dass Erteilungen nicht automatisch ablaufen. [Außerbetriebnahme oder Widerruf der Erteilung](grant-delete.md) sobald die Berechtigung nicht mehr benötigt wird. Erteilungen, die nicht gelöscht werden, können ein Sicherheitsrisiko für verschlüsselte Ressourcen verursachen.

# Steuerung des Zugriffs auf Erteilungen
<a name="grant-authorization"></a>

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](create-grant-overview.md#grant-creategrant). 


| API-Produktion | Schlüsselrichtlinie oder IAM-Richtlinie | Gewährung | 
| --- | --- | --- | 
| CreateGrant | ✓ | ✓ | 
| ListGrants | ✓ | - | 
| ListRetirableGrants | ✓ | - | 
| Außerbetriebnahme einer Erteilung | (Begrenzt. Siehe [Außerbetriebnahme und Widerruf von Erteilungen](grant-delete.md)) | ✓ | 
| 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 Berechtigung 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](conditions-kms.md).

[km: GrantConstraintType](conditions-kms.md#conditions-kms-grant-constraint-type)  
Erlaubt es Prinzipalen, eine Erteilung nur zu erstellen, wenn die Erteilung die angegebene [Erteilungs-Einschränkung](create-grant-overview.md#grant-constraints) enthält.

[km: GrantIsFor AWSResource](conditions-kms.md#conditions-kms-grant-is-for-aws-resource)  
Ermöglicht es Principals`CreateGrant`, anzurufen`ListGrants`, oder `RevokeGrant` nur, wenn [ein AWS Service, der in integriert ist,](https://aws.amazon.com/kms/features/#AWS_Service_Integration) die Anfrage im Namen des Prinzipals AWS KMS sendet.

[km: GrantOperations](conditions-kms.md#conditions-kms-grant-operations)  
Erlaubt es Prinzipalen, eine Erteilung zu erstellen, beschränkt jedoch die Erteilung auf die angegebenen Operationen.

[km: GranteePrincipal](conditions-kms.md#conditions-kms-grantee-principal)  
Erlaubt es Prinzipalen, eine Erteilung nur für den angegebenen [Empfänger-Prinzipal](grants.md#terms-grantee-principal) zu erstellen.

[km: RetiringPrincipal](conditions-kms.md#conditions-kms-retiring-principal)  
Erlaubt es Prinzipalen, eine Erteilung nur zu erstellen, wenn die Erteilung einen bestimmten [ausscheidenden Prinzipal](grants.md#terms-retiring-principal) angibt.

# Erstellen einer Erteilung
<a name="create-grant-overview"></a>

Informieren Sie sich vor dem Erstellen einer Erteilung über die Optionen für benutzerdefinierte Erteilungen. Sie können auch *Erteilungs-Einschränkungen* verwenden, um die Berechtigungen in einer Erteilung einzuschränken. Erfahren Sie auch mehr über die Erteilung der `CreateGrant`-Berechtigung. Prinzipale, die die Berechtigung zum Erstellen von Erteilungen aus einer Erteilung erhalten, sind in den Erteilungen beschränkt, die sie erstellen können.

**Topics**
+ [Erstellen einer Erteilung](#grant-create)
+ [Genehmigung erteilen CreateGrant](#grant-creategrant)

## Erstellen einer Erteilung
<a name="grant-create"></a>

Rufen Sie die [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)Operation auf, um einen Grant zu erstellen. Geben Sie einen KMS-Schlüssel an, einen [Empfänger-Prinzipal](grants.md#terms-grantee-principal) und eine Liste der zulässigen [Erteilungs-Operationen](grants.md#terms-grant-operations). Sie können auch einen optionalen [ausscheidenden Prinzipal](grants.md#terms-retiring-principal) angeben. Um die Erteilung anzupassen, verwenden Sie optionale `Constraints`-Parameter, um [Erteilungseinschränkungen](https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html) zu definieren.

Wenn Sie eine Erteilung erstellen, aufheben oder widerrufen, kann es zu einer kurzen Verzögerung (in der Regel weniger als fünf Minuten) kommen, bevor die Änderung in allen Bereichen von AWS KMS verfügbar ist. Weitere Informationen finden Sie unter [Letztendliche Konsistenz (für Erteilungen)](grants.md#terms-eventual-consistency).

Der folgende `CreateGrant`-Befehl erstellt beispielsweise eine Erteilung, die Benutzer, die die `keyUserRole`-Rolle annehmen dürfen, den Aufruf der [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)-Operation für den angegebenen [symmetrischen KMS-Schlüssel](symm-asymm-choose-key-spec.md#symmetric-cmks) erlaubt. Die Erteilung legt mit dem Parameter `RetiringPrincipal` einen Prinzipal fest, der die erteilte Berechtigung aufheben kann. Es enthält auch eine Erteilungseinschränkung, die die Berechtigung nur zulässt, wenn der [Verschlüsselungskontext](encrypt_context.md) in der Anforderung `"Department": "IT"` einschließt.

```
$  aws kms create-grant \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --grantee-principal arn:aws:iam::111122223333:role/keyUserRole \
    --operations Decrypt \
    --retiring-principal arn:aws:iam::111122223333:role/adminRole \
    --constraints EncryptionContextSubset={Department=IT}
```

Wenn Ihr Code die `CreateGrant`-Produktion erneut versucht, oder ein [AWS -SDK verwendet, das Anforderungen automatisch wiederholt](https://docs.aws.amazon.com/general/latest/gr/api-retries.html), verwenden Sie den optionalen [Name](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html#KMS-CreateGrant-request-Name)-Parameter, um das Erstellen von doppelten Erteilungen zu verhindern. Wenn AWS KMS eine `CreateGrant` Anfrage für einen Zuschuss mit den gleichen Eigenschaften wie ein vorhandener Zuschuss eingeht, einschließlich des Namens, wird die Anfrage als Wiederholungsversuch erkannt und kein neuer Zuschuss erstellt. Sie können nicht den `Name`-Wert verwenden, um die Erteilung in einer AWS KMS -Produktion zu identifizieren.

**Wichtig**  
Geben Sie keine vertraulichen oder sensiblen Informationen im Namen der Erteilung an. Es kann als Klartext in CloudTrail Protokollen und anderen Ausgaben erscheinen.

```
$ aws kms create-grant \
    --name IT-1234abcd-keyUserRole-decrypt \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --grantee-principal arn:aws:iam::111122223333:role/keyUserRole \
    --operations Decrypt \
    --retiring-principal arn:aws:iam::111122223333:role/adminRole \
    --constraints EncryptionContextSubset={Department=IT}
```

Codebeispiele, die zeigen, wie Zuschüsse in verschiedenen Programmiersprachen erstellt werden, finden Sie unter[Verwendung `CreateGrant` mit einem AWS SDK oder CLI](example_kms_CreateGrant_section.md).

### Verwenden von Erteilungs-Einschränkungen
<a name="grant-constraints"></a>

[Erteilungs-Einschränkungen](https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html) legen Bedingungen für die Berechtigungen fest, die der Empfänger-Prinzipal ausführen kann. Erteilungs-Einschränkungen treten an die Stelle von [Bedingungsschlüssel](policy-conditions.md) in einer [Schlüsselrichtlinie](key-policies.md) oder [IAM-Richtlinie](iam-policies.md). Jeder Erteilungs-Einschränkungs-Wert kann bis zu 8 Verschlüsselungskontext-Paare enthalten. Der Verschlüsselungskontext-Wert in jeder Erteilungs-Einschränkung darf 384 Zeichen nicht überschreiten.

**Wichtig**  
Geben Sie keine vertraulichen oder sensiblen Informationen in dieses Feld ein. Dieses Feld kann in CloudTrail Protokollen und anderen Ausgaben im Klartext angezeigt werden.

AWS KMS unterstützt zwei Grant-Beschränkungen `EncryptionContextEquals` und`EncryptionContextSubset`, die beide Anforderungen an den [Verschlüsselungskontext](encrypt_context.md) bei einer Anforderung für einen kryptografischen Vorgang festlegen. 

Die Verschlüsselungskontext-Erteilungs-Einschränkungen sind für die Verwendung mit [Erteilungs-Operationen](grants.md#terms-grant-operations) entworfen, die einen Verschlüsselungskontext-Parameter haben. 
+ Beschränkungen für den Verschlüsselungskontext gelten nur in einer Erteilung für einen KMS-Schlüssel mit symmetrischer Verschlüsselung. Kryptografische Operationen mit asymmetrischen KMS-Schlüsseln unterstützen keinen Verschlüsselungskontext.
+ Die Verschlüsselungskontext-Einschränkung wird für `DescribeKey`- und `RetireGrant`-Operationen ignoriert. `DescribeKey` und `RetireGrant` haben keinen Verschlüsselungskontext-Parameter, aber Sie können diese Operationen in eine Erteilung einschließen, die über eine Verschlüsselungskontext-Einschränkung verfügt.
+ Sie können eine Verschlüsselungskontext-Einschränkung in einer Erteilung für die `CreateGrant`-Produktion verwenden. Die Verschlüsselungskontext-Einschränkung erfordert, dass alle Erteilungen, die mit der `CreateGrant`-Berechtigung erstellt wurden, eine ebenso strenge oder strengere Verschlüsselungskontext-Einschränkung haben.

AWS KMS unterstützt die folgenden Gewährungsbeschränkungen für den Verschlüsselungskontext.

**EncryptionContextEquals**  
Verwenden Sie `EncryptionContextEquals`, um den exakten Verschlüsselungskontext für zulässige Anforderungen anzugeben.   
`EncryptionContextEquals` erfordert, dass die Verschlüsselungskontext-Paare in der Anforderung genau mit den Verschlüsselungskontext-Paaren in der Erteilungs-Einschränkung übereinstimmen (inkl. Groß-/Kleinschreibung). Die Paare können in beliebiger Reihenfolge erscheinen. Die Schlüssel und Werte in den Paaren können nicht variieren.   
Zum Beispiel, wenn die `EncryptionContextEquals`-Erteilungs-Einschränkung das `"Department": "IT"`-Verschlüsselungskontext-Paar erfordert, erlaubt die Erteilung Anforderungen des angegebenen Typs nur dann, wenn der Verschlüsselungskontext in der Anforderung genau `"Department": "IT"` ist.

**EncryptionContextSubset**  
Verwenden Sie `EncryptionContextSubset`, um zu erfordern, dass Anforderungen bestimmte Verschlüsselungskontext-Paare enthalten.  
`EncryptionContextSubset` erfordert, dass die Anforderung alle Verschlüsselungskontext-Paare in der Erteilungs-Einschränkung enthält (genaue Übereinstimmung, inkl. Groß-/Kleinschreibung), aber die Anforderung kann auch zusätzliche Verschlüsselungskontext-Paare enthalten. Die Paare können in beliebiger Reihenfolge erscheinen. Die Schlüssel und Werte in den Paaren können nicht variieren.   
Zum Beispiel, wenn die `EncryptionContextSubset`-Erteilungs-Einschränkung das `Department=IT`-Verschlüsselungskontext-Paar erfordert, erlaubt die Erteilung Anforderungen des angegebenen Typs nur dann, wenn der Verschlüsselungskontext in der Anforderung `"Department": "IT"` ist oder `"Department": "IT"` enthält, zusammen mit anderen Verschlüsselungskontext-Paaren, z. B. `"Department": "IT","Purpose": "Test"`.

Verwenden Sie den `Constraints` Parameter im [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)Vorgang, um eine Einschränkung für den Verschlüsselungskontext in einer Gewährung für einen symmetrischen Verschlüsselungs-KMS-Schlüssel anzugeben. Die Erteilung, die dieser Befehl erstellt, gewährt Benutzern, die die `keyUserRole`-Rolle annehmen dürfen, die Erlaubnis, die [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)-Operation aufzurufen. Diese Berechtigung ist jedoch nur wirksam, wenn der Verschlüsselungskontext in der `Decrypt`-Anforderung ein `"Department": "IT"`-Verschlüsselungskontext-Paar ist.

```
$ aws kms create-grant \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --grantee-principal arn:aws:iam::111122223333:role/keyUserRole \
    --operations Decrypt \
    --retiring-principal arn:aws:iam::111122223333:role/adminRole \
    --constraints EncryptionContextEquals={Department=IT}
```

Die resultierende Erteilung sieht wie die folgende aus. Beachten Sie, dass die erteilte Berechtigung für die `keyUserRole`-Rolle nur wirksam ist, wenn die `Decrypt`-Anforderung das Verschlüsselungskontextpaar enthält, das in der Erteilungseinschränkung angegeben ist. Verwenden Sie den [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html)Vorgang, um die Grants für einen KMS-Schlüssel zu finden.

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

Um die `EncryptionContextEquals`-Erteilungs-Einschränkung zu erfüllen, muss der Verschlüsselungskontext in der Anforderung für die `Decrypt`-Produktion ein `"Department": "IT"`-Paar sein. Eine Anforderung wie die folgende vom Empfänger-Prinzipal würde die `EncryptionContextEquals`-Erteilungs-Einschränkung erfüllen.

```
$ aws kms decrypt \
    --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\
    --ciphertext-blob fileb://encrypted_msg \
    --encryption-context Department=IT
```

Wenn die Erteilungs-Einschränkung `EncryptionContextSubset` ist, müssen die Verschlüsselungskontext-Paare in der Anforderung die Verschlüsselungskontext-Paare in der Erteilungs-Einschränkung beinhalten, aber die Anforderung kann auch andere Verschlüsselungskontext-Paare enthalten. Die folgende Erteilungs-Einschränkung erfordert, dass eines der Verschlüsselungskontext-Paare in der Anforderung `"Deparment": "IT"` ist.

```
"Constraints": {
   "EncryptionContextSubset": {
       "Department": "IT"
   }
}
```

Eine Anforderung wie die folgende vom Empfänger-Prinzipal würde sowohl die `EncryptionContextEqual`- und `EncryptionContextSubset`-Erteilungs-Einschränkung in diesem Beispiel erfüllen.

```
$ aws kms decrypt \
    --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab \
    --ciphertext-blob fileb://encrypted_msg \
    --encryption-context Department=IT
```

Eine Anforderung wie die folgende vom Empfänger-Prinzipal würde die `EncryptionContextSubset`-Erteilungs-Einschränkung erfüllen, aber nicht die `EncryptionContextEquals`-Erteilungs-Einschränkung.

```
$ aws kms decrypt \
    --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab \
    --ciphertext-blob fileb://encrypted_msg \
    --encryption-context Department=IT,Purpose=Test
```

AWS Dienste verwenden häufig Einschränkungen des Verschlüsselungskontextes in den Zuweisungen, die ihnen die Erlaubnis geben, KMS-Schlüssel in Ihrem System zu verwenden AWS-Konto. Beispielsweise verwendet Amazon DynamoDB eine Erteilung wie die folgende, um die Berechtigung zu erhalten, den [Von AWS verwalteter Schlüssel](concepts.md#aws-managed-key) für DynamoDB in Ihrem Konto zu verwenden. Die `EncryptionContextSubset`-Erteilungseinschränkung in dieser Erteilung macht die Berechtigungen in der Erteilung nur wirksam, wenn der Verschlüsselungskontext in der Anforderung `"subscriberID": "111122223333"`- und `"tableName": "Services"`-Paare enthält. Diese Erteilungs-Einschränkung bedeutet, dass die Erteilung es DynamoDB erlaubt, den angegebenen KMS-Schlüssel nur für eine bestimmte Tabelle in Ihrem AWS-Konto zu verwenden.

Um diese Ausgabe zu erhalten, führen Sie den [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html)Vorgang Von AWS verwalteter Schlüssel für DynamoDB in Ihrem Konto aus.

```
$ aws kms list-grants --key-id 0987dcba-09fe-87dc-65ba-ab0987654321

{
    "Grants": [
        {
            "Operations": [
                "Decrypt",
                "Encrypt",
                "GenerateDataKey",
                "ReEncryptFrom",
                "ReEncryptTo",
                "RetireGrant",
                "DescribeKey"
            ],
            "IssuingAccount": "arn:aws:iam::111122223333:root",
            "Constraints": {
                "EncryptionContextSubset": {
                    "aws:dynamodb:tableName": "Services",
                    "aws:dynamodb:subscriberId": "111122223333"
                }
            },
            "CreationDate": 1518567315.0,
            "KeyId": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321",
            "GranteePrincipal": "dynamodb.us-west-2.amazonaws.com",
            "RetiringPrincipal": "dynamodb.us-west-2.amazonaws.com",
            "Name": "8276b9a6-6cf0-46f1-b2f0-7993a7f8c89a",
            "GrantId": "1667b97d27cf748cf05b487217dd4179526c949d14fb3903858e25193253fe59"
        }
    ]
}
```

## Genehmigung erteilen CreateGrant
<a name="grant-creategrant"></a>

Eine Erteilung kann die Berechtigung zum Aufrufen der `CreateGrant`-Produktion enthalten. Aber wenn ein [Empfänger-Prinzipal](grants.md#terms-grantee-principal) die Berechtigung zum Aufrufen von `CreateGrant` von einer Erteilung erhält, und nicht von einer Richtlinie, ist diese Berechtigung eingeschränkt. 
+ Der Empfänger-Prinzipal kann nur Erteilungen erlauben, die einige oder alle Operationen in der übergeordneten Erteilung zulassen.
+ Die [Erteilungs-Einschränkungen](#grant-constraints) in den Erteilungen, die sie erstellen, müssen mindestens so streng sein wie die in der übergeordneten Erteilung.

Diese Einschränkungen gelten nicht für Prinzipale, die die `CreateGrant`-Berechtigung aus einer Richtlinie erhalten, obwohl ihre Berechtigungen durch [Richtlinienbedingungen](grant-authorization.md) eingeschränkt werden können.

Nehmen wir beispielsweise eine Erteilung, die es dem empfangenden Prinzipal ermöglicht, die `GenerateDataKey`-, `Decrypt`- und `CreateGrant`-Operationen aufzurufen. Wir nennen eine Erteilung, die die `CreateGrant`-Berechtigung erlaubt, eine *übergeordnete Erteilung*.

```
# The original grant in a ListGrants response.
{
    "Grants": [
        {
            "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
            "CreationDate": 1572216195.0,
            "GrantId": "abcde1237f76e4ba7987489ac329fbfba6ad343d6f7075dbd1ef191f0120514a",
            "Operations": [
                "GenerateDataKey",
                "Decrypt",
                "CreateGrant
            ]
            "RetiringPrincipal": "arn:aws:iam::111122223333:role/adminRole",
            "Name": "",
            "IssuingAccount": "arn:aws:iam::111122223333:root",
            "GranteePrincipal": "arn:aws:iam::111122223333:role/keyUserRole",
            "Constraints": {
                "EncryptionContextSubset": {
                    "Department": "IT"
                }
            },
        }
    ]
}
```

Der Empfänger-Prinzipal exampleUser kann diese Berechtigung verwenden, um eine Erteilung zu erstellen, die eine Teilmenge der in der ursprünglichen Erteilung angegebenen Operationen enthält – z. B. `CreateGrant` und `Decrypt`. Die *untergeordnete Erteilung* kann keine anderen Operationen enthalten (z. B. `ScheduleKeyDeletion` oder `ReEncrypt`).

Außerdem müssen die [Erteilungs-Beschränkungen](https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html) in untergeordneten Erteilungen mindestens ebenso restriktiv sein, wie die in der übergeordneten Erteilungen. So kann die untergeordnete Erteilung beispielsweise Paare zu einer `EncryptionContextSubset`-Beschränkung in der übergeordneten Erteilung hinzufügen. Sie kann sie jedoch nicht entfernen. Die untergeordnete Erteilung kann eine `EncryptionContextSubset`-Beschränkung in eine `EncryptionContextEquals`-Beschränkung ändern – nicht jedoch umgekehrt.

Bewährte IAM-Methoden raten von der Verwendung von IAM-Benutzern mit langfristigen Anmeldeinformationen ab. Verwenden Sie nach Möglichkeit IAM-Rollen, die temporäre Anmeldeinformationen bereitstellen. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

Beispielsweise kann der Empfänger-Prinzipal die `CreateGrant`-Berechtigung verwenden, die er von der übergeordneten Erteilung erhalten hat, um die folgende untergeordnete Erteilung zu erstellen Die Operationen in der untergeordneten Erteilung sind eine Teilmenge der Operationen in der übergeordneten Erteilung, und die Erteilungs-Beschränkungen sind restriktiver.

```
# The child grant in a ListGrants response.
{
    "Grants": [
        {
            "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
            "CreationDate": 1572249600.0,
            "GrantId": "fedcba9999c1e2e9876abcde6e9d6c9b6a1987650000abcee009abcdef40183f",
            "Operations": [
                "CreateGrant"
                "Decrypt"
            ]
            "RetiringPrincipal": "arn:aws:iam::111122223333:user/exampleUser",
            "Name": "",
            "IssuingAccount": "arn:aws:iam::111122223333:root",
            "GranteePrincipal": "arn:aws:iam::111122223333:user/anotherUser",
            "Constraints": {
                "EncryptionContextEquals": {
                    "Department": "IT"
                }
            },
        }
    ]
}
```

Der Empfänger-Prinzipal in der untergeordneten Erteilung, `anotherUser`, kann seine `CreateGrant`-Berechtigung zum Erstellen von Erteilungen verwenden. Allerdings müssen die Erteilungen, die `anotherUser` erstellt, die Operationen in der übergeordneten Erteilung oder in einer Teilmenge enthalten, und die Erteilungs-Einschränkungen müssen gleichwertig oder strenger sein. 

# Anzeigen einer Erteilung
<a name="grant-view"></a>

Verwenden Sie den [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html)Vorgang, 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 [Verwendung `ListGrants` mit einem AWS SDK oder CLI](example_kms_ListGrants_section.md).

Um alle Zuschüsse in der Region AWS-Konto und mit einem bestimmten [ausscheidenden Schulleiter](grants.md#terms-retiring-principal) einzusehen, verwenden Sie [ListRetirableGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListRetirableGrants.html). 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services), 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
<a name="using-grant-token"></a>

Die AWS KMS API folgt einem [späteren](grants.md#terms-eventual-consistency) 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](grants.md#grant_token) für die Erteilung. Speichern Sie das Grant-Token, das der [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)Vorgang 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](grants.md#terms-grant-operations) 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 [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)und [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) 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
```

Schulleiter mit entsprechender Genehmigung können ein Grant-Token auch verwenden, um einen neuen Grant zurückzuziehen, noch bevor der Grant vollständig verfügbar ist. AWS KMS(Die `RevokeGrant`-Produktion akzeptiert kein Erteilungs-Token.) Details hierzu finden Sie unter [Außerbetriebnahme und Widerruf von Erteilungen](grant-delete.md).

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

# Außerbetriebnahme und Widerruf von Erteilungen
<a name="grant-delete"></a>

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

Die [RevokeGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html)Operationen [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)und 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](key-policies.md) und [IAM-Richtlinien](iam-policies.md) gesteuert. Die [RevokeGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html)API 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](grants.md#terms-retiring-principal), der in der Erteilung angegeben ist, aufgehoben werden. Der [Empfänger-Prinzipal](grants.md#terms-grantee-principal) 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 [wichtigen Richtlinie oder [Ressourcenkontrollrichtlinie](resource-control-policies.md)](key-policies.md) nicht wirksam.  
+ Um die Genehmigung zur Einstellung eines Zuschusses zu verweigern, können Sie eine `Deny` Aktion mit der entsprechenden `kms:RetireGrant` Genehmigung in Ihren IAM-Richtlinien verwenden.
+ Derjenige AWS-Konto , dem der KMS-Schlüssel gehört, kann die `kms:RetireGrant` Berechtigung an einen 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 späteren Konsistenzmodell.](grants.md#terms-eventual-consistency) 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](using-grant-token.md) zurückzuziehen. Sie können kein Erteilungs-Token verwenden, um eine Erteilung zu widerrufen.