Zugriff auf Cloud Object Storage-Buckets steuern

Ein Bucket ist eine logische Abstraktion, die einen Container für Daten bereitstellt. Buckets in Cloud Object Storage werden in IBM Cloud erstellt. In einer Cloud Object Storage-Instanz können Sie den Zugriff von Benutzern auf Buckets mithilfe von Richtlinien beschränken.

So funktioniert es:

Eine Cloud Object Storage-Instanz mit zwei Buckets

In dieser Abbildung werden einer Cloud Object Storage-Instanz zwei Berechtigungsnachweise zugeordnet. Jeder Berechtigungsnachweis verweist auf eine IAM-Service-ID, in der Richtlinien zur Steuerung des Buckets definiert sind, auf das die Service-ID zugreifen kann. Durch die Verwendung eines bestimmten Berechtigungsnachweises beim Hinzufügen einer Cloud Object Storage-Verbindung zu einem Projekt sind nur die Buckets sichtbar, die für die diesem Berechtigungsnachweis zugeordnete Service-ID zugänglich sind.

Führen Sie die folgenden Schritte aus, um Verbindungen zu erstellen, die den Benutzerzugriff auf Buckets beschränken.

Gehen Sie zuerst in IBM Cloud wie folgt vor:

  1. Cloud Object Storage-Instanz und mehrere Buckets erstellen
  2. Serviceberechtigungsnachweis und Service-ID für jede Kombination von Buckets erstellen, auf die Benutzer zugreifen können
  3. Erstellung der Service-IDs überprüfen
  4. Richtlinien jeder Service-ID zum Bereitstellen von Zugriff auf entsprechende Buckets bearbeiten
  5. Werte aus allen von Ihnen erstellten Serviceberechtigungsnachweisen kopieren
  6. Endpunkt kopieren

Gehen Sie dann in Watson Studio wie folgt vor:

  1. Add Cloud Object Storage-Verbindungen hinzufügen, die die von Ihnen erstellten Serviceberechtigungsnachweise verwenden8. Benutzerzugriff auf Buckets testen

Schritt 1: Cloud Object Storage-Instanz und mehrere Buckets erstellen

  1. Suchen Sie im IBM Cloud-Katalog nach Object Storage und erstellen Sie anschließend eine Cloud Object Storage-Instanz.

  2. Wählen Sie im Navigationsfenster Buckets aus.

  3. Erstellen Sie so viele Buckets, wie Sie benötigen.

    Sie könnten z. B. drei Buckets erstellen: 'dept1-bucket', 'dept2-bucket' und 'dept3-bucket'.

    Seite 'Buckets'

Schritt 2: Serviceberechtigungsnachweis und Service-ID für jede Kombination von Buckets erstellen, auf die Benutzer zugreifen können

  1. Wählen Sie im Navigationsfenster Serviceberechtigungsnachweise aus.

  2. Klicken Sie auf Neuer Berechtigungsnachweis.

  3. Geben Sie im Dialogfeld 'Neuen Berechtigungsnachweis hinzufügen' einen Namen für den Berechtigungsnachweis an und wählen Sie die entsprechende Zugriffsrolle aus.

  4. Klicken Sie im Feld Service-ID auswählen auf Neue Service-ID erstellen.

  5. Geben Sie einen Namen für die neue Service-ID ein. Ihnen wird empfohlen, einen Namen zu verwenden, der dem Namen des Berechtigungsnachweises entspricht oder ähnelt, damit er einfach ermittelt werden kann.

  6. Klicken Sie auf Hinzufügen.

  7. Wiederholen Sie die Schritte 2 bis 6 für jeden Berechtigungsnachweis, den Sie erstellen möchten.

    Sie könnten z. B. drei Berechtigungsnachweise erstellen: 'cos-all-access', 'dept1-dept2-buckets-only' und 'dept2-dept3-buckets-only'.

    Seite 'Serviceberechtigungsnachweise'

Schritt 3: Erstellung der Service-IDs überprüfen

  1. Klicken Sie im IBM Cloud-Banner am oberen Fensterrand auf Verwalten > Zugriff (IAM).

  2. Wählen Sie im Navigationsfenster Service-IDs aus.

  3. Überprüfen Sie, ob die in den Schritten 2d und 2e erstellten Service-IDs sichtbar sind.

    Seite 'Service-IDs'

Schritt 4: Richtlinien jeder Service-ID zum Bereitstellen von Zugriff auf entsprechende Buckets bearbeiten

  1. Öffnen Sie die einzelnen Service-IDs.

  2. Wählen Sie Bearbeiten auf der Registerkarte 'Zugriffsrichtlinien' im Aktionsmenü aus, um die Richtlinie anzuzeigen.

  3. Bearbeiten Sie bei Bedarf die Richtlinie, um Zugriff auf die entsprechenden Buckets bereitzustellen.

  4. Erstellen Sie bei Bedarf mindestens eine neue Richtlinie.

    1. Entfernen Sie die vorhandene Standardrichtlinie, die den Zugriff auf alle Buckets in der Cloud Object Storage-Instanz bereitstellt.

    2. Klicken Sie auf Zugriff zuweisen.

    3. Geben Sie 'bucket' als Ressourcentyp an.

    4. Geben Sie für Ressourcen-ID einen Bucketnamen an.

    5. Wählen Sie im Abschnitt 'Rollen auswählen' die Option Anzeigeberechtigter in der Liste 'Plattformzugriffsrollen zuordnen' aus und wählen Sie Autor in der Liste 'Servicezugriffsrollen zuordnen' aus.

Beispiel 1:

Standardmäßig stellt die Richtlinie für die Service-ID "cos-all-access" Writer-Zugriff auf die Cloud Object Storage-Instanz bereit.

Registerkarte 'Zugriffsrichtlinien' für die Service-ID 'cos-all-access'

Da diese Service-ID und der entsprechende Berechtigungsnachweis Benutzern Zugriff auf alle Buckets bereitstellen soll, ist keine Bearbeitung erforderlich.

Seite 'Richtlinie bearbeiten' für die Service-ID 'cos-all-access'

Beispiel 2:

Standardmäßig bietet die Richtlinie für die Service-ID "dept1-dept2-buckets-only" Schreibzugriff auf die Cloud Object Storage-Instanz. Da diese Service-ID und der entsprechende Berechtigungsnachweis Benutzern nur Zugriff auf die Buckets "dept1-bucket" und "dept2-bucket" bereitstellen soll, entfernen Sie die Standardrichtlinie und erstellen Sie zwei Zugriffsrichtlinien, eine für "dept1-bucket" und eine zweite für "dept2-bucket".

Registerkarte 'Zugriffsrichtlinien' für die Service-ID dept1-dept2-buckets-only

Seite 'Richtlinie bearbeiten' für die Service-ID dept1-bucket-only

Seite 'Richtlinie bearbeiten' für die Service-ID dept2-bucket-only

Schritt 5: Werte aus jedem erstellten Serviceberechtigungsnachweis kopieren

  1. Kehren Sie zu Ihrem IBM Cloud-Dashboard zurück und wählen Sie Cloud Object Storage aus der Liste Speicher aus.

  2. Wählen Sie im Navigationsfenster Serviceberechtigungsnachweise aus.

  3. Klicken Sie für eine der Service-IDs, die Sie in Schritt 2 erstellt haben, auf die Aktion Berechtigungsnachweise anzeigen.

  4. Kopieren Sie die Werte 'apikey' und 'resource_instance_id' an eine temporäre Position, beispielsweise eine Desktopnotiz.

    Berechtigungsnachweis 'cos-all-access'

    Berechtigungsnachweis 'cos-all-access'

  5. Wiederholen Sie die Schritte 3 und 4 für jeden Berechtigungsnachweis.

Schritt 6: Endpunkt kopieren

  1. Wählen Sie im Navigationsfenster Endpunkt aus.

  2. Kopieren Sie die URL des Endpunkts, zu dem die Verbindung hergestellt werden soll. Speichern Sie den Wert an einer temporären Position, beispielsweise eine Desktopnotiz.

Schritt 7: Cloud Object Storage-Verbindungen hinzufügen, die erstellte Serviceberechtigungsnachweise verwenden

{: #add}3. Klicken Sie in Watson Studio in einem Projekt auf Neues Asset > Verbindung. Alternativ können Sie in einem Katalog auf Zu Projekt hinzufügen > Verbindung klicken.

  1. Klicken Sie auf der Seite 'Neue Verbindung' auf Cloud Object Storage.

  2. Geben Sie der neuen Verbindung einen Namen und geben Sie die Anmelde-URL (auf der Seite 'Endpunkte') sowie die Werte für 'apikey' und 'resource_instance_id ' ein, die Sie in Schritt 5 aus einem der Serviceberechtigungsnachweise kopiert haben.

  3. Wiederholen Sie die Schritte 3 bis 5 für jeden Serviceberechtigungsnachweis.

    Die Verbindungen sind im Abschnitt "Datenassets" des Projekts sichtbar.

Benutzerzugriff auf Buckets testen

Wenn Sie ein Datenasset aus einer Cloud Object Storage-Verbindung zu einem Projekt hinzufügen, werden in Zukunft nur die Buckets angezeigt, deren Richtlinien den Zugriff zulassen. Gehen Sie wie folgt vor, um dies zu testen:

  1. Klicken Sie in einem Projekt auf Neues Asset > Verbundene Daten. Alternativ können Sie in einem Katalog auf Zu Projekt hinzufügen > Verbundene Daten klicken.
  1. Klicken Sie im Abschnitt 'Verbindungsquelle' auf Quelle auswählen.

    Auf der Seite "Verbindungsquelle auswählen" werden die erstellten Cloud Object Storage-Verbindungen angezeigt.

  2. Wählen Sie eine der Cloud Object Storage-Verbindungen aus, um sicherzustellen, dass nur die Buckets sichtbar sind, auf die die Service-ID zugreifen kann, die dem Berechtigungsnachweis dieses Buckets zugeordnet ist.

Übergeordneter Abschnitt: Verbindungen zu Projekten hinzufügen