Key Protect-Integration

Gen 2

Die Daten, die Sie in Cloud Databases speichern, werden standardmäßig mithilfe zufällig generierter Schlüssel verschlüsselt. Um die Verschlüsselungsschlüssel zu verwalten, können Sie über IBM Key Protect Ihre eigenen Schlüssel (BYOK – Bring Your Own Key) verwenden und damit Ihre Datenbanken und Backups verschlüsseln.

Um loszulegen, richten Sie Key Protect in Ihrem „ IBM Cloud “-Konto ein.

Schlüssel in Key Protect erstellen oder hinzufügen

Rufen Sie Ihre Instanz von Key Protect auf und generieren Sie einen Schlüssel oder geben Sie ihn ein.

Erteilung einer Serviceberechtigung in der Benutzeroberfläche

Autorisieren Sie Key Protect für die Verwendung mit Cloud Databases-Bereitstellungen:

  1. Öffnen Sie das IBM Cloud-Dashboard.
  2. Klicken Sie in der Menüleiste auf Verwalten-> Zugriff (IAM).
  3. Klicken Sie in der Seitennavigation auf Autorisierungen.
  4. Klicken Sie auf Erstellen.
  5. Wählen Sie im Menü Quellenservice den Service der Implementierung aus. Zum Beispiel: Databases for PostgreSQL oder Databases for MongoDB.
  6. Wählen Sie im Menü Ressourcen des Source-Dienstes die Option Alle Ressourcen aus.
  7. Wählen Sie im Menü Zielservice die Option Key Protect aus.
  8. Wählen Sie Account als Ressourcengruppe für den Ziel-Service aus oder behalten Sie den Standardwert bei
  9. Wählen Sie im Menü für die Instanz-ID des Zielservice die Serviceinstanzen aus, die autorisiert werden sollen.
  10. Aktivieren Sie die Rolle Leseberechtigter.
  11. Um Bring your own key (BYOK) zu verwenden, aktivieren Sie das Kontrollkästchen Autorisierungen delegieren im Abschnitt Abhängige Dienste autorisieren.
  12. Klicken Sie auf Autorisieren.

Wenn die Serviceautorisierung nicht vorhanden ist, bevor Ihre Bereitstellung mit einem Schlüssel eingerichtet wird, schlägt die Einrichtung fehl.

Wenn Sie eine strengere Autorisierungsrichtlinie festlegen möchten, konfigurieren Sie Ihre Richtlinie für eine explizite CRN des Stammschlüssels oder für eine bestimmte „ Key Protect “-Instanz. Die für „ Key Protect “-Schlüsselanhänger geltenden Einschränkungen werden derzeit nicht unterstützt.

Erteilung einer Serviceberechtigung in der CLI

  1. Erstellen Sie eine Autorisierungsrichtlinie, um dem Dienst „ Cloud Databases “ den Zugriff auf die Instanz des Dienstes „ Key Protect “ über die CLI zu ermöglichen. Eine vollständige Übersicht über die Argumente finden Sie in der IAM-CLI-Referenz.
ibmcloud iam authorization-policy-create <SERVICE-NAME> kms "Reader,AuthorizationDelegator"

Wenn die Serviceautorisierung nicht vorhanden ist, bevor Ihre Bereitstellung mit einem Schlüssel eingerichtet wird, schlägt die Einrichtung fehl.

Wenn Sie eine strengere Autorisierungsrichtlinie festlegen möchten, konfigurieren Sie Ihre Richtlinie für eine explizite CRN des Stammschlüssels oder für eine bestimmte „ Key Protect “-Instanz. Die für „ Key Protect “-Schlüsselanhänger geltenden Einschränkungen werden derzeit nicht unterstützt.

Erteilung einer Service-Autorisierung über die REST-API

  1. Erstellen Sie eine Autorisierungsrichtlinie, um dem Cloud Databases-Dienst den Zugriff auf die Instanz des Key Protect-Dienstes über die IAM-REST-API zu ermöglichen.

Eine vollständige API-Referenz finden Sie in der IAM Policy Management API.

curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' -d '{
  "type": "authorization",
  "subjects": [
      {
          "attributes": [
              {
                  "name": "accountId",
                  "value": "CUSTOMER_ACCOUNT_ID"
              },
              {
                  "name": "serviceName",
                  "value": "<SERVICE-NAME>"
              }
          ]
      }
  ],
  "roles": [
      {
        "role_id": "crn:v1:bluemix:public:iam::::serviceRole:Reader"
      },
      {
        "role_id": "crn:v1:bluemix:public:iam::::role:AuthorizationDelegator"
      }
    ],
    "resources": [
        {
            "attributes": [
                {
                    "name": "accountId",
                    "operator": "stringEquals",
                    "value": "CUSTOMER_ACCOUNT_ID"
                },
                {
                    "name": "serviceName",
                    "operator": "stringEquals",
                    "value": "kms"
                }
            ]
        }
    ]
}'

Wenn die Serviceautorisierung nicht vorhanden ist, bevor Ihre Bereitstellung mit einem Schlüssel eingerichtet wird, schlägt die Einrichtung fehl.

Wenn Sie eine strengere Autorisierungsrichtlinie festlegen möchten, konfigurieren Sie Ihre Richtlinie für eine explizite CRN des Stammschlüssels oder für eine bestimmte „ Key Protect “-Instanz. Die für „ Key Protect “-Schlüsselanhänger geltenden Einschränkungen werden derzeit nicht unterstützt.

Verwendung des Schlüssels Key Protect

Nachdem Sie Ihren Cloud Databases-Bereitstellungen die Berechtigung zum Verwenden Ihrer Schlüssel erteilt haben, geben Sie den Schlüsselnamen oder CRN jeweils an, wenn Sie Bereitstellungen einrichten. Die Bereitstellung verwendet Ihren Verschlüsselungsschlüssel, um Ihre Daten zu verschlüsseln.

Verwendung des Schlüssels „ Key Protect “ in der Benutzeroberfläche bei der Bereitstellung

Wenn Sie die Bereitstellung über die Katalogseite vornehmen, wählen Sie die Instanz Key Protect und den Schlüssel aus dem Dropdown-Menü aus.

Verwendung des Schlüssels „ Key Protect “ in der CLI bei der Bereitstellung

Verwenden Sie in der CLI den Parameter „ dataservices.encryption.disk “ im JSON-Objekt „parameters“, um Ihrer Service-Instanz eine Root-Key-CRN zuzuweisen.

ibmcloud resource service-instance-create <INSTANCE-NAME> <SERVICE-NAME> <PLAN-NAME> REGION -p '{"dataservices":{"encryption":{"disk":"KMS_KEY_CRN"}}}'

Der Schlüssel „ Key Protect “ muss anhand seiner vollständigen CRN identifiziert werden, nicht nur anhand seiner ID. Ein CRN- Key Protect t im Format crn:v1:<...>:key:<id>.

Verwendung des Schlüssels „ Key Protect “ in der API bei der Bereitstellung

Verwenden Sie in der API den Parameter dataservices.encryption.disk im Hauptteil der Anfrage.

  curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances -H "Authorization: Bearer <IAM token>" -H 'Content-Type: application/json' -d '{
    "name": "<INSTANCE-NAME>",
    "target": "ca-mon",
    "resource_group": "<A RESOURCE GROUP GUID>",
    "resource_plan_id": "<A PLAN ID>",
    "parameters": {
      "dataservices": {
          "encryption": {
            "disk": "KMS_KEY_CRN"
          }
      }
    }

Der Schlüssel „ Key Protect “ muss anhand seiner vollständigen CRN identifiziert werden, nicht nur anhand seiner ID. Ein CRN- Key Protect t im Format crn:v1:<...>:key:<id>.

Schlüsselrotation

Key Protect bietet manuelle und automatische Schlüsselrotation, wobei die Schlüsselrotation bei „ Cloud Databases “-Bereitstellungen unterstützt wird. Wenn Sie einen Schlüssel turnusmäßig wechseln, leitet der Prozess eine Task zum Synchronisieren des KMS-Status ein und Ihre Bereitstellung wird mit dem neuen Schlüssel neu verschlüsselt. Die Aufgabe wird auf der Seite Aufgaben in der Übersicht Ihrer Bereitstellung angezeigt, und die zugehörigen Ereignisse Key Protect und Cloud Databases werden an Activity Tracker gesendet.

Weitere Informationen finden Sie unter „ Manuelles oder automatisches Drehen “.

Bereitstellung löschen

Wenn Sie eine Bereitstellung löschen, die mit einem Key Protect-Schlüssel geschützt ist, bleibt die Bereitstellung während der Soft-Löschphase (bis zu 9 Tage) weiterhin unter diesem Schlüssel registriert. Um den Schlüssel innerhalb der Soft-Löschfrist zu löschen, führen Sie eine „ Löschung erzwingen “ des Schlüssels durch. Nach dem Ende des Zeitraums für die vorläufige Löschung kann der Schlüssel ohne Erzwingen gelöscht werden. Um festzustellen, wann Sie den Schlüssel löschen können, überprüfen Sie die Zuordnung zwischen dem Schlüssel und Ihrer Bereitstellung.

Kryptografisches Vernichten

Kryptografisches Vernichten ist eine zerstörerische Aktion. Wenn der Schlüssel gelöscht ist, können Ihre Daten nicht mehr wiederhergestellt werden.

Key Protect ermöglicht es Ihnen, die „ eine erzwungene Löschung einleiten “ eines Schlüssels durchzuführen, der von IBM Cloud®-Diensten verwendet wird, einschließlich Ihrer Gen 2- Cloud Databases-Bereitstellungen. Diese Aktion wird als kryptografisches Vernichten von Daten (Crypto-Shredding) bezeichnet. Durch das Löschen eines in Ihrer Bereitstellung verwendeten Schlüssels werden die Platten gesperrt, die Ihre Daten enthalten, und die Bereitstellung wird inaktiviert. Sie können weiterhin auf die Benutzerschnittstelle und einige Metadaten zugreifen, wie z. B. Sicherheitseinstellungen in der Benutzerschnittstelle, der CLI und der API, Sie können jedoch nicht auf eine der Datenbanken oder auf die in ihnen enthaltenen Daten zugreifen. Die Löschung eines Schlüssels wird als an die Activity Tracker Event Routing gesendetkms.secrets.delete.

Eigenen Schlüssel für Sicherungen verwenden

Wenn Sie Key Protect verwenden, können Sie beim Einrichten einer Datenbank einen Schlüssel festlegen, mit dem die IBM® Cloud Block Storage for Virtual Private Cloud-Festplatte verschlüsselt wird, auf der die Sicherungen Ihrer Bereitstellung gespeichert sind.

Die Sicherungskopie übernimmt denselben Verschlüsselungsschlüssel wie die Datenbank. Bei der Erstellung der Sicherung aus der Datenbank kann kein anderer Verschlüsselungsschlüssel angegeben werden.

Delegierungsautorisierung erteilen

Damit Ihre Bereitstellung den Schlüssel „ Key Protect “ verwenden kann, müssen Sie bei der Erteilung der Dienstberechtigungen die Delegierung der Autorisierung aktivieren. Wenn die Delegierungsautorisierung nicht vorhanden ist, bevor Ihre Bereitstellung mit einem Schlüssel eingerichtet wird, schlägt die Einrichtung fehl.

Nachdem Sie die Delegierung aktiviert und Ihre Bereitstellung durchgeführt haben, werden in IAM zwei Einträge in Ihren Berechtigungen angezeigt. Der eine Eintrag ist der Eintrag für die Bereitstellung, die ihren Status als Delegierender auflistet. Er ist vom Benutzer erstellt ('User Created').

Beispiel für eine Delegator- Key Protect-Autorisierung
Rolle Quelle Ziel Typ
Delegierender der Autorisierung, Leseberechtigter <cloud-databases> Service Key Protect Service Benutzerdefiniert

Und eine für das „ Block Storage for VPC “-Volume der Service-Instanz und deren Backups (falls vorhanden), wobei die Bereitstellung der Initiator ist.

Beispiel für eine „ Key Protect “-Autorisierung für „ Cloud Object Storage “ von „ Cloud Databases “
Rolle Quelle Ziel Typ
Leseberechtigter Block Storage for VPC Dienstleistung Key Protect Service Erstellt von <cloud-databases-crn>

Schlüssel entfernen

IAM/ Key Protect hindert Sie nicht daran, die Richtlinie zwischen dem Schlüssel und Block Storage for VPC (zweites Beispiel) zu entfernen, doch dadurch können Ihre Topics/Partitionen möglicherweise nicht mehr wiederhergestellt werden.

Häufige Fallstricke

Gehen Sie beim Entfernen von Schlüsseln und Berechtigungen vorsichtig vor. Wenn Sie mehrere Bereitstellungen haben, die dieselben Schlüssel verwenden, kann es vorkommen, dass durch den Widerruf der Delegierungsberechtigung versehentlich Daten in all diesen Bereitstellungen zerstört werden. Verwenden Sie nach Möglichkeit nicht denselben Schlüssel für mehrere Bereitstellungen.

Wenn Sie die mit Ihrer Instanz verbundenen Daten vernichten möchten, können Sie den Schlüssel löschen. „ Block Storage for VPC “ stellt sicher, dass der Speicher weder lesbar noch beschreibbar ist. Alle anderen Bereitstellungen (oder deren Sicherungen), die denselben Schlüssel verwenden, werden jedoch anschließend Fehler aufweisen.

Wenn Sie möchten, dass derselbe Schlüssel für mehrere Bereitstellungen und/oder Sicherungen verwendet wird, kann das Entfernen von Schlüsseln und Berechtigungen die folgenden Nebenwirkungen haben. Wenn Sie die Berechtigung für das Volume „ Block Storage for VPC “ löschen (siehe Tabelle 2), ist davon nicht nur die Bereitstellung betroffen, die als Ersteller angegeben ist, sondern auch alle Bereitstellungen, die denselben Schlüssel verwenden. Diese Bereitstellungen werden fehlschlagen, bis Sie ein Support-Ticket eröffnen und die Neuerstellung der Richtlinie beantragen.

Lassen Sie bei der Wiederverwendung von Schlüsseln Vorsicht walten.