Zugriff auf ein einzelnes Bucket zuweisen

Weisen Sie Benutzern und Service-IDs Zugriffsrollen für Buckets zu und verwenden Sie zum Erstellen von Richtlinien entweder die Benutzerschnittstelle oder die Befehlszeilenschnittstelle (CLI).

Buckets
Zugriffsrolle Beispielaktionen
Manager Objekte öffentlich machen, Buckets und Objekte erstellen und zerstören
Schreibberechtigter Buckets und Objekte erstellen und löschen
Leseberechtigter Buckets auflisten, Objekte auflisten und Objekte herunterladen.
Leseberechtigter für Inhalt (Content Reader) Objekte auflisten und herunterladen
Objektleseberechtigter Objekte herunterladen
Objektschreibberechtigter Objekte hochladen

Einem Benutzer Zugriff erteilen

Wenn der Benutzer die Konsole verwenden muss und die Liste aller Buckets in einer Instanz anzeigen kann, ist es möglich, eine angepasste Plattformzugriffsrolle zu verwenden. Dadurch können sie nur den Inhalt bestimmter Buckets anzeigen. Wenn es für einen Benutzer nicht angemessen ist, die Namen anderer Buckets zu lesen, ist es erforderlich, ein angepasstes Portal oder eine andere Benutzerschnittstelle mithilfe der API zu entwerfen und zu implementieren.

Wenn der Benutzer über die API mit den Daten interagiert und keinen Konsolenzugriff benötigt und Mitglied Ihres Kontos ist, können Sie mithilfe der Standardrollen Zugriff auf einen einzelnen Bucket ohne Zugriff auf die übergeordnete Instanz gewähren.

Richtliniendurchsetzung

IAM-Richtlinien werden hierarchisch von der Ebene mit dem wenigsten restriktiven Zugriff bis zur Ebenen mit dem am stärksten eingeschränkten Zugriff durchgesetzt. Konflikte werden durch die permissivere Richtlinie gelöst. Wenn einem Benutzer beispielsweise sowohl die Servicezugriffsrolle Writer als auch die Servicezugriffsrolle Reader für einen Protokollbereich zugewiesen ist, wird die Richtlinie, mit der die Rolle Reader erteilt wird, ignoriert.

Dies trifft auch für Richtlinien auf Serviceinstanz- und Bucketebene zu.

  • Wenn einem Benutzer durch eine Richtlinie die Rolle Writer für eine Serviceinstanz und die Rolle Reader für einen einzelnen Protokollbereich erteilt wird, so wird die Richtlinie auf Protokollbereichebene ignoriert.
  • Wenn einem Benutzer durch eine Richtlinie die Rolle Reader für eine Serviceinstanz und die Rolle Writer für einen einzelnen Protokollbereich erteilt wird, werden beide Richtlinien umgesetzt und die permissivere Rolle Writer erhält für den einzelnen Protokollbereich Vorrang.

Wenn es notwendig ist, den Zugriff auf einen einzelnen Bucket (oder eine Reihe von Buckets) zu beschränken, stellen Sie sicher, dass der Benutzer oder die Service-ID keine anderen Richtlinien auf Instanzebene hat, indem Sie entweder die Konsole oder die CLI verwenden.

Weitere Informationen finden Sie unter Best Practices für das Organisieren von Ressourcen und Zuweisen von Zugriff.

Neue Richtlinie für einen Benutzer erstellen

So erstellen Sie eine neue Richtlinie auf Bucketebene:

  1. Navigieren Sie vom Menü Verwalten zur Konsole Zugriff IAM.
  2. Wählen Sie im Navigationsmenü links die Option Benutzer aus.
  3. Wählen Sie einen Benutzer aus.
  4. Wählen Sie die Registerkarte Zugriffsrichtlinien aus, um die für den Benutzer vorhandenen Zugriffsrichtlinien anzuzeigen, eine neue Richtlinie zuzuweisen oder eine vorhandene Richtlinie zu bearbeiten.
  5. Klicken Sie auf Zugriff zuweisen, um eine neue Richtlinie zu erstellen.
  6. Wählen Sie die Option Zugriff auf Ressourcen zuweisen aus.
  7. Wählen Sie zuerst im Menü für Services die Option Cloud Object Storage aus.
  8. Wählen Sie dann die entsprechende Serviceinstanz aus. Geben Sie im Feld bucketRessourcentyp** den Wert ** ein und geben Sie im Feld Ressourcen-ID den Bucketnamen ein.
  9. Wählen Sie die gewünschte Servicezugriffsrolle aus. Wenn Sie die Lozenge mit der Anzahl der Aktionen auswählen, werden die Aktionen angezeigt, die für die Rolle verfügbar sind (siehe Beispiel für "Inhaltsleser" in Abbildung 1).
  10. Klicken Sie auf Zuweisen

Beispielhafte Aktionen pro Content-Reader-Rolle
Rolleninformationen

Beachten Sie, dass durch das Leerlassen der Felder Ressourcentyp bzw. Ressource eine Richtlinie auf Instanzebene erstellt wird.

Neue Richtlinie für einen Benutzer-CLI-Befehl erstellen

Führen Sie den folgenden Befehl von einem Terminal aus:

ibmcloud iam user-policy-create <user-name> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id> \
      --resource-type bucket \
      --resource <bucket-name>

So listen Sie vorhandene Richtlinien auf:

ibmcloud iam user-policies <user-name>

Gehen Sie wie folgt vor, um eine vorhandene Richtlinie zu bearbeiten:

ibmcloud iam user-policy-update <user-name> <policy-id> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id> \
      --resource-type bucket \
      --resource <bucket-name>

Zugriff auf eine Service-ID gewähren

Wenn Sie den Zugriff auf einen Bucket für eine Anwendung oder eine andere nicht-menschliche Entität gewähren müssen, verwenden Sie eine Service-ID. Dabei kann die Service-ID eigens zu diesem Zweck erstellt werden oder es kann eine bereits vorhandene Service-ID verwendet werden.

Neue Richtlinie für einen Benutzer erstellen

  1. Navigieren Sie vom Menü Verwalten zur Konsole Zugriff (IAM).
  2. Wählen Sie im Navigationsmenü links die Option Service-IDs aus.
  3. Wählen Sie eine Service-ID aus, um alle eventuell vorhandenen Richtlinien anzuzeigen, und weisen Sie eine neue Richtlinie zu oder bearbeiten Sie eine bereits bestehende.
  4. Wählen Sie die Serviceinstanz, die Service-ID und die gewünschte Rolle aus.
  5. Geben Sie im Feld bucketRessourcentyp** den Wert ** ein und geben Sie im Feld Ressource den Bucketnamen ein.
  6. Klicken Sie auf Übergeben

Beachten Sie, dass durch das Leerlassen der Felder Ressourcentyp bzw. Ressource eine Richtlinie auf Instanzebene erstellt wird.

Erstellen Sie eine neue Richtlinie für eine Service-ID

Führen Sie den folgenden Befehl von einem Terminal aus:

ibmcloud iam service-policy-create <service-id-name> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id> \
      --resource-type bucket \
      --resource <bucket-name>

So listen Sie vorhandene Richtlinien auf:

ibmcloud iam service-policies <service-id-name>

Gehen Sie wie folgt vor, um eine vorhandene Richtlinie zu bearbeiten:

ibmcloud iam service-policy-update <service-id-name> <policy-id> \
      --roles <role> \
      --service-name cloud-object-storage \
      --service-instance <resource-instance-id>
      --resource-type bucket \
      --resource <bucket-name>