Schlüsselmanagement in einer bereitstellbaren Architektur einer Landing-Zone überschreiben

Die implementierbaren Landing-Zone-Architekturen stellen Schlüsselmanagementfunktionen bereit, indem sie IBM Key Protect oder Hyper Protect Crypto Servicesintegrieren. Um erweiterte Änderungen an der Schlüsselverwaltung vorzunehmen, die in den meisten Eingaben nicht möglich sind, verwenden Sie eine Überschreibungseingabe.

Zum Überschreiben der Werte übergeben Sie das JSON-Objekt key_management in einer Überschreibungseingabevariablen. Für Bereitstellungen mit Projekten oder IBM Cloud Schematicswerden die Werte in der Eingabe override_json_string hinzugefügt. Sowohl IBM Key Protect als auch Hyper Protect Crypto Services werden in den bereitstellbaren Architekturen der Landing-Zone unterstützt.

Sie können auch das Konfigurationstool für Zielzonen verwenden, um Ihre implementierbaren Architekturen anzupassen.

Beispielüberschreibungen für Schlüsselverwaltung

Diese Beispiele geben einige allgemeine Anwendungsfälle an, um einen Key Management Service (KMS) in Ihre implementierbare Architektur einzuschließen.

Eine vollständige Liste der unterstützten Schlüsselmanagementattribute in der bereitstellbaren Architektur der Landing-Zone finden Sie im Objekt key_management im Abschnitt Eingaben des terraform-ibm-landing-zone-Repositorys in GitHub.

Key Protect-Instanz und Schlüssel erstellen

Dieses Beispiel beschreibt die Standardkonfiguration und erfordert keinen Überschreibungswert. Das Beispiel zeigt jedoch, dass Sie Werte überschreiben können, die in anderen Eingabevariablen nicht verfügbar sind (z. B. den Schlüsselnamen). In diesem Überschreibungsbeispiel wird eine Instanz von IBM Key Protect mit dem Namen 'test-kms' und Schlüssel mit den Namen slz-slz-key, slz-atracker-key, slz-roks-key und slz-vsi-volume-key in der test-kms-Instanz erstellt.

  1. Kopieren Sie die folgende JSON.

    {
      "key_management": {
        "keys": [
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-slz-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-atracker-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-roks-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-vsi-volume-key",
            "root_key": true
          }
        ],
        "name": "test-kms",
        "resource_group": "testrg"
      }
    }
    
  2. Befolgen Sie die Schritte im Abschnitt Projektkonfiguration bearbeiten, um Ihre implementierbare Architektur zu ändern.

Schlüssel in einem vorhandenen KMS erstellen

In diesem Überschreibungsbeispiel wird eine vorhandene Instanz von IBM Key Protect mit dem Namen test-kms verwendet. Sie können eine vorhandene Instanz verwenden, indem Sie use_data auf true setzen. Der Rest des Beispiels erstellt vier Schlüssel in einem Schlüsselring mit dem Namen slz-slz-ring in der vorhandenen Instanz.

Wenn Sie Hyper Protect Crypto Services anstelle von Key Protectverwenden möchten, übergeben Sie "use_hs_crypto": true anstelle von "use_data": true.

  1. Kopieren Sie die folgende JSON.

    {
      "key_management": {
        "keys": [
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-slz-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-atracker-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-roks-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-vsi-volume-key",
            "root_key": true
          }
        ],
        "name": "test-kms",
        "resource_group": "testrg",
        "use_data": true
      }
    }
    
  2. Befolgen Sie die Schritte im Abschnitt Projektkonfiguration bearbeiten, um Ihre implementierbare Architektur zu ändern.

Vorhandene Schlüssel ohne KMS verwenden

Um vorhandene Schlüssel ohne Pull-Operation in einer vorhandenen KMS-Instanz zu verwenden, schließen Sie den CRN des Schlüssels ein. Der CRN kann auf einen Schlüssel in dem Konto verweisen, das die implementierbare Architektur implementiert, oder in einem anderen Konto. Die Attribute für vorhandene Schlüssel sind name und existing_key_crn. Wenn Sie einen vorhandenen Schlüssel-CRN verwenden, müssen Sie über eine Authentifizierungsrichtlinie verfügen, die block-storage und cloud-object-storage den Zugriff auf das KMS im externen Konto ermöglicht. Weitere Informationen finden Sie unter Berechtigungen zum Erteilen von Zugriff zwischen Services verwenden.

Lassen Sie key_management.name und key_management.resource_group weg, wenn Sie nicht möchten, dass die implementierbare Architektur ein KMS erstellt.

  1. Kopieren Sie die folgende JSON.

    {
      "key_management": {
        "keys": [
          {
            "name": "slz-slz-key",
            "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:6128229e-1bbb-4c25-827c-c97f077fb585"
          },
          {
            "name": "slz-atracker-key",
            "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:9157cce8-3c1a-42be-b67f-0103426bc147"
          },
          {
            "name": "slz-roks-key",
            "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:7ccfb2a6-4d7d-4e85-af35-9548cda719d0:key:682c774b-c781-4bbb-b3b7-3ddf1831ab2f"
          },
          {
            "name": "slz-vsi-volume-key",
            "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:8c2ac54e-ac85-47da-8d03-06acb7f60ab3"
          }
        ]
      }
    }
    
  2. Befolgen Sie die Schritte im Abschnitt Projektkonfiguration bearbeiten, um Ihre implementierbare Architektur zu ändern.

Vorhandene Schlüssel verwenden und weitere Schlüssel erstellen

In diesem Beispiel werden sowohl Schlüssel erstellt als auch ein vorhandener Schlüssel verwendet. Eine Key Protect-Instanz mit dem Namen test-kms wird mit den drei Schlüsseln slz-slz-key, slz-atracker-key und slz-roks-key erstellt. Außerdem wird der vorhandene Schlüssel slz-vsi-volume-key verwendet.

In diesem Beispiel wird der vorhandene Schlüssel durch CRN identifiziert, um den Schlüssel ohne die KMS-Instanz zu extrahieren. Alternativ können Sie "use_data": true wie im Beispiel Schlüssel in einem vorhandenen KMS erstellen festlegen. Wenn Sie einen vorhandenen Schlüssel-CRN verwenden möchten, müssen Sie über eine Authentifizierungsrichtlinie verfügen, die block-storage, cloud-object-storage und secrets-manager den Zugriff auf das KMS im externen Konto ermöglicht. Weitere Informationen finden Sie in Zugriffsberechtigungen zwischen Services mithilfe von Autorisierungen erteilen.

  1. Kopieren Sie die folgende JSON.

    {
      "key_management": {
        "keys": [
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-slz-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-atracker-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-roks-key",
            "root_key": true
          },
          {
            "name": "slz-vsi-volume-key",
            "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:8c2ac54e-ac85-47da-8d03-06acb7f60ab3"
          }
        ],
        "name": "test-kms",
        "resource_group": "testrg"
      }
    }
    
  2. Befolgen Sie die Schritte im Abschnitt Projektkonfiguration bearbeiten, um Ihre implementierbare Architektur zu ändern.

Projektkonfiguration bearbeiten

Verwenden Sie die folgenden Schritte mit allen Beispielen, um die Konfiguration Ihrer implementierbaren Architektur zu überschreiben.

  1. Kopieren Sie das JSON-Beispiel. Passen Sie sie an Ihre Anforderungen an.

  2. Fügen Sie die JSON zur Eingabevariablen override_json_string Ihrer implementierbaren Architektur hinzu:

    1. Wechseln Sie auf die Seite Projekte und wählen Sie ein Projekt aus.
    2. Rufen Sie die Registerkarte Konfigurationen auf und wählen Sie eine implementierbare Architekturkonfiguration aus.
    3. Klicken Sie auf Bearbeiten.
    4. Klicken Sie im Abschnitt Konfiguration auf die Anzeige Optional.
    5. Suchen Sie override_json_string und klicken Sie auf JSON bearbeiten.
    6. Fügen Sie diese JSON ein, die Sie zuvor kopiert haben, und klicken Sie auf Speichern.
  3. Validieren und genehmigen Sie Ihre Änderungen.