Dieses Dokument beschreibt den Prozess zur Verwendung kontextbasierter Einschränkungen zum Schutz Ihrer Cloud Databases Ressourcen. Verwenden Sie dieses Dokument, um Ihre Ressourcen für kontextbasierte Einschränkungen vorzubereiten. bietet in der Cloud Databases aktuellen Implementierungsphase keine Scoping-Regeln für die Steuerungsebene.

Kontextbasierte Einschränkungen

Kontextbasierte Beschränkungen geben Kontobesitzern und Administratoren die Möglichkeit, Zugriffsbeschränkungen für IBM Cloud® Ressourcen auf der Grundlage des Kontexts von Zugriffsanfragen zu definieren und durchzusetzen. Der Zugriff auf Cloud Databases Ressourcen kann mit kontextbasierten Einschränkungen und Identity and Access Management (IAM)-Richtlinien kontrolliert werden.

Diese Einschränkungen können mit herkömmlichen, auf der Identität basierenden IAM-Richtlinien kombiniert werden und so eine zusätzliche Schutzebene bieten. Im Gegensatz zu IAM-Richtlinien weisen kontextbasierte Einschränkungen keine Zugriffsberechtigung zu. Bei kontextbasierten Einschränkungen wird geprüft, ob eine Zugriffsanforderung aus einem zulässigen Kontext stammt, der von Ihnen konfiguriert wird. Da sowohl der IAM-Zugriff als auch die kontextbasierten Einschränkungen den Zugriff durchsetzen, bieten kontextbasierte Einschränkungen Schutz sogar bei beeinträchtigten oder falsch verwalteten Berechtigungsnachweisen. Weitere Informationen finden Sie unter Was sind kontextbasierte Einschränkungen?

Ein Benutzer muss über die Administratorrolle für den Cloud Databases Dienst verfügen, um Regeln erstellen, aktualisieren oder löschen zu können. Ein Benutzer muss außerdem entweder die Rolle Editor oder Administrator für den kontextbasierten Beschränkungsdienst haben, um Netzwerkzonen erstellen, aktualisieren oder löschen zu können. Ein Benutzer mit der Rolle "Betrachter" im kontextbasierten Beschränkungsdienst kann einer Regel Netzwerkzonen hinzufügen.

Alle IBM Cloud Activity Tracker oder Audit-Log-Ereignisse, die erzeugt werden, stammen vom kontextbasierten Beschränkungsdienst, nicht von Cloud Databases. Cloud Databases unterstützt Audit-Ereignisse nur für Kundeninteraktionen mit durch kontextbasierte Einschränkungen geschützten Plattformendpunktaufrufen. Cloud Databases unterstützt keine Audit-Ereignisse, wenn Sie kontextbasierte Beschränkungsregeln auf der Steuerungsebene-API für Ihre Instanzen aktivieren. Weitere Informationen finden Sie unter Überwachung kontextbezogener Einschränkungen.

Wie Sie Ihre Cloud Databases mit kontextbasierten Einschränkungen schützen können, erfahren Sie im Tutorial zur Nutzung kontextbasierter Einschränkungen zur Sicherung Ihrer Ressourcen.

Wie Cloud Databases mit kontextbasierten Einschränkungen zusammenarbeitet

Sie können kontextbasierte Einschränkungen für den Dienst Cloud Databases, bestimmte Ressourcen und bestimmte APIs erstellen.

Schutz der Cloud Databases Ressourcen

Sie können kontextbasierte Beschränkungsregeln erstellen, um bestimmte Regionen, Ressourcengruppen und Instanzen zu schützen.

Bereich
Schützt Cloud Databases Ressourcen in einer bestimmten Region. Wenn Sie eine Region in Ihre kontextbasierte Beschränkungsregel aufnehmen, können Ressourcen in den Netzwerkzonen, die Sie mit der Regel verknüpfen, nur mit Ressourcen in dieser Region interagieren. Wenn Sie die CLI verwenden, können Sie die Option --region angeben, um Ressourcen in einer bestimmten Region zu schützen. Wenn Sie die Benutzeroberfläche verwenden, können Sie die Region in den Ressourcenattributen angeben.
Ressourcengruppen
Schützt eine bestimmte Ressourcengruppe. Wenn Sie eine Ressourcengruppe in Ihre kontextbasierte Beschränkungsregel aufnehmen, können die Ressourcen in den Netzwerkzonen, die Sie mit der Regel verknüpfen, nur mit den Ressourcen in dieser Ressourcengruppe interagieren. Die Zuordnung einer Regel zu einer bestimmten Ressourcengruppe ist nur für Regeln verfügbar, die den API-Typ "Cluster" schützen. Wenn Sie die CLI verwenden, können Sie die Option --resource-group-id angeben, um Ressourcen in einer bestimmten Ressourcengruppe zu schützen. Wenn Sie die Benutzeroberfläche verwenden, können Sie die Ressourcengruppe in den Ressourcenattributen angeben.
Instanz
Schützt eine bestimmte Instanz. Wenn Sie eine Instanz in Ihre kontextbasierte Beschränkungsregel aufnehmen, können Ressourcen in den Netzwerkzonen, die Sie mit der Regel verknüpfen, nur mit Ressourcen in dieser Instanz interagieren. Das Zuordnen einer Regel zu einer bestimmten Instanz ist nur für Regeln verfügbar, die den API-Typ "Cluster" schützen. Wenn Sie die CLI verwenden, können Sie die Option --service-instance angeben, um Instanzen in einer bestimmten Ressourcengruppe zu schützen. Wenn Sie die Benutzeroberfläche verwenden, können Sie die Dienstinstanz in den Ressourcenattributen angeben.

Verwendung der Befehlszeilenschnittstelle (CLI)

Sie können kontextbasierte Einschränkungen mit der IBM Cloud CLI erstellen und verwalten, indem Sie das Plug-in für kontextbasierte Einschränkungen CLI installieren.

Netzzonen erstellen

Eine Netzzone stellt eine Zulassungsliste der IP-Adressen dar, von denen eine Zugriffsanforderung erstellt wird. Sie definiert eine Gruppe mit einer oder mehreren Netzadressen, die durch die folgenden Attribute angegeben werden:

  • IP-Adressen, bei denen es sich um einzelne Adressen, Bereiche oder Teilnetze handeln kann.
  • VPCs.

Erstellen von Netzwerkzonen in der Benutzeroberfläche

  1. Gehen Sie in der Konsole IBM Cloud® zu Verwalten > Kontextbasierte Einschränkungen.

  2. Wählen Sie Netzwerkzonen.

  3. Klicken Sie auf Erstellen.

  4. Benennen Sie Ihre Netzwerkzone und geben Sie eine Beschreibung an.

  5. Geben Sie Ihre Erlaubte IP-Adressen. Sie können eine einzelne IP-Adresse, einen Bereich von IP-Adressen oder einen einzelnen CIDR eingeben.

    Das Feld Abgelehnte IP-Adressen ist optional und sollte nur Ausnahmen enthalten, die in den IP-Bereichen enthalten sind, die Sie im Feld Erlaubte IP-Adressen angeben.

  6. Wählen Sie die erlaubten VPCs aus, wobei Sie so viele auswählen können, wie Sie möchten.

  7. Verweisen Sie auf einen Dienst: Sie können Cloud Databases als Quelldienst für kontextbasierte Einschränkungen auswählen, aber nicht als Zieldienst. Sie können zum Beispiel eine Cloud Databases mit BYOK von IBM® Key Protect for IBM Cloud® bereitstellen. In diesem Beispiel ist Cloud Databases die Quellformation und IBM® Key Protect for IBM Cloud® ist die Zielformation. Dann würden Sie eine Netzwerkzone mit einer Cloud Databases erstellen und eine mit der Netzwerkzone verbundene Regel erstellen, die auf IBM® Key Protect for IBM Cloud® abzielt. Um eine Cloud Databases Dienstreferenz hinzuzufügen, wird für Diensttyp automatisch IAM-Dienste ausgewählt. Wählen Sie in der Dropdown-Liste Dienst einen bestimmten Cloud Databases. Wenn die von Ihnen erstellte Zone mit einer Regel verknüpft ist, die auf Cloud Databases abzielt, dann ist ein Dienstverweis nicht zulässig.

Service-Referenzen funktionieren nur von Key Protect Service zu Cloud Databases.

Erstellen von Netzwerkzonen mit der CLI

Um Netzwerkzonen in der CLI zu erstellen, verwenden Sie den Befehl cbr-zone-create, um Ressourcen zu Netzwerkzonen hinzuzufügen. Weitere Informationen finden Sie in der CLI-Referenz für kontextbasierte Einschränkungen.

Erstellen Sie eine Zone mit einem Befehl wie:

ibmcloud cbr zone-create --addresses=1.1.1.1,5.5.5.5 --name=<NAME>

Erstellen von Netzwerkzonen in Terraform

Um Zonen in Terraform zu erstellen, folgen Sie den Anweisungen in der IBM Cloud Terraform Provider Dokumentation.

Beispiel für ein Terraform-Skript zur Erstellung einer CBR-Zone:

resource "ibm_cbr_zone" "cbr_zone" {
  account_id = "12ab34cd56ef78ab90cd12ef34ab56cd"
  addresses {
    type = "ipAddress"
    value = "169.23.56.234"
  }
  addresses {
    type = "ipRange"
    value = "169.23.22.0-169.23.22.255"
  }
  excluded {
    type  = "ipAddress"
    value = "169.23.22.10"
  }
  excluded {
    type  = "ipAddress"
    value = "169.23.22.11"
  }
  description = "this is an example of zone"
  excluded {
        type = "ipAddress"
        value = "value"
  }
  name = "an example of zone"
}

Alternativ können Sie auch Terraform IBM Module(TIM)für CBR Zone verwenden, um eine Zone für kontextbasierte Einschränkungen zu erstellen oder Adressen in einer bestehenden Zone zu aktualisieren.

Ein Beispiel für die Erstellung einer CBR-Zone mit Terraform IBM Modules(TIM):

module "ibm_cbr" "zone" {
  source           = "terraform-ibm-modules/cbr/ibm//modules/cbr-zone-module"
  version          = "X.X.X" # Replace "X.X.X" with a release version to lock into a specific release
  name             = "zone_for_pg_access"
  account_id       = "defc0df06b644a9cabc6e44f55b3880s"
  zone_description = "Zone created from terraform"
  addresses        = [{type  = "vpc",value = "vpc_crn"}]
}

Aktualisieren von Netzwerkzonen in der CLI

Aktualisieren Sie eine Zone mit einem Befehl wie:

ibmcloud cbr zone-update <ZONE-ID> --addresses=1.2.3.4 --name=<NAME>

Für die Aktualisierung ist der ZONE-ID erforderlich, nicht der Zonenname. Verwenden Sie den folgenden Befehl, um Ihre Zonen aufzulisten und die entsprechenden ZONE-ID abzurufen:

ibmcloud cbr zones

Der Befehl zone-update ist eine Überschreibung. Fügen Sie alle erforderlichen Felder ein, als ob Sie die Regel von Grund auf neu erstellen würden. Wenn Sie erforderliche Felder auslassen, überschreibt die Regel diese fehlenden Felder als leer, und die Regel schlägt möglicherweise fehl, da einige dieser Felder erforderlich sind, unabhängig davon, ob sie die Regel ändern.

Löschen von Netzwerkzonen in der CLI

Löschen Sie eine Zone mit einem Befehl wie:

ibmcloud cbr zone-delete <ZONE-ID>

Regeln erstellen

Regeln beschränken den Zugriff auf bestimmte Cloudressourcen basierend auf Ressourcenattributen und Kontexten. Eine erstellte Regel kann bis zu 2.000 IP/CIDR-Werte für private Endpunkte und bis zu 2.000 IP/CIDR-Werte für öffentliche Endpunkte akzeptieren. Dieser Grenzwert ist spezifisch für Cloud Databases. Die Grenzen anderer IBM Cloud® Dienste können variieren.

Cloud Databases unterstützt keine IPv6. Wenn eine IPv6 enthalten ist, wird sie ignoriert.

Vollständige Schließung des Zugriffs auf nicht gelistete Endpunkte: Um einen robusteren Sicherheitsrahmen zu schaffen, haben wir eine wesentliche Änderung der Zugangskontrolle für öffentliche und private Endpunkte eingeführt. Künftig wird der Zugang zu öffentlichen und privaten Endpunkten, die nicht ausdrücklich in der Liste zugelassen sind, vollständig gesperrt. Durch diese Einschränkung wird sichergestellt, dass nur autorisierte Personen auf Ihre Endpunkte zugreifen können, wodurch das Risiko eines unbefugten Zugriffs minimiert wird.

Regeln in der Benutzerschnittstelle erstellen

  1. Gehen Sie in der Konsole IBM Cloud® zu Verwalten > Kontextbasierte Einschränkungen.

  2. Regeln auswählen.

  3. Klicken Sie auf Erstellen.

  4. Wählen Sie unter Dienst den Dienst aus, auf den Sie mit Ihrer Regel abzielen möchten.

  5. Wählen Sie unter APIs die Option Data plane. Derzeit führt jede andere Auswahl zu einem Fehler.

    für den API-Typ "Datenebene" werden 0 Aktionen erwartet.

    Cloud Databases unterstützt derzeit keine Steuerungsebene als Option.

  6. Unter Ressourcen können Sie die Regel auf Alle Ressourcen oder Bestimmte Ressourcen anwenden. Weitere Informationen finden Sie unter Schutz von Cloud Databases Ressourcen.

  7. Klicken Sie auf Weiter.

  8. Definieren Sie die zulässigen Endpunkttypen.

    • Lassen Sie den Schalter auf Nein stehen, um alle Endpunkttypen zuzulassen.
    • Setzen Sie den Schalter auf Ja, um nur bestimmte Endpunkttypen zuzulassen, und wählen Sie dann aus der Liste.
  9. Wählen Sie eine oder mehrere Netzwerkzonen aus, die Sie bereits erstellt haben, oder erstellen Sie eine neue Netzwerkzone, indem Sie auf Erstellen klicken.

    Kontexte legen fest, von wo aus auf Ihre Ressourcen zugegriffen werden kann, wodurch Ihre Netzwerkzone effektiv mit Ihrer Regel verknüpft wird.

  10. Klicken Sie auf Hinzufügen, um Ihre Konfiguration der Zusammenfassung hinzuzufügen.

  11. Klicken Sie auf Weiter.

  12. Nennen Sie Ihre Regel.

  13. Wählen Sie aus, wie Sie die Regel durchsetzen wollen.

    Nur-Bericht ist nicht verfügbar für Cloud Databases.

Regeln in der CLI erstellen

Um eine Regel in der CLI zu erstellen, benötigen Sie den entsprechenden Cloud Databases service_name:

  • databases-for-postgresql
  • databases-for-mongodb
  • databases-for-redis
  • databases-for-elasticsearch
  • database-for-mysql
  • messages-for-rabbitmq

Alle anderen folgenden Parameter werden im CBR-Plugin-Referenzhandbuch erläutert.

Beispielbefehl zum Erstellen einer CBR-Regel:

ibmcloud cbr rule-create --enforcement-mode enabled --context-attributes "networkZoneId=<ZONE-ID>" --resource-group-id <RESOURCE_GROUP_ID> --service-name <SERVICE-NAME> --service-instance <SERVICE-INSTANCE> --api-types crn:v1:bluemix:public:context-based-restrictions::::api-type:data-plane --description <DESCRIPTION>

Die einzige derzeit api-type unterstützte Option Cloud Databases ist die Datenebene.

Nur-Bericht ist nicht verfügbar für Cloud Databases.

Regeln in der CLI aktualisieren

Beispielbefehl zum Aktualisieren einer CBR-Regel:

ibmcloud cbr rule-update <RULE-ID> --enforcement-mode disabled --context-attributes="networkZoneId=<ZONE-ID>" --resource-group-id   <RESOURCE_GROUP_ID> --service-name <SERVICE_NAME> --api-types crn:v1:bluemix:public:context-based-restrictions::::api-type:data-plane --description    <DESCRIPTION>

Der Befehl rule-update ist eine Überschreibung. Fügen Sie alle erforderlichen Felder ein, als ob Sie die Regel von Grund auf neu erstellen würden. Wenn Sie erforderliche Felder auslassen, überschreibt die Regel diese fehlenden Felder als leer, und die Regel schlägt möglicherweise fehl, weil einige dieser Felder erforderlich sind, unabhängig davon, ob sie die Regel ändern.

Die Aktualisierung erfordert den RULE-ID, nicht den Namen der Regel. Verwenden Sie den folgenden Befehl, um Ihre Regeln aufzulisten und die entsprechenden RULE-ID abzurufen:

ibmcloud cbr rules

Regeln in der CLI löschen

Löschen Sie eine Regel mit einem Befehl wie:

ibmcloud cbr rule-delete <RULE-ID>

Verwenden Sie ibmcloud cbr <command> — help für eine vollständige Liste der Optionen und Parameter. Zum Beispiel gibt ibmcloud cbr rule-create — help Parameter für die Regelerstellung aus.

Regeln in Terraform erstellen

Um Regeln in Terraform zu erstellen, folgen Sie den Anweisungen in der Dokumentation desIBM Cloud Terraform Providers.

Um eine Regel zu erstellen, benötigen Sie die entsprechenden Cloud Databases service_name:

  • databases-for-postgresql
  • databases-for-mongodb
  • databases-for-redis
  • databases-for-elasticsearch
  • database-for-mysql
  • messages-for-rabbitmq

Erstellen Sie eine Regel, indem Sie einen Befehl wie diesen verwenden:

resource "ibm_cbr_rule" "cbr_rule" {
  contexts {
        attributes {
            name = "networkZoneId"
            value = "559052eb8f43302824e7ae490c0281eb"
        }
        attributes {
               name = "endpointType"
               value = "private"
    }
  }
  description = "this is an example of a rule with one context one zone"
  enforcement_mode = "enabled"
  operations {
        api_types {
            api_type_id = "api_type_id"
        }
  }
  resources {
        attributes {
            name = "accountId"
            value = "12ab34cd56ef78ab90cd12ef34ab56cd"
        }
        attributes {
              name = "serviceName"
              value = "network-policy-enabled"
        }
        tags {
              name     = "tag_name"
              value    = "tag_value"
        }
  }
}

Überprüfen Ihrer Regel

Um zu überprüfen, ob Ihre Regel angewendet wird, gehen Sie zum IBM Cloud® Dashboard und wählen Sie die entsprechende Instanz aus Ihrer Ressourcenliste. Unter Letzte Aufgaben sehen Sie den Status Ihrer Regel.

Die Aufgabe, eine Regel zu erstellen oder zu ändern, wird in die Aufgabenwarteschlange Ihrer Instanz gestellt. Je nach Arbeitsaufkommen kann es einige Zeit dauern, bis die Durchsetzung Ihrer Regeln abgeschlossen ist.