Criteri coda

Utilizzare il servizio Oracle Cloud Infrastructure Identity and Access Management (IAM) per creare i criteri per le code.

In questo argomento vengono descritti i dettagli per la scrittura dei criteri per controllare l'accesso al servizio Coda.

Panoramica della sintassi dei criteri

Di seguito è riportata la sintassi generale di un'istruzione criterio.

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

Ad esempio, è possibile specificare quanto riportato di seguito.

  • Gruppo o gruppo dinamico per nome o OCID come <subject>. In alternativa, è possibile utilizzare any-user per coprire tutti gli utenti nella tenancy.

  • inspect, read, use e manage come <verb> per concedere a <subject> l'accesso a una o più autorizzazioni.

    Quando si passa da inspect > read > use > manage, il livello di accesso generalmente aumenta e le autorizzazioni concesse sono cumulative. Ad esempio, use include read oltre alla possibilità di eseguire l'aggiornamento.

  • Famiglia di risorse, ad esempio virtual-network-family per resource-type. In alternativa, è possibile specificare una singola risorsa in una famiglia, ad esempio vcns e subnets.

  • Compartimento per nome o OCID come <location>. In alternativa, è possibile utilizzare tenancy per coprire l'intera tenancy.

  • Una o più condizioni in <condition>, che devono essere soddisfatte affinché l'accesso possa essere concesso. Per più condizioni, è possibile utilizzare any o all.

    Una condizione è costituita da una o più variabili. Una variabile può essere rilevante per la richiesta stessa (ad esempio, request.operation) o per la risorsa su cui si agisce nella richiesta (ad esempio, target.queue.id). Per illustrare, per consentire a un gruppo di gestire un'area di lavoro specifica e non un'altra area di lavoro:

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

    In alternativa, per consentire a un gruppo di gestire tutte le risorse Coda nella tenancy:

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

Per ulteriori informazioni sulla creazione dei criteri, consulta la Guida introduttiva ai criteri e il riferimento ai criteri.

Resource-Types

Per concedere agli utenti l'accesso alle risorse della coda, creare criteri IAM con i tipi di risorsa Coda.

Per accedere a tutte le risorse della coda, utilizzare il tipo di risorsa queues.

Se non si desidera che gli utenti gestiscano le code, ma si desidera che vengano prodotte in una coda o utilizzate da una coda, utilizzare i tipi di risorsa seguenti:

  • queue-push
  • queue-pull

Per ulteriori informazioni, vedere Esempi di criteri.

Variabili supportate

Il servizio Queue supporta tutte le variabili generali, oltre a quelle elencate qui.

Per ulteriori informazioni sulle variabili generali supportate dai servizi OCI, vedere Variabili generali per tutte le richieste.

Variabile Tipo di variabile Origine
target.queue.id Entità (OCID) Richiedi
target.queue.name Stringa Richiedi

Dettagli per le combinazioni verbi-tipo di risorsa

Esistono vari verbi e tipi di risorse di Oracle Cloud Infrastructure che è possibile utilizzare per creare un criterio.

Le tabelle seguenti mostrano le autorizzazioni e le operazioni API coperte da ciascun verbo per la coda. Il livello di accesso è cumulativo quando si passa da inspect a read a use a manage. Un segno più (+) in una cella di tabella indica l'accesso incrementale rispetto alla cella direttamente sopra di essa, mentre "nessun extra" indica nessun accesso incrementale.

queue
Verbi Autorizzazioni API completamente coperte API parzialmente coperte
ispezionare

QUEUE_INSPECT

ListQueues

ListWorkRequests

ListWorkRequestErrors

ListWorkRequestLogs

nessuno

letto

ISPEZIONA +

QUEUE_READ

ISPEZIONA +

GetQueue

GetWorkRequest

GetStats

ListChannels

nessuno

utilizzare

LETTO +

QUEUE_UPDATE

QUEUE_PRODUCE

QUEUE_CONSUME

LETTO +

UpdateQueue

PutMessages

GetMessages

UpdateMessage

DeleteMessage

nessuno

gestisci

USE +

QUEUE_CREATE

QUEUE_DELETE

QUEUE_MOVE

USE +

CreateQueue

DeleteQueue

MoveQueue

nessuno

queue-push
Verbi Autorizzazioni API completamente coperte API parzialmente coperte
ispezionare

nessuno

nessuno

nessuno

letto

nessuno

nessuno

nessuno

utilizzare

QUEUE_PRODUCE

PutMessages

nessuno

gestisci

nessuno

nessuno

nessuno

queue-pull
Verbi Autorizzazioni API completamente coperte API parzialmente coperte
ispezionare

nessuno

nessuno

nessuno

letto

nessuno

nessuno

nessuno

utilizzare

QUEUE_CONSUME

GetMessages

UpdateMessage

DeleteMessage

nessuno

gestisci

nessuno

nessuno

nessuno

Autorizzazioni necessarie per ogni operazione API

Nella tabella seguente sono elencate le operazioni API per la coda in ordine logico, raggruppate per tipo di risorsa.

I tipi di risorsa sono queues, queue-push e queue-pull.

Per informazioni sulle autorizzazioni, vedere Autorizzazioni.

Autorizzazioni necessarie
Operazione API Autorizzazioni necessarie per utilizzare l'operazione
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

Esempi di criteri

Informazioni sui criteri IAM della coda mediante esempi.

Per gli amministratori, il criterio riportato di seguito consente al gruppo specificato di eseguire tutte le operazioni con le code e le risorse correlate del servizio Coda.

Allow QueueManagers to manage queues in compartment <compartment_name>

Utilizzare i criteri riportati di seguito per consentire a un gruppo specificato di produrre o consumare da una coda.

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

Utilizzare il seguente criterio per consentire a un gruppo specificato di ispezionare e leggere i dettagli della coda:

Allow QueueReaders to read queues in compartment <compartment_name>