Stratégies Queue

Utilisez le service Oracle Cloud Infrastructure Identity and Access Management (IAM) afin de créer des stratégies pour vos files d'attente.

Cette rubrique traite des détails relatifs à l'écriture de stratégies visant à contrôler l'accès au service Queue.

Présentation de la syntaxe de stratégie

La syntaxe générale d'une instruction de stratégie est la suivante :

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

Voici des exemples de ce que vous pouvez indiquer :

  • Un groupe ou un groupe dynamique par son nom ou son OCID en tant que <subject>. Vous pouvez également utiliser any-user pour couvrir tous les utilisateurs dans la location.

  • inspect, read, use et manage en tant que <verb> pour accorder à <subject> des droits d'accès.

    Lorsque vous passez de inspect à read, puis à use, puis à manage, le niveau d'accès augmente généralement et les droits d'accès octroyés sont cumulés. Par exemple, use inclut read et autorise en plus la mise à jour.

  • Une famille de ressources telle que virtual-network-family pour resource-type. Vous pouvez également indiquer une ressource individuelle d'une famille telle que vcns ou subnets.

  • Un compartiment par son nom ou son OCID en tant que <location>. Vous pouvez également utiliser tenancy pour couvrir l'intégralité de la location.

  • Des conditions dans <condition>, qui doivent être remplies pour que l'accès soit accordé. Pour les conditions multiples, vous pouvez utiliser any ou all.

    Une condition se compose de variables. Une variable peut être pertinente pour la demande elle-même (par exemple, request.operation) ou pour la ressource faisant l'objet d'une action dans la demande (par exemple, target.queue.id). Par exemple, pour autoriser un groupe à gérer un espace de travail spécifique et aucun autre espace de travail :

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

    Sinon, pour autoriser un groupe à gérer toutes les ressources Queue dans la location, utilisez la commande suivante :

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

Pour plus d'informations sur la création de stratégies, reportez-vous à Introduction aux stratégies et à Référence de stratégie.

Types de ressource

Pour accorder aux utilisateurs l'accès aux ressources Queue, créez des stratégies IAM avec des types de ressource Queue.

Pour accéder à toutes les ressources Queue, utilisez le type de ressource queues.

Si vous ne voulez pas que les utilisateurs gèrent les files d'attente mais que vous voulez qu'ils génèrent des messages vers une file d'attente ou qu'ils utilisent des messages d'une file d'attente, servez-vous des types individuels de ressource suivants :

  • queue-push
  • queue-pull

Pour plus d'informations, reportez-vous à Exemples de stratégie.

Variables prises en charge

Le service Queue prend en charge toutes les variables générales ainsi que celles répertoriées ici.

Pour plus d'informations sur les variables générales prises en charge par les services OCI, reportez-vous à Variables générales pour toutes les demandes.

Variable Type de variable Source
target.queue.id Entité (OCID) Demande
target.queue.name Chaîne (String) Demande

Détails des combinaisons de verbe et de type de ressource

Vous pouvez utiliser différents verbes et types de ressource Oracle Cloud Infrastructure pour créer une stratégie.

Les tableaux suivants indiquent les droits d'accès et les opérations d'API couverts par chaque verbe pour Queue. Le niveau d'accès est cumulatif à mesure que vous passez d'un verbe à l'autre, dans l'ordre suivant : inspect, read, use, manage. Le signe plus (+) dans une cellule du tableau indique un accès incrémentiel par rapport à la cellule directement au-dessus, alors que la mention "aucun élément supplémentaire" n'indique aucun accès incrémentiel.

queue
Verbes Droits d'accès API entièrement couvertes API partiellement couvertes
inspect

QUEUE_INSPECT

ListQueues

ListWorkRequests

ListWorkRequestErrors

ListWorkRequestLogs

aucune

read

INSPECT +

QUEUE_READ

INSPECT +

GetQueue

GetWorkRequest

GetStats

ListChannels

aucune

use

READ +

QUEUE_UPDATE

QUEUE_PRODUCE

QUEUE_CONSUME

READ +

UpdateQueue

PutMessages

GetMessages

UpdateMessage

DeleteMessage

aucune

manage

USE +

QUEUE_CREATE

QUEUE_DELETE

QUEUE_MOVE

USE +

CreateQueue

DeleteQueue

MoveQueue

aucune

queue-push
Verbes Droits d'accès API entièrement couvertes API partiellement couvertes
inspect

aucune

aucune

aucune

read

aucune

aucune

aucune

use

QUEUE_PRODUCE

PutMessages

aucune

manage

aucune

aucune

aucune

queue-pull
Verbes Droits d'accès API entièrement couvertes API partiellement couvertes
inspect

aucune

aucune

aucune

read

aucune

aucune

aucune

use

QUEUE_CONSUME

GetMessages

UpdateMessage

DeleteMessage

aucune

manage

aucune

aucune

aucune

Droits d'accès requis pour chaque opération d'API

Le tableau suivant répertorie les opérations d'API pour Queue dans un ordre logique, regroupées par type de ressource.

Les types de ressource sont queues, queue-push et queue-pull.

Pour plus d'informations sur les droits d'accès, reportez-vous à Droits d'accès.

Droits d'accès requis
Opération d'API Droits d'accès requis pour utiliser l'opération
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

Exemples de stratégie

Découvrez les stratégies IAM pour Queue à l'aide d'exemples.

Pour les administrateurs. La stratégie suivante permet au groupe spécifié d'effectuer toutes les opérations relatives aux files d'attente et aux ressources associées du service Queue :

Allow QueueManagers to manage queues in compartment <compartment_name>

Utilisez les stratégies suivantes pour permettre à un groupe spécifié de générer des messages vers une file d'attente ou d'utiliser des messages d'une file d'attente :

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

Utilisez la stratégie suivante pour permettre à un groupe spécifié d'inspecter et de lire les détails d'une file d'attente :

Allow QueueReaders to read queues in compartment <compartment_name>