View a markdown version of this page

Verschlüsselung im Ruhezustand für den AWS DevOps Agenten - AWS DevOps Agentin

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.

Verschlüsselung im Ruhezustand für den AWS DevOps Agenten

AWS DevOps Der Agent verschlüsselt alle gespeicherten Kundendaten. Standardmäßig verwendet der AWS DevOps Agent AWS eigene Schlüssel, um Ihre Daten ohne zusätzliche Kosten automatisch zu verschlüsseln. Sie können die Verwendung AWS eigener Schlüssel nicht einsehen, verwalten oder überprüfen. Sie müssen jedoch keine Maßnahmen ergreifen, um diese Schlüssel zu schützen. Ihre Daten werden automatisch gesichert.

Sie können Ihre Daten mit einem symmetrischen, vom Kunden verwalteten Schlüssel verschlüsseln, den Sie im AWS Key Management Service (AWS KMS) erstellen, besitzen und verwalten. Da Sie die volle Kontrolle über diese Verschlüsselungsebene haben, können Sie Aufgaben wie die folgenden ausführen:

  • Festlegung und Pflege wichtiger Richtlinien

  • Aktivieren und Deaktivieren wichtiger Richtlinien

  • Kryptographisches Material mit rotierendem Schlüssel

  • Hinzufügen von -Tags

  • Erstellen von Schlüsselaliasen

  • Schlüssel für das Löschen von Schlüsseln planen

Weitere Informationen finden Sie unter Vom Kunden verwaltete Schlüssel im AWS Key Management Service Developer Guide.

Anmerkung

AWS DevOps Der Agent aktiviert automatisch die Verschlüsselung im Ruhezustand mithilfe AWS eigener Schlüssel, um Kundendaten kostenlos zu schützen. Wenn Sie einen vom Kunden verwalteten Schlüssel verwenden, fallen die standardmäßigen AWS KMS-Gebühren an. Weitere Informationen zur Preisgestaltung finden Sie unter Preise für den AWS Key Management Service.

Kundenseitig verwaltete Schlüssel

Von Kunden verwaltete Schlüssel sind KMS-Schlüssel in Ihrem AWS Konto, die Sie erstellen, besitzen und verwalten. Sie haben die volle Kontrolle über diese KMS-Schlüssel, einschließlich der Festlegung und Verwaltung ihrer wichtigsten Richtlinien.

Wenn Sie einen vom Kunden verwalteten Schlüssel konfigurieren, verwendet der AWS DevOps Agent ihn zum Schutz sensibler Ressourcendaten. AWS DevOps Der Agent verwendet die Envelope-Verschlüsselung mit dem hierarchischen Schlüsselbund des AWS Encryption SDK. Ihr KMS-Schlüssel wird verwendet, um Filialschlüssel zu generieren, die wiederum Ihre Daten schützen.

Sie können einen vom Kunden verwalteten Schlüssel angeben, wenn Sie die folgenden Ressourcen erstellen:

  • Agent Space — Verschlüsselt Agent Space-Details und Inhalte, die mit der DevOps Agent Web App erstellt wurden und sich auf Untersuchungen, Fähigkeiten und Chat beziehen.

  • Service — Verschlüsselt die Anmeldeinformationen für Dienste von Drittanbietern im Ruhezustand.

Gehen Sie wie folgt vor, um einen vom Kunden verwalteten Schlüssel in AWS DevOps Agent zu konfigurieren.

Schritt 1: Erstellen eines kundenverwalteten Schlüssels

Sie können einen symmetrischen, vom Kunden verwalteten Schlüssel mithilfe der AWS KMS-Konsole oder der AWS KMS-API erstellen. Der Schlüssel muss die folgenden Anforderungen erfüllen:

Eigenschaft Anforderung
Schlüsseltyp Symmetrisch
Schlüsselspezifikation SYMMETRIC_DEFAULT
Schlüsselnutzung ENCRYPT_DECRYPT
Anmerkung

AWS DevOps Der Agent unterstützt nur KMS-Schlüssel zur symmetrischen Verschlüsselung mit der SYMMETRIC_DEFAULT Schlüsselspezifikation und der ENCRYPT_DECRYPT Schlüsselverwendung. Schlüssel für mehrere Regionen und asymmetrische Schlüssel werden derzeit nicht unterstützt.

Weitere Informationen finden Sie unter Creating a symmetric customer managed key im AWS Key Management Service Developer Guide.

Schritt 2: Legen Sie die Schlüsselrichtlinie fest

Schlüsselrichtlinien steuern den Zugriff auf den vom Kunden verwalteten Schlüssel. Jeder vom Kunden verwaltete Schlüssel muss über genau eine Schlüsselrichtlinie verfügen, die aussagt, wer den Schlüssel wie verwenden kann.

Ihre Schlüsselrichtlinie muss sowohl dem aufrufenden Prinzipal (Ihre IAM-Identität) als auch dem AWS DevOps Agent-Dienst Berechtigungen gewähren. AWS DevOps Der Agent greift mit zwei Anmeldeinformationen auf Ihren Schlüssel zu:

  1. Ihre Anruferanmeldedaten — Werden für alle synchronen Vorgänge verwendet, einschließlich der Schlüsselvalidierung, Verschlüsselung bei der Ressourcenerstellung und für jeden API-Aufruf, der eine direkte Antwort an den Anrufer zurückgibt.

  2. AWS DevOps Agent Service Principal — Wird für asynchrone Vorgänge verwendet, die im Hintergrund ausgeführt werden, z. B. betriebliche Untersuchungen, Vorfallanalysen, Ereigniskorrelation und Generierung von Ursachenanalysen.

In der folgenden Tabelle sind die erforderlichen KMS-Aktionen aufgeführt:

KMS-Aktion Description
kms:DescribeKey Überprüfen Sie die Schlüsselkonfiguration bei der Erstellung der Ressource
kms:GenerateDataKey Generieren Sie Datenverschlüsselungsschlüssel für die Umschlagverschlüsselung
kms:Decrypt Daten entschlüsseln
kms:Encrypt Daten verschlüsseln
kms:ReEncrypt Verschlüsseln Sie Daten erneut mit demselben oder einem anderen Schlüssel

AWS DevOps Der Agent validiert all diese Berechtigungen bei der Konfiguration mithilfe von Testläufen. Wenn eine Berechtigung fehlt, schlägt die Anfrage mit einer Ausnahme fehl.

Es folgt eine Beispielschlüsselrichtlinie. Ersetzen Sie die Platzhalterwerte durch Ihre eigenen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallerAccessViaService", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/DevOpsAgentUserRole" }, "Action": [ "kms:DescribeKey", "kms:GenerateDataKey*", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "aidevops.us-east-1.amazonaws.com" } } }, { "Sid": "AllowDevOpsAgentServiceDescribeKeyAccess", "Effect": "Allow", "Principal": { "Service": "aidevops.amazonaws.com" }, "Action": [ "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "AllowDevOpsAgentAccessForAgentSpace", "Effect": "Allow", "Principal": { "Service": "aidevops.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": "*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:aidevops:us-east-1:111122223333:agentspace/*" }, "StringLike": { "kms:EncryptionContext:aws-crypto-ec:aws:aidevops:arn": "arn:aws:aidevops:us-east-1:111122223333:agentspace/*" } } }, { "Sid": "AllowDevOpsAgentAccessForService", "Effect": "Allow", "Principal": { "Service": "aidevops.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": "*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:aidevops:us-east-1:111122223333:service/*" }, "StringLike": { "kms:EncryptionContext:aws-crypto-ec:aws:aidevops:arn": "arn:aws:aidevops:us-east-1:111122223333:service/*" } } } ] }

Die Richtlinie enthält die folgenden Aussagen:

  • AllowKeyAdministration— Gewährt dem Account-Root vollen administrativen Zugriff auf den Schlüssel. Ersetze es 111122223333 durch deine AWS Konto-ID.

  • AllowCallerAccessViaService— Gewährt Ihren IAM-Prinzipalen die KMS-Berechtigungen, die für alle synchronen AWS DevOps Agentenvorgänge erforderlich sind. Dazu gehören die Schlüsselvalidierung bei der Erstellung der Ressource sowie Verschlüsselungs- und Entschlüsselungsvorgänge für jeden API-Aufruf, der eine direkte Antwort an den Aufrufer zurückgibt. Diese kms:ViaService Bedingung stellt sicher, dass Sie den Schlüssel nur über den AWS DevOps Agent-Dienst verwenden können. 111122223333Ersetzen Sie es durch Ihre AWS Konto-ID und us-east-1 durch Ihre AWS Region.

  • AllowDevOpsAgentServiceAccessForAgentSpace/AllowDevOpsAgentServiceAccessForService— Gewährt dem aidevops.amazonaws.com Dienstprinzipal die für asynchrone Operationen erforderlichen KMS-Berechtigungen. AWS DevOps Der Agent verwendet diesen Dienstprinzipal, um Ihre Daten zu verschlüsseln und zu entschlüsseln, wenn er Hintergrundoperationen durchführt, z. B. Betriebsuntersuchungen durchführt, Vorfälle analysiert, Ereignisse dienstübergreifend korreliert und Ursachenanalysen erstellt. Ohne diesen Zugriff kann der AWS DevOps Agent die verschlüsselten Daten, die für die Durchführung von Untersuchungen in Ihrem Namen benötigt werden, nicht lesen. Die aws:SourceArn Bedingung schränkt den Zugriff auf Anfragen ein, die von Ihren AWS DevOps Agentenressourcen stammen, und die kms:EncryptionContext Bedingung stellt sicher, dass der Verschlüsselungskontext mit Ihrer Ressource ARNs übereinstimmt. 111122223333Ersetzen Sie es durch Ihre AWS Konto-ID und us-east-1 durch Ihre AWS Region.

Weitere Informationen zu wichtigen Richtlinien finden Sie unter Wichtige Richtlinien in AWS KMS im AWS Key Management Service Developer Guide.

Schritt 3: Geben Sie den Schlüssel an, wenn Sie eine Ressource erstellen

Nachdem Sie Ihren Schlüssel erstellt und die Schlüsselrichtlinie konfiguriert haben, können Sie den Schlüssel bei der Erstellung von AWS DevOps Agentenressourcen angeben.

Konsole

So konfigurieren Sie einen vom Kunden verwalteten Schlüssel bei der Erstellung eines Agentenbereichs in der Konsole:

  1. Öffnen Sie die AWS DevOps Agent-Konsole.

  2. Wählen Sie Create Agent Space oder Service registrieren.

  3. Geben Sie die Details des Agentenbereichs ein (Name, Beschreibung und IAM-Rolle).

  4. Erweitern Sie den Abschnitt Erweiterte Konfiguration.

  5. Wählen Sie unter Verschlüsselungsschlüsseltyp die Option Vom Kunden verwalteter Schlüssel aus.

  6. Wählen Sie einen KMS-Schlüssel aus der Dropdownliste aus, oder geben Sie einen KMS-Schlüssel-ARN ein.

  7. Überprüfen Sie die Schlüsselrichtlinie, die im erweiterbaren Abschnitt Schlüsselrichtlinie angezeigt wird. Stellen Sie sicher, dass Sie diese Richtlinie an Ihren KMS-Schlüssel angehängt haben. Sie können die Schaltfläche „Kopieren“ verwenden, um die Richtlinie zu kopieren.

  8. Schließen Sie die verbleibende Konfiguration ab und wählen Sie Create.

Anmerkung

Wenn Sie Ihren KMS-Schlüssel nicht in der Dropdownliste sehen, überprüfen Sie, ob der Schlüssel die Anforderungen in Schritt 1 erfüllt und ob Sie über die kms:DescribeKey erforderlichen Berechtigungen verfügenkms:ListKeys.

API

Einen Agent Space mit einem vom Kunden verwalteten Schlüssel erstellen

Geben Sie den kmsKeyArn Parameter an, wenn Sie einen Agentenbereich erstellen. Der Wert muss der vollständige KMS-Schlüssel-ARN sein.

{ "name": "my-agent-space", "description": "An encrypted agent space", "kmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }
Registrierung eines Dienstes mit einem vom Kunden verwalteten Schlüssel

Geben Sie den kmsKeyArn Parameter bei der Registrierung eines Dienstes an. Der Wert muss der vollständige KMS-Schlüssel-ARN sein. Dieser Parameter wird für alle Diensttypen unterstützt, einschließlich Dynatrace-,,, ServiceNow PagerDuty GitLab GitHub, und MCP-Servern.

{ "service": "dynatrace", "kmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "serviceDetails": { ... } }
Anmerkung

Sie müssen den vom Kunden verwalteten Schlüssel bei der Erstellung der Ressource angeben. Sie können den vom Kunden verwalteten Schlüssel für eine vorhandene Ressource nicht hinzufügen oder ändern.

AWS DevOps Kontext der Agentenverschlüsselung

Ein Verschlüsselungskontext ist ein Satz nicht geheimer Schlüssel-Wert-Paare, die zusätzliche kontextbezogene Informationen zu den Daten enthalten. AWS KMS verwendet den Verschlüsselungskontext als zusätzliche authentifizierte Daten, um die authentifizierte Verschlüsselung zu unterstützen. Wenn Sie einen Verschlüsselungskontext in eine Anforderung zur Datenverschlüsselung aufnehmen, bindet AWS KMS den Verschlüsselungskontext an die verschlüsselten Daten. Um Daten zu entschlüsseln, müssen Sie denselben Verschlüsselungskontext in die Anfrage aufnehmen.

AWS DevOps Der Agent verwendet den folgenden Verschlüsselungskontext für alle kryptografischen Operationen:

{ "aws-crypto-ec:aws:aidevops:arn": "arn:aws:aidevops:{region}:{accountId}:{resourceType}/{resourceId}" }

Der Wert für den Verschlüsselungskontext ist der ARN der AWS DevOps Agentenressource, die verschlüsselt wird. Sie können diesen Verschlüsselungskontext in Ihren wichtigsten Richtlinienbedingungen und in AWS CloudTrail Protokollen verwenden, um zu überprüfen, wie Ihr Schlüssel verwendet wird.

Schlüsselverwaltung

Wenn Sie das Löschen Ihres KMS-Schlüssels deaktivieren oder planen, kann der AWS DevOps Agent Ihre Daten nicht entschlüsseln. Dies führt zu AccessDeniedException Fehlern bei Vorgängen, die verschlüsselte Daten lesen.

Wichtig

Wenn Sie sich dafür entscheiden, einen vom Kunden verwalteten Schlüssel zu verwenden, sind Sie für die Verwaltung des Schlüssels und seiner Berechtigungen verantwortlich. Wenn der Schlüssel deaktiviert oder gelöscht wird oder wenn der AWS DevOps Agent die Berechtigung zur Verwendung des Schlüssels verliert, verlieren Sie den Zugriff auf die verschlüsselten Daten.

In der folgenden Tabelle werden die häufigsten Fehlerszenarien beschrieben:

Action Auswirkung
Wichtige Richtlinienberechtigungen wurden widerrufen AccessDeniedExceptionbei Verschlüsselungs- und Entschlüsselungsvorgängen
Der KMS-Schlüssel ist deaktiviert DisabledExceptionbei Verschlüsselungs- und Entschlüsselungsvorgängen
Der KMS-Schlüssel ist für die Löschung geplant KMSInvalidStateExceptionbei Verschlüsselungs- und Entschlüsselungsvorgängen
Der KMS-Schlüssel ist gelöscht Dauerhafter Datenverlust — verschlüsselte Daten können nicht wiederhergestellt werden

Bevor Sie einen Schlüssel deaktivieren oder löschen:

  1. Stellen Sie sicher, dass keine aktiven AWS DevOps Agentenressourcen von dem Schlüssel abhängen.

  2. Erwägen Sie, zuerst den Schlüssel zu deaktivieren, um die Auswirkungen zu testen, bevor Sie den Löschvorgang planen.

  3. AWS KMS erzwingt eine Mindestwartezeit vor dem Löschen des Schlüssels, sodass Sie bei Bedarf Zeit haben, den Vorgang zu kündigen.

Überwachen Ihrer Verschlüsselungsschlüssel

Wenn Sie einen vom Kunden verwalteten Schlüssel mit AWS DevOps Agent verwenden, können Sie AWS CloudTraildamit Anfragen verfolgen, die der AWS DevOps Agent an AWS KMS sendet.

Sie können CloudTrail Ereignisse nach folgenden Kriterien filtern:

  • Quelle des Ereignisseskms.amazonaws.com

  • Schlüssel für den Verschlüsselungskontextaws-crypto-ec:aws:aidevops:arn

  • Schlüssel-ARN — Ihr vom Kunden verwalteter Schlüssel-ARN in den Anforderungsparametern

Weitere Informationen finden Sie unter Protokollieren von AWS KMS-API-Aufrufen mit AWS CloudTrail im AWS Key Management Service Developer Guide.