Uso delle tag per gestire l'accesso

In questo argomento viene descritto come utilizzare le tag nei criteri per estendere l'accesso in base alle tag applicate al richiedente o alla destinazione di una chiamata di autorizzazione.

Informazioni sul controllo dell'accesso basato su tag

Utilizzando le condizioni e un set di variabili di tag, è possibile scrivere il criterio per l'accesso all'ambito in base alle tag applicate a una risorsa. L'accesso può essere controllato in base a una tag esistente nella risorsa richiedente (gruppo, gruppo dinamico o compartimento) o nella destinazione della richiesta (risorsa o compartimento). Il controllo dell'accesso basato su tag offre ulteriore flessibilità ai criteri consentendo di definire i criteri di accesso con tag che si estendono su compartimenti, gruppi e risorse.

Attenzione

Se l'organizzazione sceglie di creare criteri che utilizzano le tag per gestire l'accesso, accertarsi di disporre dei controlli appropriati per stabilire chi può applicare le tag. Inoltre, dopo la definizione dei criteri, tenere presente che l'applicazione delle tag a un gruppo, un utente o una risorsa può conferire l'accesso alle risorse.

Prima di creare un criterio che specifica una tag su una destinazione o su un richiedente, assicurarsi di essere a conoscenza di quanto riportato di seguito.

  • tutti i potenziali richiedenti (utenti, gruppi, gruppi dinamici) che riportano il tag
  • tutte le risorse che portano la tag

Prima di applicare una tag a una risorsa, assicurarsi di essere a conoscenza di eventuali criteri in vigore che includono la tag e potrebbero influire sugli utenti che hanno accesso alla risorsa.

Gestione dell'accesso mediante tag applicate alla risorsa richiedente

Puoi controllare l'accesso in base al valore di una tag applicata a:

  • un gruppo (di utenti) che richiede l'accesso
  • un gruppo dinamico (di istanze) che richiede l'accesso
  • un compartimento in cui risiede una risorsa in un gruppo dinamico

L'uso delle tag nelle istruzioni del criterio per accedere all'ambito consente di definire l'accesso per più gruppi mediante una singola istruzione criterio. Inoltre, puoi concedere l'accesso e revocare l'accesso per i gruppi applicando o rimuovendo le tag, senza modificare i criteri originali.

La sintassi di base di ciascuna variabile è illustrata nella tabella seguente. Si noti che la sintassi è la stessa per il gruppo e il gruppo dinamico, ma ognuno è presentato in una riga diversa. Vedere Operatori supportati per ulteriori esempi di utilizzo.

Tag applicata al richiedente Sintassi variabile Descrizione

gruppo

request.principal.group.tag.{tagNamespace}.{tagKeyDefinition}= '<value>'  

Criteri di esempio per il gruppo di utenti:

allow any-user to manage instances in compartment HR where request.principal.group.tag.Operations.Project= 'Prod'

Qualsiasi utente appartenente a un gruppo contrassegnato con Operations.Project='Prod' può gestire le istanze nel compartimento HR.

I tag applicati ai gruppi a cui appartiene l'utente vengono valutati per una corrispondenza.

       

gruppo dinamico

request.principal.group.tag.{tagNamespace}.{tagKeyDefinition}= '<value>'

Criteri di esempio per il gruppo dinamico:

allow dynamic-group InstancesA to manage instances in compartment HR where request.principal.group.tag.Operations.Project= 'Prod'

Le istanze membri del gruppo dinamico InstancesA e che sono anche membri di un gruppo dinamico contrassegnato con Operations.Project='Prod' possono gestire le istanze nel compartimento HR.

Le tag applicate ai gruppi dinamici a cui appartiene l'istanza vengono valutate per una corrispondenza.

compartimento

request.principal.compartment.tag.{tagNamespace}.{tagKeyDefinition}= '<value>'

Criteri di esempio:

allow dynamic-group InstancesA to manage instances in tenancy where request.principal.compartment.tag.Operations.Project= 'Prod'

Le istanze membri del gruppo dinamico InstancesA e che risiedono anche in un compartimento con tag Operations.Project='Prod' possono gestire le istanze nella tenancy.

 

Vengono valutate le tag applicate al compartimento a cui appartiene la risorsa richiedente.

Nota

Gli utenti risiedono nel compartimento radice della tenancy, pertanto le tag devono essere applicate al compartimento radice in modo che le istruzioni dei criteri funzionino.

Gestione dell'accesso mediante le tag applicate alla risorsa di destinazione

Puoi controllare l'accesso in base al valore di una tag applicata a:

  • una risorsa
  • un compartimento in cui risiede la risorsa di destinazione

La sintassi di base per queste variabili è illustrata nella tabella seguente. Per ulteriori esempi di utilizzo, vedere Operatori supportati.

Etichetta applicata a destinazione Sintassi variabile Descrizione

risorsa

target.resource.tag.{tagNamespace}.{tagKeyDefinition}='<value>'

Criteri di esempio:

allow group GroupA to manage all-resources in compartment HR where target.resource.tag.Operations.Project= 'Prod'

 

La tag applicata alla risorsa di destinazione della richiesta viene valutata.

Esistono limitazioni alle autorizzazioni che possono essere concesse in questo tipo di criterio. Per informazioni dettagliate, vedere le seguenti sezioni di questo argomento.

compartimento

target.resource.compartment.tag.{tagNamespace}.{tagKeyDefinition}='<value>'  

Criteri di esempio:

allow group GroupA to manage all-resources in tenancy where target.resource.compartment.tag.Operations.Project= 'Prod'

La tag applicata al compartimento di destinazione della richiesta viene valutata.

Per informazioni dettagliate sulle modalità di concessione dell'accesso nei compartimenti nidificati, vedere Gerarchie di compartimenti.

Le autorizzazioni per elencare una risorsa devono essere concesse separatamente

I criteri che estendono l'accesso in base alla tag applicata alla risorsa di destinazione non possono consentire le autorizzazioni che consentono di restituire una lista di risorse. Pertanto, le autorizzazioni per consentire l'elencazione di una risorsa devono essere concesse mediante un'ulteriore istruzione criterio. Ciò significa che se è stato definito un criterio come:

allow group GroupA to manage all-resources in compartment Operations where target.resource.tag.Operations.Project= 'Prod'

GroupA non sarà in grado di elencare le risorse che sono altrimenti autorizzate a gestire. I membri di GroupA non sarebbero in grado di utilizzare la console per interagire con queste risorse e gli utenti dovrebbero conoscere l'OCID della risorsa che stanno tentando di gestire, il che rende anche difficile l'uso dell'SDK e dell'interfaccia CLI.

Per consentire a GroupA di elencare tali risorse, è necessario aggiungere un'altra istruzione di criteri, ad esempio:

allow group GroupA to inspect all-resources in compartment Operations

Questo approccio migliora il criterio basato su tag perché consente agli utenti di utilizzare la console più facilmente (consentendo loro di visualizzare la risorsa che desiderano gestire), ma limita comunque le autorizzazioni a ispezionare solo. I membri di GroupA non possono eseguire alcuna azione su tali risorse a meno che non siano contrassegnati in modo appropriato. Quando si utilizza il controllo dell'accesso basato su tag, tenere presente che la maggiore flessibilità richiede questa ulteriore potenziale espansione dell'accesso.

Un altro approccio che puoi utilizzare per evitare questa limitazione è contrassegnare i compartimenti che contengono le risorse a cui desideri concedere l'accesso. Un criterio di esempio è simile al seguente:

allow group GroupA to manage all-resources in tenancy where target.resource.compartment.tag.Operations.Project= 'Prod'

Questo criterio consente ai membri di GroupA di gestire tutte le risorse nella tenancy che si trovano nei compartimenti contrassegnati con la tag Operations.Project='Prod'.

I criteri che richiedono una tag nella risorsa di destinazione non possono concedere autorizzazioni di creazione

Quando scrivi un criterio per accedere all'ambito in base al valore di una tag nella risorsa, tieni presente che il criterio non può concedere autorizzazioni di creazione. La richiesta di creazione di un'istanza non riuscirebbe perché la risorsa di destinazione non è stata ancora creata e pertanto non dispone della tag appropriata da valutare. Quindi una politica come:

allow group GroupA to manage instances in compartment Operations where target.resource.tag.Operations.Project='Prod'

consente ai membri di GroupA di utilizzare ed eliminare le istanze contrassegnate con Operations.Project='Prod', ma non possono creare istanze.

Operatori supportati

Il criterio che utilizza queste variabili di tag può includere questi operatori e i tipi di corrispondenza:

Operatore Tipo Esempio Descrizione
= Stringa request.principal.group.tag.MyTagNamespace.MyTag='sample' Restituisce true se uno qualsiasi dei gruppi a cui appartiene il richiedente è contrassegnato con il valore corrispondente "sample" per MyTagNamespace.MyTag. (Il valore non fa distinzione tra maiuscole e minuscole).
Modello request.principal.group.tag.MyTagNamespace.MyTag=/*sample/ Restituisce true se uno qualsiasi dei valori di MyTagNamespace.MyTag termina con "sample". (Corrispondenza pattern semplice senza distinzione tra maiuscole e minuscole).
Variabile criterio request.principal.group.tag.mytagnamespace.mytag = target.resource.tag.mytagnamespace.mytag Restituisce true se la risorsa specificata mytagnamespace.mytag ha un valore corrispondente alla destinazione specificata mytagnamespace.tag.
!= Stringa request.principal.group.tag.MyTagNamespace.MyTag !='sample' Restituisce true se nessuno dei valori stringa della variabile criteri è uguale a "sample". (Confronto di stringhe senza distinzione tra maiuscole e minuscole).
Modello request.principal.group.tag.MyTagNamespace.MyTag !=/*sample/ Restituisce true se nessuno dei valori di MyTagNamespace.MyTag termina con "sample". (Corrispondenza pattern semplice senza distinzione tra maiuscole e minuscole).
Variabile criterio request.principal.group.tag.mytagnamespace.mytag != target.resource.tag.mytagnamespace.mytag Valuta se nessuno dei due lati è un sottoinsieme dell'altro.

In/Non in

Operatore Tipo Esempio Descrizione
in Stringa request.principal.group.tag.MyTagNamespace.MyTag in ('sample', 'sample1') La clausola restituisce true se uno qualsiasi dei valori di MyTagNamespace.MyTag per qualsiasi gruppo del principal richiedente corrente è uguale a "sample" o "sample1".
Modello request.principal.group.tag.MyTagNamespace.MyTag in (/*sample/, /sample1*/) La clausola restituisce true se uno dei valori di MyTagNamespace.MyTag per qualsiasi gruppo del principal richiedente corrente termina con "sample" o inizia con "sample1".
Variabile criterio request.principal.group.tag.MyTagNamespace.MyTag in (target.resource.tag.mytagnamespace.mytag, 'sample')

La clausola restituisce true se viene soddisfatta una delle condizioni riportate di seguito.

1 request.principal.group.tag.MyTagNamespace.MyTag o target.resource.tag.mytagnamespace.mytag è un subset dell'altro.

2. Qualsiasi valore stringa di request.principal.group.tag.MyTagNamespace.MyTag è uguale a "sample".

non in Stringa request.principal.group.tag.MyTagNamespace.MyTag not in ('sample', 'sample1') La clausola restituisce true se nessuno dei valori di MyTagNamespace.MyTag per qualsiasi gruppo del principal richiedente corrente è uguale a "sample" o "sample1".
Modello request.principal.group.tag.MyTagNamespace.MyTag not in (/*sample/, /sample1*/) La clausola restituisce true se nessuno dei valori di MyTagNamespace.MyTag per qualsiasi gruppo del principal richiedente corrente termina con "sample" o inizia con "sample1".
Variabile criterio request.principal.group.tag.MyTagNamespace.MyTag not in (target.resource.tag.mytagnamespace.mytag, 'sample')

La clausola restituisce true se vengono soddisfatte tutte le condizioni riportate di seguito.

1. Il tag request.principal.group.tag.MyTagNamespace.MyTag o target.resource.tag.mytagnamespace.my non è un subset dell'altro.

2. Nessuno dei valori stringa di request.principal.group.tag.MyTagNamespace.MyTag è uguale a "sample".

Supporto per caratteri jolly

È possibile utilizzare il carattere * per trovare tutte le occorrenze di {tagNamespace}.{tagKeyDefinition} indipendentemente dal valore. Nel criterio è possibile posizionare * tra apici '*' o tra barre rovesciate /*/ . ad esempio

allow group GroupA to use all-resources in compartment HR where target.resource.tag.HR.Project= '*'

In questo esempio, GroupA può utilizzare tutte le risorse del compartimento HR alle quali è applicato un tag con lo spazio di nomi e la chiave di tag: HR.Project con qualsiasi valore.

Limitazioni ai caratteri negli spazi dei nomi tag e nelle definizioni delle chiavi di tag utilizzate nelle variabili dei criteri

Gli spazi di nomi tag e le definizioni delle chiavi di tag supportano un set di caratteri più esteso rispetto a quanto consentito nelle variabili dei criteri. Pertanto, per utilizzare gli spazi di nomi tag e le definizioni delle chiavi di tag nelle variabili, assicurarsi che includano solo i caratteri supportati anche dalle variabili dei criteri. I caratteri supportati sono:

a-z, A-Z, 0-9, _, @, -, :

Se gli spazi di nomi o le chiavi di tag contengono caratteri diversi da questi, non è possibile utilizzarli nelle variabili dei criteri. Impossibile rinominare gli spazi di nomi e le chiavi di tag. Sarà quindi necessario creare nuovi spazi di nomi e definizioni delle chiavi di tag.

Considerazioni per il caso

Quando si utilizzano le tag nei criteri, tenere presente che i valori delle tag non fanno distinzione tra maiuscole e minuscole. Ad esempio:

request.principal.group.tag.MyTagNamespace.MyTag='sample'

è uguale a

request.principal.group.tag.MyTagNamespace.MyTag='Sample'

Gerarchie di compartimenti

Quando scrivi una condizione per consentire l'accesso in base alla tag applicata a un compartimento di destinazione, ricorda che questo criterio consente anche l'accesso a tutti i compartimenti nidificati all'interno del compartimento contrassegnato. Tutti i compartimenti secondari nel compartimento con tag sono risorse nel compartimento con tag e, pertanto, il criterio concede l'accesso.

Ad esempio, in questo scenario:

Compartimenti nidificati CompartmentA, CompartmentA1, CompartmentA1.1

Il criterio:

allow group GroupA to use all-resources in tenancy where target.resource.compartment.Operations.Project='ProjectA'

consente a GroupA di utilizzare tutte le risorse in CompartmentA, CompartmentA1 e CompartmentA1.1, anche se la tag viene applicata solo a CompartmentA.

Servizi supportati

Tutti i servizi Oracle Cloud Infrastructure supportano le variabili dei criteri request.principal.compartment, request.principal.group e target.resource.compartment.tag.

Non tutti i servizi supportano la variabile dei criteri target.resource.tag. La tabella riportata di seguito elenca i servizi supportati. Se il servizio non è elencato nella tabella, al momento non è supportato.

Alcuni servizi presentano limitazioni. Vedere il collegamento appropriato nella tabella.

Servizi supportati Ulteriori informazioni
Gateway API Consulta la sezione relativa alle limitazioni del servizio gateway API.
Servizio Big Data Consulta la sezione relativa alle limitazioni del servizio Big Data.
Blockchain Platform Completamente supportato, senza limitazioni.
Volume a blocchi Consulta la sezione relativa alle limitazioni del servizio per volumi a blocchi.
Certificati Completamente supportato, senza limitazioni.
Calcolo Consulta la sezione relativa alle limitazioni del servizio di computazione.
Gestione calcolo Consulta la sezione relativa alle limitazioni di gestione della computazione.
Content Management Vedere Limitazioni di gestione del contenuto.
Data Catalog Consulta la sezione relativa alle limitazioni del servizio Data Catalog.
Data Flow Completamente supportato, senza limitazioni.
Data science Consulta la sezione relativa alle limitazioni del servizio di data science.
Database Consulta la sezione relativa alle limitazioni del servizio di database.
Digital Assistant Vedere Limitazioni di Digital Assistant.
DNS Consulta la sezione relativa alle limitazioni DNS pubbliche.
Email Delivery Completamente supportato, senza limitazioni.
FastConnect Completamente supportato, senza limitazioni.
Funzioni Completamente supportato, senza limitazioni.
Controlli stato Completamente supportato, senza limitazioni.
IAM Le risorse supportate sono: users, groups, policies, dynamic-groups, network-sources e identity-providers
Load balancer Consulta la sezione relativa alle limitazioni del servizio di bilanciamento del carico.
HeatWave Completamente supportato, senza limitazioni.
Networking Vedere Limiti del servizio di networking.
NoSQL Database Cloud Vedere Limiti del servizio di networking.
Notifiche Completamente supportato, senza limitazioni.
Storage degli oggetti Consulta la sezione relativa alle limitazioni del servizio di storage degli oggetti.
Servizio quote Completamente supportato, senza limitazioni.
Applicazione di tag allo spazio di nomi Vedere Assegnazione di tag ai limiti dello spazio di nomi.
Vault Cifratura non supportata.
WAF Vedere Limitazioni WAF.

Limitazioni e criteri aggiuntivi necessari per scenari Target.Resource.Tag specifici

Per alcuni servizi, non sono supportate tutte le autorizzazioni o i tipi di risorsa. Quando un'autorizzazione non è supportata, ciò significa che anche se la risorsa è contrassegnata e l'autorizzazione è inclusa nel verbo che concede l'accesso, tale autorizzazione non è consentita e l'autorizzazione non riesce per l'operazione gestita dall'autorizzazione. Ad esempio, la risorsa di servizio per volumi a blocchi volume-backups non supporta il controllo dell'accesso basato su tag per l'autorizzazione VOLUME_BACKUP_COPY. Pertanto, questa politica:

allow group TestGroup to manage volume-backups in compartment Compartment1 where target.resource.tag.TagNS.TagKey = 'test'

non consente ai membri del gruppo TestGroup di eseguire l'operazione CopyVolumeBackup. Per concedere tale autorizzazione a TestGroup, è necessario aggiungere un'altra istruzione criterio per coprirla.

Inoltre, alcuni scenari operativi richiedono l'autorizzazione per accedere a più risorse. Quando si applica l'ambito dell'accesso alle tag applicate alla risorsa di destinazione, è necessario includere un criterio separato per ogni risorsa coinvolta nell'operazione. Inoltre, a causa delle limitazioni relative alla lista delle risorse e di altre autorizzazioni specifiche del servizio, sono necessari criteri aggiuntivi (non definiti dalla tag).

Limitazioni del servizio gateway API

Oltre al criterio di controllo dell'accesso basato su tag previsto per le risorse del gateway API, sarà necessario un criterio che consenta di gestire le autorizzazioni per api-workrequests.

Di seguito è riportato un criterio di esempio con autorizzazioni aggiuntive:

allow group TestGroup to manage api-workrequests in compartment Compartment1

Limitazioni del servizio Big Data

Oltre al criterio di controllo dell'accesso basato su tag previsto per le risorse del servizio Big Data, sarà necessario un criterio che consenta di gestire le autorizzazioni per cluster-work-requests.

Di seguito è riportato un criterio di esempio con autorizzazioni aggiuntive:

allow group TestGroup to manage cluster-work-requests in compartment Compartment1

Limitazioni del servizio per volumi a blocchi

Servizio Tipo di risorsa con limitazioni Autorizzazioni non supportate con la variabile dei criteri target.resource.tag
Volume a blocchi backup-policy-assignments BACKUP_POLICY_ASSIGNMENT_DELETE
volume-backups VOLUME_BACKUP_COPY

Scenari che richiedono criteri aggiuntivi:

Collegare un volume a blocchi a un'istanza di computazione:

Per collegare un volume a blocchi a un'istanza di computazione, oltre al criterio di controllo dell'accesso basato su tag per consentire il verbo use su volumi e istanze, saranno necessarie alcune autorizzazioni aggiuntive.

Ad esempio:

allow group TestGroup to use volumes in compartment Compartment1 where target.resource.tag.TagNS.TagKey = 'test'
allow group TestGroup to use instances in compartment Compartment1 where target.resource.tag.TagNS.TagKey = 'test'

Questi due criteri consentono ai membri di TestGroup di utilizzare volumi e istanze in Compartment1, quando le risorse dispongono della tag appropriata. Per consentire ai membri di collegare un volume a blocchi a un'istanza, saranno necessari anche criteri che consentano le autorizzazioni visualizzate nelle seguenti istruzioni:

allow group TestGroup to read instances in compartment Compartment1
allow group TestGroup to manage volume-attachments in compartment Compartment1 where any {request.permission='VOLUME_ATTACHMENT_CREATE', request.permission='VOLUME_ATTACHMENT_DELETE'}

Limitazioni del servizio di calcolo

Servizio Tipo di risorsa Autorizzazioni non supportate con la variabile dei criteri target.resource.tag
Calcolo instance-console-connection

INSTANCE_CONSOLE_CONNECTION_DELETE

 
instances INSTANCE_POWER_ACTIONS

Scenari che richiedono criteri aggiuntivi:

Collega istanza di computazione alla subnet:

Per gestire il collegamento della subnet di un'istanza di computazione, oltre al criterio di controllo dell'accesso basato su tag previsto per instances e subnets, mostrato qui:

allow group TestGroup to use subnets in compartment Compartment1 where target.resource.tag.TagNS.TagKey = 'test'
allow group TestGroup to manage instances in compartment Compartment1 where target.resource.tag.TagNS.TagKey = 'test'

Avrai bisogno di autorizzazioni aggiuntive su vnics:

allow group TestGroup to use vnics in compartment Compartment1 where ANY{request.permission='VNIC_ATTACH', request.permission='VNIC_CREATE'}

Eliminare una VNIC da un'istanza di computazione:

Per eliminare una VNIC da un'istanza di computazione, oltre al criterio di controllo dell'accesso basato su tag previsto per instances e subnets mostrati qui:

allow group TestGroup to manage instances in compartment Compartment1 where target.resource.tag.TagNS.TagKey = 'test'
allow group TestGroup to use subnets in compartment Compartment1 where target.resource.tag.TagNS.TagKey = 'test'

Avrai bisogno di un criterio che ti consenta le autorizzazioni su vnics:

allow group TestGroup to use vnics in compartment Compartment1 where ANY {request.permission='VNIC_DELETE', request.permission='VNIC_DETACH'}

Limitazioni per la gestione del calcolo

Servizio Tipo di risorsa Autorizzazioni non supportate con la variabile dei criteri target.resource.tag Note
Gestione computazione instance-pools Tutte le autorizzazioni Il tipo di risorsa instance-pools non è supportato.
auto-scaling-configurations AUTO_SCALING_CONFIGURATION_UPDATE .

Limitazioni per la gestione dei contenuti

Oltre al criterio di controllo dell'accesso basato su tag previsto per le risorse di Content Management, sarà necessario disporre di un criterio che consenta di gestire le autorizzazioni per oce-work-requests.

Di seguito è riportato un criterio di esempio con autorizzazioni aggiuntive:

allow group TestGroup to manage oce-requests in compartment Compartment1

Limitazioni del servizio di database

Servizio Tipo di risorsa Autorizzazioni non supportate con la variabile dei criteri target.resource.tag
Database all DATABASE_DELETE

Aggiorna tag per l'infrastruttura ExaData:

Non al momento supportato utilizzando criteri di controllo dell'accesso basati su tag.

Scenari che richiedono criteri aggiuntivi:

Elimina un sistema DB:

Per eliminare o aggiornare un sistema DB, oltre al criterio di controllo dell'accesso basato su tag previsto per DB-systems, mostrato qui:

allow group TestGroup to manage db-systems in compartment Compartment1 where target.resource.tag.TagNS.TagKey= 'test'

Avrai bisogno di un criterio che ti consenta le autorizzazioni per db-backups, db-homes, vnics, subnets e databases. Di seguito è riportato un criterio di esempio che mostra le autorizzazioni aggiuntive.

allow group TestGroup to manage db-backups in compartment Compartment1 where ANY {request.permission='DB_BACKUP_DELETE', request.permission='DB_BACKUP_INSPECT'}
allow group TestGroup to manage db-homes in compartment Compartment1 where request.permission='DB_HOME_DELETE'
allow group TestGroup to manage vnics in compartment Compartment1 where ANY {request.permission='VNIC_DELETE', request.permission='VNIC_DETACH'}
allow group TestGroup to manage subnets in compartment Compartment1 where request.permission='SUBNET_DETACH'
allow group TestGroup to manage databases in compartment compartment1

Spostare un sistema DB in un altro compartimento:

Per spostare un sistema DB in un altro compartimento, oltre al criterio di controllo dell'accesso basato su tag previsto per DB-systems mostrato qui:

allow group TestGroup to manage db-systems in compartment Compartment1 where target.resource.tag.TagNS.TagKey= 'test'

Avrai bisogno di un criterio che ti consenta le autorizzazioni per databases, db-homes e db-backups. Di seguito è riportato un criterio di esempio con le autorizzazioni aggiuntive.

allow group TestGroup to use databases in compartment Compartment1 where request.permission='DATABASE_UPDATE'
allow group TestGroup to manage db-backups in compartment Compartment1 where request.permission='DB_BACKUP_INSPECT'
allow group TestGroup to manage db-homes in compartment Compartment1 where request.permission='DB_HOME_UPDATE'

Eliminazione del database per il sistema DB Exadata:

Per eliminare una risorsa di database per un sistema DB Exadata, sarà necessario il criterio di controllo dell'accesso basato su tag previsto per DB-systems e databases mostrato qui:

allow group TestGroup to manage db-systems in compartment Compartment1 where target.resource.tag.TagNS.TagKey= 'test'
allow group TestGroup to manage databases in compartment Compartment1 where target.resource.tag.TagNS.TagKey= 'test'

Sarà inoltre necessario disporre delle autorizzazioni per db-homes e db-backups. Di seguito è riportato un criterio di esempio con autorizzazioni aggiuntive:

allow group TestGroup to manage db-homes in compartment Compartment1 where request.permision='DB_HOME_UPDATE'
allow group TestGroup to manage db-backups in compartment Compartment1 where ANY {request.permission='DB_BACKUP_DELETE', request.permission='DB_BACKUP_INSPECT'}

Elimina database:

L'eliminazione di un database per un sistema DB Bare Metal o Virtual Machine non è supportata utilizzando criteri basati su tag nella risorsa di destinazione.

Creazione backup database:

Per creare un backup del database, avrai bisogno del criterio di controllo dell'accesso basato su tag previsto per databases:

allow group TestGroup to manage databases in compartment Compartment1 where target.resource.tag.TagNS.TagKey= 'test'

È inoltre necessario disporre delle autorizzazioni per db-backups. Di seguito è riportato un criterio di esempio con autorizzazioni aggiuntive:

allow group TestGroup to manage db-backups in compartment Compartment1 where request.permission='DB_BACKUP_CREATE'

Ripristino database:

Per ripristinare un backup del database, avrai bisogno del criterio di controllo dell'accesso basato su tag previsto per databases:

allow group TestGroup to manage databases in compartment Compartment1 where target.resource.tag.TagNS.TagKey= 'test'

È inoltre necessario disporre delle autorizzazioni per backups, come quella mostrata qui:

allow group TestGroup to manage db-backups in compartment Compartment1 where ANY {request.permission='DB_BACKUP_INSPECT', request.permission='DB_BACKUP_CONTENT_READ'}

Crea associazione Data Guard:

La creazione di un'associazione Data Guard non è supportata utilizzando criteri basati su tag per la risorsa di destinazione.

Limitazioni del servizio Data Catalog

Oltre al criterio di controllo dell'accesso basato su tag previsto per le risorse Data Catalog, per data-catalog-family saranno necessari i criteri aggiuntivi riportati di seguito.

allow group resource_managers to read data-catalog-family in tenancy where request.operation = 'GetWorkRequest'
allow group resource_managers to read data-catalog-family in tenancy where request.operation = 'ListWorkRequestErrors'
allow group resource_managers to read data-catalog-family in tenancy where request.operation = 'listworkrequestlogs'

Limitazioni del servizio Data Science

Oltre al criterio di controllo dell'accesso basato su tag previsto per le risorse Data Science, sarà necessario un criterio che consenta di gestire le autorizzazioni per data-science-work-requests.

Di seguito è riportato un criterio di esempio con autorizzazioni aggiuntive:

allow group TestGroup to manage data-science-work-requests in compartment Compartment1

Limitazioni dell'assistente digitale

Servizio Tipo di risorsa Autorizzazioni non supportate con la variabile dei criteri target.resource.tag
Digital Assistant oda-design

Tutte le autorizzazioni

 
oda-insights Tutte le autorizzazioni

Oltre al criterio di controllo dell'accesso basato su tag previsto per le risorse Oracle Digital Assistant, saranno necessari i criteri aggiuntivi riportati di seguito per oda-instances.

allow group TestGroup to inspect oda-instances in compartment Compartment1
allow group TestGroup to read oda-instances in compartment Compartment1 request.operation = 'GetWorkRequest'
allow group TestGroup to read oda-instances in compartment Compartment1 request.operation = 'ListWorkRequestErrors'
allow group TestGroup to read oda-instances in compartment Compartment1 request.operation = 'listworkrequestlogs'

Limitazioni del servizio di bilanciamento del carico

Scenari che richiedono criteri aggiuntivi:

Aggiorna load balancer:

Per eseguire qualsiasi aggiornamento dei load balancer, oltre al criterio di controllo dell'accesso basato su tag previsto per load-balancers:

allow group TestGroup to manage load-balancers in compartment Compartment1 where target.resource.tag.TagNS.TagKey= 'test'

Avrai bisogno di un criterio che consenta l'operazione API GetWorkRequest. Di seguito è riportato un criterio di esempio con l'autorizzazione aggiuntiva:

allow group TestGroup to read load-balancers in compartment Compartment1 where request.operation = 'GetWorkRequest'
network-security-group

Elimina load balancer:

Per eliminare un load balancer, oltre al criterio di controllo dell'accesso basato su tag previsto per load-balancers, subnets e network-security-group:

allow group TestGroup to manage load-balancers in compartment Compartment1 where target.resource.tag.TagNS.TagKey= 'test'
allow group TestGroup to use subnets in compartment Compartment1 where target.resource.tag.TagNS.TagKey= 'test'
allow group TestGroup to use network-security-group in compartment Compartment1 where target.resource.tag.TagNS.TagKey= 'test'

Sono necessarie queste autorizzazioni aggiuntive per vnics :

allow group TestGroup to use vnics in compartment Compartment1 where ANY {request.permission = 'VNIC_DETACH', request.permission = 'VNIC_DELETE', request.permission='VNIC_DISASSOCIATE_NETWORK_SECURITY_GROUP'}

Limitazioni per i servizi di networking

Servizio Tipo di risorsa Autorizzazioni non supportate con la variabile dei criteri target.resource.tag Note
Networking private-ips

PRIVATE_IP_UPDATE

PRIVATE_IP_DELETE

VNIC_UNASSIGN

SUBNET_DETACH

 
route-tables AGGIORNA (INTERNET_GATEWAY_DETACH) La rimozione di una regola di instradamento non è supportata.
vnics

VNIC_UPDATE

VNIC_DELETE

 

Collega gateway di servizio o gateway NAT a una tabella di instradamento:

Il collegamento di un gateway di servizi o di un gateway NAT a una tabella di instradamento non è supportato mediante criteri basati su tag nella risorsa di destinazione.

Scenari che richiedono criteri aggiuntivi:

Collega DRG a VCN:

Per collegare il gateway DRG alla rete VCN, oltre al seguente criterio di controllo dell'accesso basato su tag previsto per virtual-network-family e vcns:


			allow group TestGroup to use virtual-network-family in compartment Compartment1 where target.resource.tag.TagNS.TagKey = 'test'

Avrai bisogno di un criterio che ti consenta le autorizzazioni manage per drgs. Di seguito è riportato un criterio di esempio con le autorizzazioni aggiuntive.

allow group TestGroup to manage drgs in compartment Compartment1

Limitazioni di NoSQL Database Cloud Service

Le risorse supportate sono: nosql-tables, nosql-rows e nosql-indexes.

Oltre al criterio di controllo dell'accesso basato su tag previsto per le risorse NoSQL Database Cloud, saranno necessari i criteri aggiuntivi riportati di seguito.

allow group TestGroup to read nosql-tables in compartment Compartment1 where request.operation='ListWorkRequests'
allow group TestGroup to read nosql-tables in compartment Compartment1 where request.operation='ListWorkRequestErrors'
allow group TestGroup to read nosql-tables in compartment Compartment1 where request.operation='ListWorkRequestLogs'

Tenere presente che i criteri precedenti sono necessari per navigare tra le risorse di NoSQL Database Cloud nella console.

Limitazioni del servizio di storage degli oggetti

Servizio Tipo di risorsa Autorizzazioni non supportate con la variabile dei criteri target.resource.tag Note
Storage degli oggetti objects Tutte le autorizzazioni relative all'accesso a objects Gli oggetti non possono essere contrassegnati.
Nota

L'accesso agli oggetti può essere gestito utilizzando le tag nel bucket a cui appartengono gli oggetti. Utilizzare la variabile dei criteri target.bucket.tag. Consulta la sezione relativa alla autorizzazione degli utenti a scrivere oggetti nei bucket di storage degli oggetti.

Limitazioni DNS pubbliche

Oltre al criterio di controllo dell'accesso basato su tag previsto per le risorse dns, sarà necessario disporre di un criterio che consenta le autorizzazioni manage per dns-records. Di seguito è riportato un criterio di esempio con le autorizzazioni aggiuntive.

allow group TestGroup to manage dns-records in compartment Compartment1

Limiti dello spazio di nomi di applicazione di tag

I criteri che concedono a un utente l'accesso a uno spazio di nomi tag basato su una tag nello spazio di nomi non consentono all'utente di creare o eliminare definizioni chiavi di tag in tale spazio di nomi tag.

Ad esempio, il criterio:

allow group TestGroup to manage tag-namespaces in compartment Compartment1 where target.resource.tag.TagNS.TagKey='test'

non consente agli utenti in TestGroup di creare o eliminare le definizioni delle chiavi di tag negli spazi di nomi tag contrassegnati con TagNS.TagKey='test'.

Limitazioni WAF

Oltre al criterio di controllo dell'accesso basato su tag previsto per le risorse WAF, sarà necessario disporre di un criterio che consenta di gestire le autorizzazioni per waas-work-request. Di seguito è riportato un criterio di esempio con le autorizzazioni aggiuntive.

allow group TestGroup to manage waas-work-request in compartment Compartment1

Esempi illustrati

Esempio di utilizzo di tag applicate a un gruppo

Di seguito viene riportato un esempio che dimostra come utilizzare le tag applicate ai gruppi di utenti per gestire l'accesso alle risorse in un compartimento.

Si supponga di disporre di tre compartimenti: ProjectA, ProjectB e ProjectC

Compartimenti ProjectA, ProjectB, ProjectC

Per ogni compartimento è stato impostato un gruppo di amministratori: A-Admins, B-Admins e C-Admins.

Ogni gruppo di amministratori dispone dell'accesso completo al proprio compartimento tramite i criteri riportati di seguito.

  • allow group A-Admins to manage all-resources in compartment ProjectA
  • allow group B-Admins to manage all-resources in compartment ProjectB
  • allow group C-Admins to manage all-resources in compartment ProjectC

Compartimenti ProjectA, ProjectB, ProjectC con gruppi e criteri di amministrazione associati

L'organizzazione ha impostato lo spazio di nomi e la chiave di tag seguenti per contrassegnare ogni gruppo in base al proprio ruolo:

  • EmployeeGroup.Role

Alcuni valori per questa tag sono 'Admin', 'Developer', 'Test-Engineer'.

Tutti i gruppi di amministratori sono contrassegnati con EmployeeGroup.Role='Admin'

Gruppi di amministrazione con la tag EmployeeGroup.Role='Admin' applicata

Ora si desidera impostare un compartimento di test per i membri dei tre progetti da condividere. Si desidera concedere all'amministratore l'accesso a tutti e tre i gruppi di amministratori esistenti. A tale scopo, è possibile scrivere un criterio come:

allow any-user to manage all-resources in compartment Test where request.principal.group.tag.EmployeeGroup.Role='Admin'

Compartimento di test con criterio basato su tag

Con questo criterio, tutti i gruppi di amministrazione esistenti con la tag avranno accesso al compartimento di test. Inoltre, qualsiasi gruppo nuovo o esistente al quale applicare le tag EmployeeGroup.Role='Admin' in futuro avrà accesso al compartimento di test senza dover aggiornare le istruzioni dei criteri.

Esempio di utilizzo di tag applicate a una risorsa di destinazione

In questo esempio, ogni compartimento di progetto dell'organizzazione contiene due compartimenti figlio: Test e Prod. Si desidera consentire ai tecnici di test di accedere ai compartimenti di test in tutti e tre i progetti. A tale scopo, si crea un tag:

ResourceGroup.Role='Test'

e applicarla ai compartimenti di test in ogni compartimento del progetto.

Tre progetti ciascuno con un compartimento di test contrassegnato con ResourceGroup.Role='Test'

È quindi possibile utilizzare un criterio come:

allow group Testers to use all-resources in tenancy where target.resource.compartment.tag.ResourceGroup.Role='Test'

per consentire al tuo gruppo Testers di accedere alle risorse in tutti e tre i compartimenti di test.