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 bei REST für AWS HealthLake
HealthLake bietet standardmäßig Verschlüsselung, um sensible Kundendaten im Speicher zu schützen, indem ein serviceeigener AWS Key Management Service (AWS KMS) -Schlüssel verwendet wird. Kundenverwaltete KMS-Schlüssel werden ebenfalls unterstützt und sind sowohl für den Import als auch für den Export von Dateien aus einem Datenspeicher erforderlich. Weitere Informationen über vom Kunden verwaltete KMS-Schlüssel finden Sie unter Amazon Key Management Service. Kunden können bei der Erstellung eines Datenspeichers einen AWS-eigenen KMS-Schlüssel oder einen vom Kunden verwalteten KMS-Schlüssel wählen. Die Verschlüsselungskonfiguration kann nicht geändert werden, nachdem ein Datenspeicher erstellt wurde. Wenn ein Datenspeicher einen AWS-eigenen KMS-Schlüssel verwendet, wird dieser als AWS_OWNED _KMS_KEY bezeichnet und der spezifische Schlüssel, der für die Verschlüsselung verwendet wird, wird im Ruhezustand nicht angezeigt.
AWS-eigener KMS-Schlüssel
HealthLake verwendet diese Schlüssel standardmäßig, um potenziell vertrauliche Informationen wie personenbezogene Daten oder private Gesundheitsinformationen (PHI) im Ruhezustand automatisch zu verschlüsseln. AWS-eigene KMS-Schlüssel werden nicht in Ihrem Konto gespeichert. Sie sind Teil einer Sammlung von KMS-Schlüsseln, die AWS besitzt und für die Verwendung in mehreren AWS-Konten verwaltet. AWS-Services können AWS-eigene KMS-Schlüssel verwenden, um Ihre Daten zu schützen. Sie können AWS-eigene KMS-Schlüssel nicht anzeigen, verwalten, verwenden oder deren Verwendung überprüfen. Sie müssen jedoch keine Arbeit verrichten oder Programme ändern, um die Schlüssel zu schützen, mit denen Ihre Daten verschlüsselt werden.
Ihnen wird keine monatliche Gebühr oder Nutzungsgebühr berechnet, wenn Sie AWS-eigene KMS-Schlüssel verwenden, und diese werden nicht auf die AWS KMS-Kontingente für Ihr Konto angerechnet. Weitere Informationen finden Sie unter AWS-eigene Schlüssel.
Vom Kunden verwaltete KMS-Schlüssel
HealthLake unterstützt die Verwendung eines symmetrischen, vom Kunden verwalteten KMS-Schlüssels, den Sie erstellen, besitzen und verwalten, um eine zweite Verschlüsselungsebene über der vorhandenen AWS-eigenen Verschlüsselung hinzuzufügen. Da Sie die volle Kontrolle über diese Verschlüsselungsebene haben, können Sie beispielsweise folgende Aufgaben ausführen:
-
Einrichtung und Pflege wichtiger Richtlinien, IAM-Richtlinien und Zuschüsse
-
Kryptographisches Material mit rotierendem Schlüssel
-
Aktivieren und Deaktivieren wichtiger Richtlinien
-
Hinzufügen von Tags
-
Erstellen von Schlüsselaliasen
-
Schlüssel für das Löschen von Schlüsseln planen
Sie können es auch verwenden CloudTrail , um die Anfragen nachzuverfolgen, die in Ihrem Namen HealthLake AWS KMS an gesendet werden. Es AWS KMS fallen zusätzliche Gebühren an. Weitere Informationen finden Sie unter Kundeneigene Schlüssel.
Einen kundenverwalteten Schlüssel erstellen
Sie können einen symmetrischen, vom Kunden verwalteten Schlüssel mithilfe der AWS-Managementkonsole oder der AWS KMS APIs erstellen.
Folgen Sie den Schritten zur Erstellung eines symmetrischen kundenverwalteten Schlüssels im AWS Key Management Service Developer Guide.
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. Wenn Sie Ihren vom Kunden verwalteten Schlüssel erstellen, können Sie eine Schlüsselrichtlinie angeben. Weitere Informationen finden Sie unter Verwaltung des Zugriffs auf vom Kunden verwaltete Schlüssel im AWS Key Management Service Developer Guide.
Um Ihren vom Kunden verwalteten Schlüssel mit Ihren HealthLake Ressourcen verwenden zu können, müssen kms: CreateGrant operations in der Schlüsselrichtlinie zulässig sein. Dadurch wird einem vom Kunden verwalteten Schlüssel ein Zuschuss hinzugefügt, der den Zugriff auf einen bestimmten KMS-Schlüssel steuert, wodurch ein Benutzer Zugriff auf die für kms:grant-Operationen erforderlichen Funktionen erhält. HealthLake Weitere Informationen finden Sie unter Zuschüsse verwenden.
Um Ihren vom Kunden verwalteten KMS-Schlüssel mit Ihren HealthLake Ressourcen zu verwenden, müssen die folgenden API-Operationen in der Schlüsselrichtlinie zulässig sein:
-
kms: CreateGrant fügt einem bestimmten, vom Kunden verwalteten KMS-Schlüssel Zuschüsse hinzu, der den Zugriff auf Grant-Operationen ermöglicht.
-
kms: DescribeKey stellt die vom Kunden verwalteten Schlüsseldetails bereit, die zur Validierung des Schlüssels erforderlich sind. Dies ist für alle Operationen erforderlich.
-
kms: GenerateDataKey bietet Zugriff auf die Verschlüsselung von Ressourcen im Ruhezustand für alle Schreibvorgänge.
-
kms:Decrypt bietet Zugriff auf Lese- oder Suchvorgänge für verschlüsselte Ressourcen.
Im Folgenden finden Sie ein Beispiel für eine Richtlinienanweisung, die es einem Benutzer ermöglicht, einen Datenspeicher zu erstellen und mit diesem zu interagieren, der mit diesem AWS HealthLake Schlüssel verschlüsselt ist:
"Statement": [ { "Sid": "Allow access to create data stores and do CRUD/search in AWS HealthLake", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:HealthLakeFullAccessRole" }, "Action": [ "kms:DescribeKey", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "healthlake.amazonaws.com", "kms:CallerAccount": "111122223333" } } } ]
Erforderliche IAM-Berechtigungen für die Verwendung eines vom Kunden verwalteten KMS-Schlüssels
Beim Erstellen eines Datenspeichers mit aktivierter AWS KMS Verschlüsselung mithilfe eines vom Kunden verwalteten KMS-Schlüssels sind für den Benutzer oder die Rolle, die den HealthLake Datenspeicher erstellt, Berechtigungen sowohl für die Schlüsselrichtlinie als auch für die IAM-Richtlinie erforderlich.
Sie können den ViaService Bedingungsschlüssel kms: verwenden, um die Verwendung des KMS-Schlüssels auf Anfragen zu beschränken, die von HealthLake stammen.
Weitere Informationen zu wichtigen Richtlinien finden Sie unter Enabling IAM-Policies im AWS Key Management Service Developer Guide.
Der IAM-Benutzer, die IAM-Rolle oder das AWS-Konto, das Ihre Repositorys erstellt, muss über die Berechtigungen kms:CreateGrant, kms: GenerateDataKey und sowie die kms: DescribeKey erforderlichen Berechtigungen verfügen. HealthLake
Wie HealthLake werden Zuschüsse in AWS KMS verwendet
HealthLake erfordert einen Zuschuss für die Nutzung Ihres vom Kunden verwalteten KMS-Schlüssels. Wenn Sie einen Datenspeicher erstellen, der mit einem vom Kunden verwalteten KMS-Schlüssel verschlüsselt ist, HealthLake erstellt er in Ihrem Namen einen Zuschuss, indem es eine CreateGrantAnfrage an AWS KMS sendet. Zuschüsse in AWS KMS werden verwendet, um HealthLake Zugriff auf einen KMS-Schlüssel in einem Kundenkonto zu gewähren.
Die Zuschüsse, HealthLake die in Ihrem Namen gewährt werden, sollten nicht widerrufen oder zurückgezogen werden. Wenn Sie die HealthLake Genehmigung zur Verwendung der AWS-KMS-Schlüssel in Ihrem Konto widerrufen oder zurückziehen, können Sie HealthLake nicht auf diese Daten zugreifen, neue FHIR-Ressourcen, die an den Datenspeicher übertragen werden, verschlüsseln oder sie entschlüsseln, wenn sie abgerufen werden. Wenn Sie einen Zuschuss für widerrufen oder zurückziehen HealthLake, erfolgt die Änderung sofort. Um die Zugriffsrechte zu entziehen, sollten Sie den Datenspeicher löschen, anstatt die Gewährung zu widerrufen. Wenn ein Datenspeicher gelöscht wird, werden die Zuschüsse HealthLake in Ihrem Namen zurückgezogen.
Überwachen Sie Ihre Verschlüsselungsschlüssel für HealthLake
Sie können CloudTrail damit die Anfragen verfolgen, die in Ihrem Namen HealthLake AWS KMS an gesendet werden, wenn Sie einen vom Kunden verwalteten KMS-Schlüssel verwenden. In den Protokolleinträgen im CloudTrail Protokoll wird healthlake.amazonaws.com im Feld UserAgent angezeigt, um Anfragen von deutlich zu unterscheiden. HealthLake
Bei den folgenden Beispielen handelt es sich um CloudTrail Ereignisse für CreateGrant, GenerateDataKey Decrypt und zur Überwachung von AWS KMS Vorgängen, die aufgerufen werden, DescribeKey um auf Daten zuzugreifen, die mit Ihrem vom Kunden HealthLake verwalteten Schlüssel verschlüsselt wurden.
Im Folgenden wird gezeigt, wie Sie CreateGrant den HealthLake Zugriff auf einen vom Kunden bereitgestellten KMS-Schlüssel ermöglichen, sodass HealthLake Sie diesen KMS-Schlüssel verwenden können, um alle gespeicherten Kundendaten zu verschlüsseln.
Benutzer müssen keine eigenen Zuschüsse erstellen. HealthLake erstellt in Ihrem Namen einen Zuschuss, indem Sie eine CreateGrant Anfrage an AWS KMS senden. Zuschüsse AWS KMS werden verwendet, um HealthLake Zugriff auf einen AWS KMS Schlüssel in einem Kundenkonto zu gewähren.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEROLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01, "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-06-30T19:33:37Z", "mfaAuthenticated": "false" } }, "invokedBy": "healthlake.amazonaws.com" }, "eventTime": "2021-06-30T20:31:15Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-east-1", "sourceIPAddress": "healthlake.amazonaws.com", "userAgent": "healthlake.amazonaws.com", "requestParameters": { "operations": [ "CreateGrant", "Decrypt", "DescribeKey", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "RetireGrant" ], "granteePrincipal": "healthlake.us-east-1.amazonaws.com", "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN", "retiringPrincipal": "healthlake.us-east-1.amazonaws.com" }, "responseElements": { "grantId": "EXAMPLE_ID_01" }, "requestID": "EXAMPLE_ID_02", "eventID": "EXAMPLE_ID_03", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Die folgenden Beispiele zeigen, wie sichergestellt werden kann GenerateDataKey , dass der Benutzer vor dem Speichern über die erforderlichen Berechtigungen zum Verschlüsseln von Daten verfügt.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-06-30T21:17:06Z", "mfaAuthenticated": "false" } }, "invokedBy": "healthlake.amazonaws.com" }, "eventTime": "2021-06-30T21:17:37Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-east-1", "sourceIPAddress": "healthlake.amazonaws.com", "userAgent": "healthlake.amazonaws.com", "requestParameters": { "keySpec": "AES_256", "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Das folgende Beispiel zeigt, wie der Vorgang Decrypt HealthLake aufgerufen wird, um den gespeicherten verschlüsselten Datenschlüssel für den Zugriff auf die verschlüsselten Daten zu verwenden.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-06-30T21:17:06Z", "mfaAuthenticated": "false" } }, "invokedBy": "healthlake.amazonaws.com" }, "eventTime": "2021-06-30T21:21:59Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "healthlake.amazonaws.com", "userAgent": "healthlake.amazonaws.com", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Das folgende Beispiel zeigt, wie der DescribeKey Vorgang HealthLake verwendet wird, um zu überprüfen, ob sich der AWS KMS Schlüssel im Besitz des AWS KMS Kunden in einem verwendbaren Zustand befindet, und um einem Benutzer bei der Fehlerbehebung zu helfen, falls er nicht funktioniert.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-07-01T18:36:14Z", "mfaAuthenticated": "false" } }, "invokedBy": "healthlake.amazonaws.com" }, "eventTime": "2021-07-01T18:36:36Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-east-1", "sourceIPAddress": "healthlake.amazonaws.com", "userAgent": "healthlake.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Weitere Informationen
Die folgenden Ressourcen bieten weitere Informationen zur Verschlüsselung von Daten im Ruhezustand.
Weitere Informationen zu den Grundkonzepten von AWS Key Management Service finden Sie in der AWS KMS Dokumentation.
Weitere Informationen zu bewährten Sicherheitsmethoden finden Sie in der AWS KMS Dokumentation.