Queue-Policys

Mit dem Oracle Cloud Infrastructure Identity and Access Management-(IAM-)Service können Sie Policys  für Ihre Queues erstellen.

In diesem Thema werden Details zum Schreiben von Policys für die Kontrolle des Zugriffs auf den Queue-Service beschrieben.

Überblick über die Policy-Syntax

Die allgemeine Syntax einer Policy-Anweisung lautet:

allow <subject> to <verb> <resource-type> in <location> where <condition>

Beispiel: Sie können Folgendes angeben:

  • Eine Gruppe oder dynamische Gruppe nach Name oder OCID als <subject>. Sie können auch any-user verwenden, um alle Benutzer im Mandanten abzudecken.

  • inspect, read, use und manage als <verb>, um <subject> Zugriff auf Berechtigungen zu erteilen.

    Die Zugriffsebene erhöht sich im Allgemeinen in der Reihenfolge der Verben inspect > read > use > manage, und die erteilten Berechtigungen sind kumulativ. Beispiel: use umfasst read sowie die Möglichkeit zum Aktualisieren.

  • Eine Ressourcenfamilie wie virtual-network-family als resource-type. Sie können auch eine einzelne Ressource in einer Familie angeben, wie vcns und subnets.

  • Ein Compartment nach Name oder OCID als <location>. Sie können auch tenancy verwenden, um den gesamten Mandanten abzudecken.

  • Eine oder mehrere Bedingungen in <condition>, die erfüllt sein müssen, damit der Zugriff erteilt wird. Bei mehreren Bedingungen können Sie any oder all verwenden.

    Eine Bedingung besteht aus mindestens einer Variablen. Eine Variable kann für die Anforderung selbst (z.B. request.operation) oder für die Ressource relevant sein, die in der Anforderung bearbeitet wird (z.B. target.queue.id). So berechtigen Sie eine Gruppe zum Verwalten eines bestimmten Workspace und keines anderen Workspace:

    allow group <group-name> to manage queues in compartment <compartment-name> where target.queue.id = '<queue-ocid>'

    Oder so erteilen Sie einer Gruppe die Berechtigung zum Verwalten aller Queue-Ressourcen im Mandanten:

    allow group <group-name> to manage queues in tenancy

Weitere Informationen zum Erstellen von Policys finden Sie unter Erste Schritte mit Policys und in der Policy-Referenz.

Ressourcentypen

Um Benutzern Zugriff auf Queue-Ressourcen zu erteilen, erstellen Sie IAM-Policys mit Queue-Ressourcentypen.

Verwenden Sie für den Zugriff auf alle Queue-Ressourcen den Ressourcentyp queues.

Wenn Sie Benutzern keine Berechtigungen zum Verwalten von Queues, sondern nur zum Produzieren in einer Queue oder zum Konsumieren aus einer Queue erteilen möchten, verwenden Sie die folgenden individuellen Ressourcentypen:

  • queue-push
  • queue-pull

Weitere Informationen finden Sie unter Policy-Beispiele.

Unterstützte Variablen

Der Queue-Service unterstützt alle allgemeinen plus die hier aufgelisteten Variablen.

Weitere Informationen zu allgemeinen Variablen, die von OCI-Services unterstützt werden, finden Sie unter Allgemeine Variablen für alle Anforderungen.

Variable Variablentyp Quelle
target.queue.id Entity (OCID) Anforderung
target.queue.name String Anforderung

Details zu Kombinationen aus Verben und Ressourcentypen

Für das Erstellen einer Policy stehen in Oracle Cloud Infrastructure verschiedene Verben und Ressourcentypen zur Verfügung.

In den folgenden Tabellen werden die Berechtigungen und API-Vorgänge angezeigt, die von jedem Verb für Queue abgedeckt werden. Die Zugriffsebene ist kumulativ von inspect zu read zu use zu manage. Ein Pluszeichen (+) in einer Tabellenzelle gibt den inkrementellen Zugriff im Vergleich zur Zelle direkt darüber an, während "Keine zusätzlichen" keinen inkrementellen Zugriff angibt.

queue
Verben Berechtigungen Vollständig abgedeckte APIs Teilweise abgedeckte APIs
inspect

QUEUE_INSPECT

ListQueues

ListWorkRequests

ListWorkRequestErrors

ListWorkRequestLogs

keine

read

INSPECT +

QUEUE_READ

INSPECT +

GetQueue

GetWorkRequest

GetStats

ListChannels

keine

use

READ +

QUEUE_UPDATE

QUEUE_PRODUCE

QUEUE_CONSUME

READ +

UpdateQueue

PutMessages

GetMessages

UpdateMessage

DeleteMessage

keine

manage

USE +

QUEUE_CREATE

QUEUE_DELETE

QUEUE_MOVE

USE +

CreateQueue

DeleteQueue

MoveQueue

keine

queue-push
Verben Berechtigungen Vollständig abgedeckte APIs Teilweise abgedeckte APIs
inspect

keine

keine

keine

read

keine

keine

keine

use

QUEUE_PRODUCE

PutMessages

keine

manage

keine

keine

keine

queue-pull
Verben Berechtigungen Vollständig abgedeckte APIs Teilweise abgedeckte APIs
inspect

keine

keine

keine

read

keine

keine

keine

use

QUEUE_CONSUME

GetMessages

UpdateMessage

DeleteMessage

keine

manage

keine

keine

keine

Für jeden API-Vorgang erforderliche Berechtigungen

In der folgenden Tabelle werden die API-Vorgänge für Queue in logischer Reihenfolge nach Ressourcentyp gruppiert aufgeführt.

Die Ressourcentypen sind queues, queue-push und queue-pull.

Informationen zu Berechtigungen finden Sie unter Berechtigungen.

Erforderliche Berechtigungen
API-Vorgang Für den Vorgang erforderliche Berechtigungen
ListQueues QUEUE_INSPECT
CreateQueue QUEUE_CREATE
GetQueue QUEUE_READ
DeleteQueue QUEUE_DELETE
MoveQueue QUEUE_MOVE
UpdateQueue QUEUE_UPDATE
ListWorkRequests QUEUE_INSPECT
GetWorkRequest QUEUE_READ
ListWorkRequestErrors QUEUE_INSPECT
ListWorkRequestLogs QUEUE_INSPECT
GetStats QUEUE_READ
ListChannels QUEUE_READ
PutMessages QUEUE_PRODUCE
GetMessages QUEUE_CONSUME
UpdateMessage QUEUE_CONSUME
DeleteMessage QUEUE_CONSUME

Policy-Beispiele

Erfahren Sie anhand von Beispielen mehr zu IAM-Policys für Queue.

Für Administratoren: Mit der folgenden Policy werden der angegebenen Gruppe die Berechtigungen für alle Aktionen mit Queues und den zugehörigen Queue-Serviceressourcen erteilt:

Allow QueueManagers to manage queues in compartment <compartment_name>

Verwenden Sie die folgenden Policys, um einer angegebenen Gruppe die Berechtigung zum Produzieren in oder zum Konsumieren aus einer Queue zu erteilen:

Allow QueueProducers to use queue-push in compartment <compartment_name>
Allow QueueConsumers to use queue-pull in compartment <compartment_name>

Verwenden Sie die folgende Policy, um einer angegebenen Gruppe die Berechtigung zum Prüfen und Lesen von Queuedetails zu erteilen:

Allow QueueReaders to read queues in compartment <compartment_name>