IBM Cloud Docs
VPC-Infrastrukturservices (Virtual Private Cloud) mit kontextbasierten Einschränkungen schützen

VPC-Infrastrukturservices (Virtual Private Cloud) mit kontextbasierten Einschränkungen schützen

Kontextbasierte Beschränkungen geben Kontobesitzern und Administratoren die Möglichkeit, Zugriffsbeschränkungen für zugriffsbeschränkungen für IBM Cloud® Ressourcen zu definieren und durchzusetzen, die auf dem Kontext der anfragen. Der Zugriff auf VPC Infrastructure Services kann mit kontextbasierten Einschränkungen und IAM-Richtlinien (Identity and Access Management) gesteuert 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 die VPC-Infrastrukturservices verfügen, um Regeln für VPC-Infrastrukturservices zu erstellen, zu aktualisieren oder zu löschen. Ein Benutzer muss über die Rolle 'Editor' oder 'Administrator' für den kontextbasierten Einschränkungsservice verfügen, um Netzzonen erstellen, aktualisieren oder löschen zu können. Ein Benutzer mit der Rolle "Anzeigeberechtigter" für den kontextbasierten Einschränkungsservice kann einer Regel nur Netzzonen hinzufügen.

Der kontextbasierte Einschränkungsservice generiert jedes Mal, wenn eine kontextbasierte Richtlinie umgesetzt wird, Prüfprotokolle. Weitere Informationen finden Sie unter Kontextbasierte Einschränkungen für Monitoring.

Informationen zum Schutz Ihrer VPC-Infrastrukturservices mit kontextbasierten Einschränkungen finden Sie im Lernprogramm Kontextbasierte Einschränkungen zum Schutz Ihrer Ressourcen nutzen.

Integration von VPC Infrastructure Services mit kontextbasierten Einschränkungen

VPC Infrastructure Services ist ein Verbundservice, der aus einer Reihe von untergeordneten Services besteht. Es können kontextbasierte Einschränkungen für IBM Cloud VPC oder einen der zugehörigen untergeordneten Services erstellt werden. Beispiel: Teilnetze, virtuelle Serverinstanzen und Block Storage-Datenträger.

Im Abschnitt Regelerstellung erfahren Sie, wie Sie Regeln mit den erforderlichen Attributen für jeden Service erstellen können.

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, die einzelne Adressen, Bereiche oder Subnetze umfassen
  • VPCs
  • Dienstreferenzen, die den Zugriff von anderen IBM Cloud® Diensten ermöglichen

Servicereferenzen

Eine Servicereferenz, die als Teil einer Netzzone definiert ist, ermöglicht es dem angegebenen Service, mit den eingeschränkten Ressourcen oder APIs zu kommunizieren, die Ziel einer bestimmten kontextbasierten Einschränkungsrichtlinie sind. Die folgende Tabelle enthält Servicereferenzen, die eingeschlossen werden müssen, wenn kontextbasierte Einschränkungen im Kontext von VPC Infrastructure Services verwendet werden. Sie können auch die Service-to-Service-IAM-Berechtigungen in Ihrem Konto überprüfen, wenn Sie entscheiden, welche Servicereferenzen in Ihrer Netzzone hinzugefügt werden sollen. Sie können die Service-zu-Service-Autorisierung in Ihrem Konto finden, indem Sie zu Verwalten-> Zugriff (IAM) navigieren und die Registerkarte Berechtigungen auswählen.

Dienstreferenzen für kontextbezogene Einschränkungen erforderlich
Service mit kontextbasierten Einschränkungen Betroffener Service In der Netzzone erforderliche Servicereferenz (en)
Cloud Object Storage VPC-Infrastrukturdienste (is)
Key Protect Cloud Block Storage (server-protect),
File Storage for VPC (is.share)
Hyper Protect Crypto Service Cloud Block Storage (server-protect),
File Storage for VPC (is.share)
Neue Instanzen des virtuellen Servers VPC-Infrastrukturdienste (is)
Verschiedene VPC-Infrastrukturservices- Block Storage-Datenträger, Sicherheitsgruppen, Teilnetze IBM Kubernetes Service (containers-kubernetes)
Secrets Manager VPC-Infrastrukturdienste (is)

Erstellen von Netzwerkzonen mit Hilfe der API

Sie können Netzzonen mit dem Befehl create-zone erstellen. Weitere Informationen finden Sie in den API-Dokumenten.

Das Attribut serviceRef für VPC-Infrastrukturdienste lautet is, Cloud Block Storage ist server-protect, und File Storage for VPC ist is.share.

{
  "name": "Example zone 1",
  "description": "",
  "addresses": [
    {
      "type": "serviceRef",
      "ref": {
        "service_name": "is"
      }
    }
  ]
}
{
  "name": "Example zone 1",
  "description": "",
  "addresses": [
    {
      "type": "serviceRef",
      "ref": {
        "service_name": "server-protect"
      }
    }
  ]
}

Erstellen von Netzwerkzonen mit Hilfe der CLI

  1. Gehen Sie wie folgt vor, um Netzzonen über die Befehlszeilenschnittstelle zu erstellen: Installieren Sie das CBR-CLI-Plug-in.

  2. Mit dem Befehl cbr-zone-create können Sie Netzadressen, VPCs und Servicereferenzen zu Netzzonen hinzufügen. Weitere Informationen finden Sie im CBR CLI-Referenz.

    Führen Sie den Befehl ibmcloud cbr service-ref-targets aus, um eine Liste der verfügbaren Servicereferenzziele zu suchen Befehl. Der service_name für VPC-Infrastrukturdienste ist is, Cloud Block Storage ist server-protect, und File Storage for VPC ist is.share.

    Der folgende Beispielbefehl fügt die is Service, genannt VPC-Infrastrukturdienste In IBM Cloud® Konsole, zu einer Netzwerkzone.

    ibmcloud cbr zone-create --name example-zone-1 --description "Example zone 1" --service-ref service_name=is
    

    Der folgende Beispielbefehl fügt die server-protect Service, genannt* Cloud Block Storage* In IBM Cloud® Konsole, zu einer Netzwerkzone.

    ibmcloud cbr zone-create --name example-zone-1 --description "Example zone 1" --service-ref service_name=server-protect
    

Netzzonen über die Konsole erstellen

  1. Legen Sie fest, welche Ressourcen Sie Ihrer Zulassungsliste hinzufügen wollen.
  2. Überprüfen Sie im Abschnitt Servicereferenzen, ob Sie eine Servicereferenz zu Ihrer Netzzone hinzufügen müssen.
  3. Führen Sie die folgenden Schritte aus, um kontextbasierte Einschränkungen in der Konsole zu erstellen.

Regeln erstellen

In VPC Infrastructure Services benötigt jeder untergeordnete Service bestimmte Attribute in einer kontextbasierten Regel.

Wenn Sie die API, Terraform oder die IBM Cloud-Befehlszeilenschnittstelle (CLI) verwenden. Zum Erstellen, Aktualisieren oder Löschen von IBM Cloud kontextbasierten Einschränkungen können Sie die Zielressource der VPC-Infrastruktur mithilfe von Ressourcenattributen angeben.

Unter VPC-Ressourcenattribute finden Sie die Ressourcenattribute, die einzelnen VPC-Ressourcen entsprechen.

Sie können eine Ressource auswählen, indem Sie die ID des Objekts eingeben. Alternativ können Sie das Platzhalterzeichen * verwenden, um alle anwendbaren Ressourcen auszuwählen. Das Attribut vpcId:* legt beispielsweise die kontextbasierten Einschränkungen fest, die auf alle VPCs im Account angewendet werden sollen. Sie können in dem Befehl auch angeben, auf welche Ressourcengruppe die Richtlinie angewendet werden soll.

Regeln mithilfe der API erstellen

Sehen Sie sich die folgenden Beispielanforderungen zum Erstellen von Regeln an. Weitere Informationen zu v1/rules API, siehe API-Dokumentation.

Nach der Erstellung einer Regel kann es bis zu 10 Minuten dauern, bis Sie diese Regel aktualisieren können.

Die folgenden Beispielnutzdaten erstellen eine Regel, die die Instanzen des virtuellen Servers schützt und den Zugriff nur über die angegebene Netzzone über einen privaten Endpunkt zulässt.

{
  "contexts": [
    {
      "attributes": [
        {
          "name": "endpointType",
          "value": "private"
        },
        {
          "name": "networkZoneId",
          "value": "45ec64065b7c2bf84b3edec803335111"
        }
      ]
    }
  ],
  "resources": [
    {
      "attributes": [
        {
          "name": "resourceGroupId",
          "value": "1171749e3a8545069d04e6fca1ded18f"
        },
        {
          "name": "serviceName",
          "value": "is"
        },
        {
          "name": "instanceId",
          "value": "*"
        }
      ]
    }
  ]
}

Erstellen von Regeln mit Hilfe der CLI

  1. Um Regeln über die Befehlszeilenschnittstelle zu erstellen, installieren Sie das CBR-CLI-Plug-in.
  2. Verwenden Sie den ibmcloud cbr rule-create -Befehl, um CBR-Regeln zu erstellen. Weitere Informationen finden Sie in der CLI-Referenz für CBR.

Die Beispiele in diesem Abschnitt sind Durchsetzungsregeln. Sie können Berichte nur erstellen, indem Sie --enforcement-mode report hinzufügen.

Der folgende CLI-Beispielbefehl erstellt eine kontextbasierte Einschränkungsregel für alle virtuellen Serverinstanzen im aktuellen Konto:

ibmcloud cbr rule-create  --zone-id a7eeb5dd8e6bdce670eba1afce18e37f --description "Test CBR for VSIs" --service-name is --resource-attributes "instanceId=*"

Der folgende Beispiel-CLI-Befehl erstellt eine kontextbasierte Einschränkungsregel für einen bestimmten Blockspeicherdatenträger im aktuellen Konto:

ibmcloud cbr rule-create --zone-id a7eeb5dd8e6bdce670eba1afce18e37f --description "Test CBR for volume" --service-name is --resource-attributes "volumeId=UUID_OF_THE_VOLUME"

Der folgende CLI-Beispielbefehl erstellt eine kontextbasierte Einschränkungsregel für alle virtuellen Serverinstanzen im aktuellen Account und beschränkt den Zugriff auf private Endpunkte:

ibmcloud cbr rule-create --context-attributes 'endpointType=private' --zone-id a7eeb5dd8e6bdce670eba1afce18e37f --description "Test CBR for VSIs" --service-name is --resource-attributes "instanceId=*"

Der folgende CLI-Beispielbefehl erstellt eine kontextbasierte Einschränkungsregel für alle virtuellen Serverinstanzen in der Ressourcengruppe und beschränkt den Zugriff auf private Endpunkte:

ibmcloud cbr rule-create --context-attributes 'endpointType=private' --zone-id a7eeb5dd8e6bdce670eba1afce18e37f --description "Test CBR for VSIs" --service-name is --resource-attributes "instanceId=*" --resource-group-id 1171749e3a8545069d04e6fca1ded18f

Regeln in der Konsole erstellen

  1. Rufen Sie Verwalten > Kontextbasierte Einschränkungen in der Konsole von IBM Cloud® auf.

  2. Wählen Sie Regeln und klicken Sie auf Erstellen.

  3. Wählen Sie VPC Infrastructure Services aus und klicken Sie auf Weiter.

  4. Erfassen Sie die Regel für alle Ressourcen oder für bestimmte Ressourcen. Weitere Informationen finden Sie unter Ressourcen von VPC Infrasturcture Services schützen. Klicken Sie auf Weiter.

  5. Definieren Sie die zulässigen Endpunkttypen.

    • Behalten Sie die Einstellung Nein bei, um alle Endpunkttypen zuzulassen.
    • Setzen Sie den Schalter auf Ja, um nur bestimmte Endpunkttypen zuzulassen, und treffen Sie dann eine Auswahl in der Liste.
  6. Wählen Sie eine oder mehrere bereits erstellte Netzzonen aus oder erstellen Sie eine neue Netzzone, indem Sie auf Erstellen klicken.

    Kontexte definieren die Position, von der aus auf Ihre Ressourcen zugegriffen werden kann, und verknüpfen Ihre Netzzone mit Ihrer Regel.

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

  8. Benennen Sie Ihre Regel und wählen Sie aus, wie sie durchgesetzt werden soll. Klicken Sie anschließend auf Erstellen.

Einschränkungen auf der Basis von Monitoring-Kontexten in VPC-Infrastrukturservices

Der kontextbasierte Einschränkungsservice generiert jedes Mal, wenn eine kontextbasierte Richtlinie umgesetzt wird, Prüfprotokolle. Weitere Informationen finden Sie unter Kontextbasierte Einschränkungen für Monitoring.

Fehler aufgrund von kontextbasierten Einschränkungen beheben

Benutzer erhält 403 Benutzer ohne Berechtigung

Wenn eine Anforderung aufgrund falscher Zugriffsberechtigungen verweigert wird oder die Anforderung außerhalb der Netzzone stammt, die in der kontextbasierten Einschränkungsregel definiert ist, hat die Fehlerantwort ein Format, das den folgenden Beispielen ähnelt.

403 Unbefugter Fehler bei Verwendung der Befehlszeilenschnittstelle

Error code: not_authorized and
Error message: the provided token is not authorized
Trace ID: b266a31c-b359-4ecb-8b81-a27c1b2cdb7b

Fehler '403 unauthorized' bei Verwendung der IBM Cloud-Konsole

reference_id b266a31c-b359-4ecb-8b81-a27c1b2cdb7b
code not_authorized
message the provided token is not authorized

403 Unbefugter Fehler bei Verwendung der API

"code":"not_authorized",
"message":"the provided token is not authorized to list floating-ips in this account"
"trace":"b266a31c-b359-4ecb-8b81-a27c1b2cdb7b"

Auffinden kontextbezogener Beschränkungsereignisse

Sie können den Wert von Trace ID oder Reference ID verwenden, um in Ihrer Instanz IBM Cloud Logs nach den Ereignissen zu suchen, die durch den kontextbasierten Beschränkungsdienst erzeugt werden. Der Abschnitt requestData.environment zeigt die Quell-IP-Adresse des Anrufs und andere Informationen, mit denen Sie überprüfen können, warum die Autorisierung verweigert wurde. Mit den Feldern requestData.action und requestData.resource kann bestimmt werden, welcher zugrunde liegenden Ressource der Zugriff verweigert wurde.

Das folgende Beispiel zeigt ein kontextbasiertes Einschränkungsereignis. Einige Felder wurden entfernt, um die Lesbarkeit zu verbessern.

{
  "level": "critical",
  "action": "context-based-restrictions.policy.eval",
  "message": "Context based restriction rendered a deny",
  "severity": "critical",
  "correlationId": "TXID-b266a31c-b359-4ecb-8b81-a27c1b2cdb7b-df2f912c-80a1-422c-8b17-6092651fea00",
  "requestData": {
    "action": "is.vpc.vpc.create",
    "reqOrder": 0,
    "environment": {
      "attributes": {
        "ipAddress": "192.168.0.1",
        "networkType": "public"
      }
    },
    "resource": {
      "attributes": {
        "accountId": "67db3d7ff3f34220b40e2d81480754c9",
        "resource": "NEWRESOURCE",
        "vpcId": "NEWRESOURCE",
        "resourceGroupId": "d272ce832535498e9142b557ff8638ed",
        "region": "au-syd",
        "serviceName": "is",
        "resourceType": "vpc"
      }
    },
    "subject": {
      "attributes": {
        "scope": "ibm openid",
        "token.account.bss": "67db3d7ff3f34220b40e2d81480754c9",
        "id": "IBMid-550009FB7N"
      }
    }
  },
  "responseData": {
    "decision": "Deny",
    "isEnforced": true
  }
}

Sie können dann dieselbe Trace-ID oder Referenz-ID verwenden, um das spezifische VPC Infrastructure Service-Ereignis in Ihrer IBM Cloud Logs-Instanz zu betrachten.

{
  "action": "is.vpc.vpc.create",
  "outcome": "failure",
  "message": "Virtual Private Cloud: create vpc -failure",
  "severity": "critical",
  "dataEvent": false,
  "logSourceCRN": "crn:v1:bluemix:public:is:au-syd:a/67db3d7ff3f34220b40e2d81480754c9::vpc:",
  "saveServiceCopy": true,
  "initiator": {
    "id": "IBMid-ABCDEFGH",
    "typeURI": "service/security/account/user",
    "name": "test@ibm.com",
    "authnName": "test",
    "authnId": "IBMid-ABCDEFGH",
    "host": {
      "address": "192.168.0.1",
      "addressType": "IPv4"
    },
    "credential": {
      "type": "token"
    }
  },
  "target": {
    "id": "crn:v1:bluemix:public:is:au-syd:a/67db3d7ff3f34220b40e2d81480754c9::vpc:",
    "typeURI": "is.vpc/vpc",
    "name": "",
    "resourceGroupId": "crn:v1:bluemix:public:resource-controller::a/67db3d7ff3f34220b40e2d81480754c9::resource-group:d272ce832535498e9142b557ff8638ed"
  },
  "reason": {
    "reasonCode": 403,
    "reasonType": "Forbidden",
    "reasonForFailure": "Your access token is invalid or does not have the necessary permissions to perform this task"
  },
  "requestData": {
    "generation": "2",
    "requestId": "b266a31c-b359-4ecb-8b81-a27c1b2cdb7b"
  },
  "responseData": {
    "responseURI": "/v1/vpcs/"
  }
}

Sie können Ereignisse auch mithilfe einer Ressourcen-ID suchen. Eine Ressourcen-ID ist eine UUID und die letzte Kennung in einem CRN. Beispiel:

crn:v1:bluemix:public:is:au-syd:a/67db3d7ff3f34220b40e2d81480754c9::vpc:<resourceID>

Anforderungen für die Bereitstellung von Ressourcen enthalten keine Ressourcen-IDs.

Wenn Sie unter IBM Cloud Logs kein kontextbasiertes Beschränkungsereignis finden, wurde der Zugriff möglicherweise aufgrund von IAM-Zugriffsrichtlinien verweigert. Weitere Informationen finden Sie unter VPC IAM Erste Schritte.

Auswirkung der Client-to-Site-VPN-Datenebene mit kontextbasierten Einschränkungen

Wenn ein Benutzer bei der Konfiguration der Clientauthentifizierung für ein Client-Site-VPN eine Benutzer-ID und einen Kenncode aktiviert und kontextbasierte Regeln für VPC-Ressourcen erstellt, wirkt sich kontextbasierte Einschränkungen auf die Clientverbindung zum VPN aus. Wenn sich die ferne IP-Adresse des VPN-Clients nicht in der Netzzone befindet, gibt die Verbindung zum VPN-Server den Fehler Auth Failed zurück.

Nachdem der VPN-Client eine Verbindung zum VPN-Server hergestellt hat, werden die Anforderungen an den VPE-Endpunkt oder den Cloud-Service-Endpunkt (CSE) mit kontextbasierten Einschränkungen gesteuert. Außerdem ist die Quellen-IP der Anforderungen die VPC- Quellenadressen des Cloud-Serviceendpunkts. Stellen Sie sicher, dass sich die VPC-CSE-Quellenadressen in der CBR-Netzzone befinden. Andernfalls wird die Anforderung verweigert.

Einschränkungen