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 utiliserany-user
pour couvrir tous les utilisateurs dans la location. -
inspect
,read
,use
etmanage
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
inclutread
et autorise en plus la mise à jour. -
Une famille de ressources telle que
virtual-network-family
pourresource-type
. Vous pouvez également indiquer une ressource individuelle d'une famille telle quevcns
ousubnets
. -
Un compartiment par son nom ou son OCID en tant que
<location>
. Vous pouvez également utilisertenancy
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 utiliserany
ouall
.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.
Verbes | Droits d'accès | API entièrement couvertes | API partiellement couvertes |
---|---|---|---|
inspect |
QUEUE_INSPECT |
|
aucune |
read |
INSPECT + QUEUE_READ |
INSPECT +
|
aucune |
use |
READ + QUEUE_UPDATE QUEUE_PRODUCE QUEUE_CONSUME |
READ +
|
aucune |
manage |
USE + QUEUE_CREATE QUEUE_DELETE QUEUE_MOVE |
USE +
|
aucune |
Verbes | Droits d'accès | API entièrement couvertes | API partiellement couvertes |
---|---|---|---|
inspect |
aucune |
aucune |
aucune |
read |
aucune |
aucune |
aucune |
use |
QUEUE_PRODUCE |
|
aucune |
manage |
aucune |
aucune |
aucune |
Verbes | Droits d'accès | API entièrement couvertes | API partiellement couvertes |
---|---|---|---|
inspect |
aucune |
aucune |
aucune |
read |
aucune |
aucune |
aucune |
use |
QUEUE_CONSUME |
|
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.
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>