Nota
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriverti a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Approfondisci i criteri di Oracle Cloud Infrastructure Identity and Access Management basati su tag
Introduzione
I criteri di Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) sono la pietra angolare di un ambiente cloud solido e sicuro. Forniscono un meccanismo potente e flessibile per controllare l'accesso alle risorse OCI, assicurando che solo gli utenti e i servizi autorizzati possano eseguire azioni specifiche sulle risorse designate.
Alla base, un criterio IAM OCI è un set di istruzioni dichiarative scritte in una sintassi leggibile che impone a chi può accedere a cosa e in con quali condizioni. Questi criteri consentono alle organizzazioni di applicare il principio del privilegio minimo, concedendo agli utenti e ai servizi solo le autorizzazioni necessarie per eseguire i task e altro ancora. Ciò riduce al minimo i rischi per la sicurezza mantenendo l'efficienza operativa.
I criteri IAM OCI vengono applicati a vari livelli della gerarchia OCI, inclusi compartimenti, tenancy e risorse specifiche, rendendoli altamente adattabili a strutture organizzative complesse. Grazie all'ereditarietà dei criteri e alla compartimentazione di OCI, gli amministratori possono stabilire controlli granulari personalizzati in base ai requisiti specifici di sicurezza e operativi. Per ulteriori informazioni sui criteri OCI, vedere Guida introduttiva ai criteri.
In questo tutorial, analizzeremo l'importanza dell'ottimizzazione delle politiche, esploreremo le best practice per perfezionare le politiche per ottenere risultati ottimali ed evidenzieremo scenari in cui l'ottimizzazione delle politiche può essere sfruttata al massimo del suo potenziale.
Obiettivi
-
Demistifica componenti e sintassi dei criteri.
-
Scopri perché il tuning dei criteri IAM OCI è fondamentale per la scalabilità e i limiti dei criteri.
-
Offri best practice da cui intraprendere azioni.
-
Sottolinea il ruolo dell'applicazione di tag nella gestione delle politiche.
-
Evidenzia le sfide e le soluzioni comuni mostrando casi d'uso reali.
Prerequisiti
-
Accesso a una tenancy OCI.
-
Comprensione di base dei concetti OCI.
-
Conoscenza di OCI IAM.
-
Familiarità con la sintassi dei criteri.
-
Comprensione delle nozioni di base relative alla compartimentazione e all'applicazione di tag.
-
Consapevolezza del principio del minimo privilegio.
-
I criteri OCI limitano la conoscenza.
-
Esperienza con gli standard di governance e compliance.
Demistifica componenti e sintassi dei criteri
Per ottimizzare in modo efficace i criteri IAM OCI, è essenziale comprenderne la struttura e i componenti chiave. I criteri in OCI definiscono le autorizzazioni specificando chi (principal), cosa (action) su cosa (resource) e dove (scope). Analizziamo in dettaglio:
Componenti chiave di un criterio IAM OCI
-
Principale (oggetto): l'entità che richiede l'accesso, che può essere una delle seguenti:
-
Utente: un singolo account all'interno di OCI, in genere che rappresenta una persona. Per ulteriori informazioni, vedere Gestione degli utenti.
-
Gruppo: una raccolta di utenti con esigenze di accesso condiviso. Per ulteriori informazioni, vedere Utilizzo dei gruppi.
-
Gruppo dinamico: un set di risorse OCI (ad esempio, istanze di computazione e funzioni) identificate da regole specifiche. Le risorse in un gruppo dinamico vengono raggruppate automaticamente in base a criteri quali tag o metadati. Per ulteriori informazioni, vedere Gestione dei gruppi dinamici.
-
Resource Principal: un servizio (come OCI Functions o Oracle Autonomous Database) che agisce per conto proprio. I principal delle risorse consentono ai servizi di eseguire l'autenticazione sicura con OCI e altre risorse senza richiedere credenziali esplicite. Per ulteriori informazioni, vedere Autenticazione principal risorsa.
-
Principal istanza: tipo di principal risorsa specifico per le istanze di computazione. Consente alle istanze di interagire direttamente con i servizi OCI (ad esempio, OCI Object Storage o Identity) utilizzando i criteri IAM OCI, senza incorporare le credenziali nell'applicazione in esecuzione nell'istanza. Per ulteriori informazioni, vedere Principali delle istanze.
-
-
Azione (Verb): specifica le operazioni che il principal può eseguire:
inspect
: consente di visualizzare i metadati relativi alla risorsa.read
: consente di visualizzare metadati e dati all'interno della risorsa.use
: esegue azioni di lettura e operazioni di gestione limitate.manage
: esegue tutte le azioni, inclusa la creazione e l'eliminazione delle risorse.
Per ulteriori informazioni, vedere Operazioni.
-
Risorsa (Resource-Type): definisce il tipo di risorsa OCI a cui si applica l'azione, ad esempio:
- Istanze di computazione, bucket di storage, VCN, database e così via.
- Le risorse possono essere organizzate in modo gerarchico utilizzando compartimenti per una migliore gestione.
Per ulteriori informazioni, vedere Risorse.
-
Ambito (posizione): specifica la posizione in cui si applica il criterio:
- Compartimento: contenitore logico per le risorse che consente l'organizzazione gerarchica.
- Tenancy: l'intero account OCI, in genere utilizzato per le autorizzazioni globali.
Per ulteriori informazioni, vedere Posizione.
-
Regola di corrispondenza (condizioni): specificare una o più condizioni. Utilizzare any o all con più condizioni per un OR logico o AND, rispettivamente.
- Sintassi per una singola condizione:
variable =|!= value
. - Sintassi per più condizioni:
any|all {<condition>,<condition>,...}
.
Per ulteriori informazioni, vedere Condizioni.
- Sintassi per una singola condizione:
Suggerimento bonus: Informazioni sui set - Interrompere il concetto nei criteri IAM OCI
I set-intersezione nei criteri IAM OCI vengono utilizzati per concedere l'accesso solo quando si verifica una sovrapposizione tra due set di valori. Ciò garantisce che le autorizzazioni vengano concesse in modo dinamico in base all'appartenenza al gruppo, alle tag delle risorse o ad altri attributi, invece di codificare utenti o gruppi specifici nei criteri.
-
Esempio di set - Interrompi nel criterio IAM OCI
Allow any-user to manage database-family-resources in tenancy where sets-intersect(request.groups.name, target.resource.compartment.tag.database.admins)
Analisi dell'istruzione criterio:
-
Consenti qualsiasi utente: questo criterio si applica a qualsiasi utente autenticato in OCI (indipendentemente dall'appartenenza a un gruppo specifico).
-
per gestire le risorse della famiglia di database: concede il controllo amministrativo completo su tutte le risorse correlate al database (database autonomi, sistemi di database, backup e così via).
-
nella tenancy: il criterio si applica all'intera tenancy (tutti i compartimenti).
-
dove sets-intersect(
request.groups.name
,target.resource.compartment.tag.database.admins
)request.groups.name
: rappresenta i gruppi ai quali appartiene l'utente.target.resource.compartment.tag.database.admins
: tag nel compartimento che contiene una lista di gruppi consentiti in grado di gestire le risorse di database in tale compartimento.- sets-intersect(...): garantisce che l'accesso venga concesso solo se l'utente appartiene ad almeno un gruppo elencato nella tag.
-
Modello di criteri IAM OCI per larga scala
I criteri IAM OCI sono una delle parti fondamentali della protezione dei carichi di lavoro su OCI. È fondamentale essere in grado di scalare e supportare un grande carico di lavoro per i nostri clienti. Ecco perché abbiamo creato un modello criteri che richiede un numero ridotto di criteri, entro i limiti dei criteri di OCI, che funzionano per qualsiasi dimensione del carico di lavoro. Di seguito sono riportati alcuni dei motivi per adottare il modello criteri scalabile. Per ulteriori informazioni, vedere IAM con limiti dei domini di Identity.
Il tuning dei criteri IAM OCI è un task fondamentale per mantenere un ambiente cloud sicuro, scalabile ed efficiente pur rispettando i limiti dei criteri di OCI. Ecco perché questo processo è essenziale:
-
Limiti e vincoli dei criteri: OCI applica limiti specifici al numero di criteri che possono essere creati all'interno di una tenancy e di compartimenti. Questi limiti possono essere rapidamente eliminati in ambienti su larga scala o complessi se i criteri non sono ottimizzati.
-
Le ragioni principali sono:
- Evita la ridondanza: la definizione ripetuta di criteri simili per compartimenti o risorse diversi può portare a un blocco dei criteri, rendendo più difficile la gestione.
- Rimani entro i limiti dei criteri OCI: OCI dispone di un numero massimo di istruzioni dei criteri per ogni criterio e per ogni tenancy. Il tuning garantisce di non superare prematuramente questi limiti.
-
-
Miglioramento della gestibilità: man mano che le organizzazioni crescono, la gestione di centinaia di criteri in più compartimenti può diventare ingombrante senza tuning. Criteri ottimizzati:
- Semplifica la gestione riducendo il numero totale di policy.
- Migliora la chiarezza ed evita regole sovrapposte o in conflitto, semplificando il debug e l'audit.
-
Scalabilità in ambienti complessi: i criteri ottimizzati consentono una scalabilità trasparente in base a:
- Utilizzare i caratteri jolly e le autorizzazioni a livello di risorsa, ove appropriato, per ridurre la necessità di regole specifiche del compartimento o delle risorse. Per ulteriori informazioni, vedere Condizioni.
- Sfruttare l'ereditarietà dei criteri in modo che i criteri di livello superiore si applichino ai compartimenti figlio senza la necessità di istruzioni duplicate. Per ulteriori informazioni, vedere Eredità dei criteri.
- Raggruppamento logico di utenti e risorse per applicare autorizzazioni più ampie ma ancora sicure.
-
Ottimizzazione delle prestazioni: OCI valuta i criteri durante ogni richiesta di accesso. Un gran numero di politiche ridondanti o eccessivamente specifiche può aumentare i tempi di valutazione, portando potenzialmente a decisioni di controllo dell'accesso più lente. Politiche ottimizzate riducono il carico di lavoro, garantendo operazioni più veloci ed efficienti.
-
Aderenza al principio del privilegio minimo: durante il tuning per la scalabilità, è fondamentale mantenere il principio del privilegio minimo. Politiche ampie e non controllate possono compromettere la sicurezza, quindi è essenziale trovare un equilibrio tra accesso minimo e scalabilità.
Il ruolo dell'applicazione di tag nella gestione dei criteri
L'applicazione di tag è una funzione potente in OCI che migliora notevolmente la gestione dei criteri abilitando il controllo dettagliato delle risorse. Le tag sono etichette di metadati, rappresentate come coppie chiave-valore, che possono essere collegate alle risorse. Aiutano a organizzare, gestire e applicare il controllo dell'accesso su larga scala, soprattutto in ambienti cloud complessi con più team e progetti. Per ulteriori informazioni, vedere Panoramica sull'applicazione di tag.
Come l'applicazione di tag migliora la gestione dei criteri
-
Semplifica l'identificazione delle risorse: i tag forniscono un modo unificato per classificare le risorse in base ad attributi quali progetti, ambienti, proprietari o reparti. Ciò semplifica il processo di applicazione di criteri a sottoinsiemi specifici di risorse.
Esempio: l'applicazione di tag alle risorse con
Project: ProjectX
abilita i criteri di accesso mirati.Allow group Developers to manage instances in tenancy where tag.Project = 'ProjectX'
-
Abilita l'applicazione dei criteri dinamici: i criteri basati sulle tag si adattano alla modifica degli attributi delle risorse. Ad esempio, se una nuova istanza è contrassegnata con
Environment: Production
, eredita automaticamente i criteri definiti per gli ambienti di produzione.Criterio di esempio:
Allow group QA to inspect instances in tenancy where tag.Environment = 'Test'
-
Semplifica la governance multiprogetto e multi-team: i tag consentono di isolare l'accesso associando le risorse a team o progetti specifici. Ciò riduce la complessità durante la gestione delle autorizzazioni tra più gruppi.
-
Semplifica l'automazione: i tag possono guidare flussi di lavoro automatizzati per la creazione, il monitoraggio e la gestione del ciclo di vita delle risorse. Ad esempio, gli script di tracciamento dei costi possono recuperare tutte le risorse contrassegnate con CostCenter: Marketing per generare note spese dettagliate.
-
Migliora la gestione dei costi e il reporting: i tag consentono l'attribuzione granulare dei costi a progetti, reparti o ambienti specifici. Ciò consente alle organizzazioni di tenere traccia delle spese e ottimizzare i budget in modo più efficace.
Tag Governance: Controllo della gestione dei tag
Per mantenere la coerenza, l'affidabilità e la sicurezza nella gestione delle policy, la creazione e la modifica dei tag devono essere strettamente controllate. La governance garantisce che i tag vengano applicati correttamente e siano allineati agli standard organizzativi. Limitare la gestione delle tag a un set specifico di individui o gruppi è un elemento chiave per mantenere il controllo, la coerenza e la sicurezza all'interno dell'ambiente cloud di un'organizzazione.
-
Perché limitare la gestione dei tag?
L'applicazione di tag è un potente strumento per organizzare e controllare le risorse, ma se gestito in modo errato, può portare a controlli degli accessi incoerenti o non autorizzati, problemi di tracciamento dei costi e problemi di governance. Implementando criteri rigorosi su chi può gestire le tag, le organizzazioni possono garantire che solo il personale autorizzato possa creare, modificare o eliminare le tag critiche, preservando l'integrità dell'ambiente.
-
Impedisci modifiche non autorizzate: i tag sono spesso legati a processi aziendali importanti, come l'allocazione dei costi, la categorizzazione delle risorse e il controllo dell'accesso. Consentire l'accesso illimitato alle tag di modifica potrebbe portare a modifiche non autorizzate o accidentali, che potrebbero interrompere le operazioni o comportare l'allocazione errata delle risorse.
-
Garantire standard di applicazione tag coerenti: le organizzazioni traggono vantaggio dagli schemi di applicazione di tag standardizzati che consentono di organizzare le risorse e semplificare il tracciamento. Limitando la gestione dei tag a un gruppo definito di amministratori, le organizzazioni possono garantire il rispetto di questi standard, prevenendo la frammentazione e l'incongruenza nelle pratiche di applicazione dei tag.
-
Mantieni sicurezza e conformità: è possibile utilizzare le tag per applicare criteri di sicurezza e requisiti di conformità. Ad esempio, le tag possono definire ambienti (ad esempio, Produzione, Sviluppo) o classificazioni di dati riservati. Consentire solo agli utenti autorizzati di modificare queste tag garantisce la protezione degli ambienti riservati e l'applicazione corretta dei controlli dell'accesso.
-
Riduci il rischio di errata configurazione dei criteri: i criteri basati su tag in OCI (come il controllo dell'accesso alle risorse) dipendono dall'uso coerente e accurato delle tag. Se il gruppo o la persona sbagliata può modificare o eliminare le tag, potrebbe inavvertitamente causare criteri di accesso troppo ampi o restrittivi.
-
-
Come limitare la gestione delle tag in OCI
In OCI, la gestione delle tag può essere controllata creando e applicando criteri IAM OCI che definiscono chi può eseguire operazioni sulle tag, come la creazione, l'aggiornamento o l'eliminazione di tag. Questi criteri possono essere personalizzati per concedere l'accesso a utenti, gruppi o compartimenti specifici, garantendo che solo le persone autorizzate abbiano il potere di modificare le tag critiche.
Ecco alcuni modi per limitare la gestione dei tag a individui o gruppi specifici:
-
Usa controllo dell'accesso basato su gruppo: il primo passo per controllare la gestione delle tag consiste nel garantire che vengano concesse solo a gruppi specifici le autorizzazioni necessarie per gestire le tag. Ad esempio, a un gruppo designato come
TagAdmins
possono essere concesse autorizzazioni esclusive per gestire la creazione e gli aggiornamenti delle tag.Criteri IAM OCI di esempio:
Allow group TagAdmins to manage tag-namespaces in tenancy
Questo criterio garantisce che solo il gruppo
TagAdmins
possa creare, modificare o eliminare tag e spazi di nomi tag nell'intera tenancy. Per consentire ai gruppi come i tecnici devops o i gruppi Terraform Runner di utilizzare queste tag create tramite la console per gli script, è possibile definire il criterio riportato di seguito.Allow group devopsTeam to use tag-namespaces in tenancy Allow group terraformRunner to use tag-namespaces in tenancy Allow dynamic-group terraformRunner to use tag-namespaces in tenancy
-
Usa criteri a livello di compartimento per il controllo granulare: i criteri di gestione delle tag possono essere applicati a livello di compartimento, pertanto solo determinati compartimenti dispongono dell'accesso alla gestione delle tag. Ad esempio, se si desidera limitare la gestione delle tag a un progetto o a una business unit specifica, è possibile applicare criteri che limitano l'accesso alle tag all'interno del compartimento pertinente.
Criterio di esempio per la gestione delle tag specifiche del compartimento:
Allow group TagAdmins to manage tag-namespaces in compartment ProjectA
Ciò garantisce che solo gli utenti del gruppo
TagAdmins
possano gestire le tag all'interno del compartimentoProjectA
, limitando l'accesso ad altri compartimenti. Inoltre, è possibile creare gruppi per consentire solo agli utenti di utilizzare le tag create, ma non modificarle a livello di compartimento.Allow group TagUser to use tag-namespaces in compartment ProjectA
-
Applicazione di tag al controllo con spazi di nomi tag: OCI supporta
tag namespaces
, che raggruppa le tag correlate. Puoi controllare chi può gestire le tag all'interno di uno specifico spazio di nomi, il che consente un controllo più granulare su chi ha accesso a tipi specifici di tag.Criteri di esempio per la gestione delle tag specifiche dello spazio di nomi:
Allow group TagAdmins to manage tag-namespaces in tenancy where tag.namespace = 'Billing'
Ciò garantisce che solo gli utenti con autorizzazioni
TagAdmins
possano gestire le tag all'interno dello spazio di nomi fatturazione, garantendo una governance più rigorosa per le tag di registrazione dei costi. -
Audit e monitoraggio delle modifiche alle tag: per garantire la sicurezza della gestione delle tag, le organizzazioni devono implementare criteri di controllo e monitoraggio per tenere traccia delle modifiche apportate alle tag. I log di audit di OCI forniscono visibilità sulle azioni correlate alla creazione, all'eliminazione e alla modifica delle tag. Il monitoraggio di questi log consente di identificare qualsiasi tentativo non autorizzato di modificare tag o qualsiasi pattern che suggerisca una cattiva gestione.
-
Criteri IAM OCI basati su tag per casi d'uso reali
Ora con tutto ciò che hai imparato in precedenza, lavoriamo sul tuning delle policy IAM OCI per i principi utente e i principi delle istanze nei casi d'uso reali. Ma prima di farlo, ci sono alcune politiche comuni che ogni cliente richiederà indipendentemente dal suo caso d'uso.
-
Criteri IAM OCI comuni:
-
Policy IAM OCI per la gestione degli utenti: il gruppo
IAMAdmin
è responsabile della gestione delle configurazioni correlate a IAM OCI, ad esempio i domini, gli utenti e i gruppi IAM OCI.Allow group IAMAdmin to manage domains in tenancy Allow group IAMAdmin to manage users in tenancy Allow group IAMAdmin to manage groups in tenancy
-
Policy IAM OCI per la gestione delle tag: il gruppo
InfoSec
è responsabile della gestione delle configurazioni relative alla sicurezza, ad esempio i criteri IAM OCI, gli utenti e gli spazi di nomi delle tag.Allow group InfoSec to manage tag-namespaces in tenancy Allow group InfoSec to manage policies in tenancy Allow group InfoSec to use users in tenancy Allow group InfoSec to manage groups in tenancy where all {target.group.name != ‘Administrators’, target.group.name != ‘InfoSec’}
-
Policy IAM OCI per (Terraform Runner): il gruppo
terraform-runner
è dedicato all'esecuzione degli script di automazione Terraform per il provisioning dell'infrastruttura.Allow group terraform-runner to use tag-namespaces in tenancy Allow group terraform-runner to manage instance-family in compartment Tenants Allow group terraform-runner to manage virtual-network-family in compartment Tenants Allow group terraform-runner to manage volume-family in compartment Tenants Allow group terraform-runner to manage object-family in compartment Storage Allow group terraform-runner to manage secret-family in compartment Tenants Allow group terraform-runner to manage key-family in compartment Tenants
-
Ridimensiona criteri IAM OCI per i principal utente
Modello criteri OCI IAM: in questo modello criteri, l'obiettivo è scrivere un numero ridotto di criteri più gestibili che vengono informati dai dati (tag nel nostro caso), anche noti come controllo dell'accesso basato su attributi. Faremo riferimento alle tag assegnate al compartimento delle risorse di destinazione o di destinazione per il controllo dell'accesso come tag di autorizzazione.
Tag autorizzazione: definire la tag di autorizzazione per ogni combinazione Verbo (azione) + Tipo di risorsa nella tenancy. Definiscono un'autorizzazione univoca da assegnare a un gruppo di utenti per le risorse di destinazione. L'elenco non è una volta impostato e completato. Iniziare con un numero ridotto di tag di autorizzazione. Una volta ottenuto un handle sul modello criteri, è possibile aggiungere ulteriori tag di autorizzazione. Per questa esercitazione verrà creato uno spazio di nomi tag di autorizzazione come mgmt
. Inoltre, verrà creato uno spazio di nomi tag (chiameremo questo infosec
) con una chiave tag denominata gname
.
-
Per la struttura del compartimento seguente con quattro tipi di risorse e per assegnare autorizzazioni di gestione e utilizzo per tali risorse, verranno create tag di autorizzazione.
-
Per ogni autorizzazione da assegnare a una destinazione (nella maggior parte dei casi, i compartimenti), creare un gruppo. Le tag di autorizzazione vengono assegnate alle risorse (utilizzando le tag predefinite del compartimento) e ai compartimenti delle risorse. Il valore della tag è il gruppo che deve disporre dell'autorizzazione specificata per la risorsa di destinazione.
-
Una volta definite le tag di autorizzazione, è possibile scrivere i criteri. Il risultato finale è che sarà necessario un solo criterio per ogni tag di autorizzazione definito nella tenancy. Lo stesso criterio per l'autorizzazione specificata funzionerà nell'intera tenancy.
-
Quando inseriamo più carichi di lavoro, se ci sono più tipi di risorse da gestire, potrebbe essere necessario aggiungere ulteriori tag e criteri di autorizzazione per tali tag di autorizzazione. In caso contrario, è sufficiente assegnare tag di autorizzazione esistenti al nuovo carico di lavoro con un gruppo di utenti che devono disporre dell'accesso. Non è necessario scrivere nuovi criteri per il nuovo carico di lavoro.
Questo approccio rimarrà coerente in tutti gli esempi discussi qui, fungendo da base per la definizione dei gruppi e dei criteri IAM OCI.
Esempio 1: compartimento per ogni applicazione
Passo 1: ottenere una comprensione completa della panoramica aziendale del cliente
CompanyA è un'azienda tecnologica in crescita che sviluppa e distribuisce più applicazioni cloud native per i propri clienti. Ogni applicazione si rivolge a un segmento di clienti specifico, con severi requisiti di sicurezza e conformità. Per garantire isolamento, scalabilità e controllo dell'accesso efficiente, CompanyA organizza le proprie risorse OCI utilizzando un approccio strutturato alla compartimentazione.
Passo 2: progettare la struttura del compartimento per il carico di lavoro
Come descritto, CompanyA segue il modello criteri IAM OCI per il ridimensionamento dei criteri IAM OCI. Hanno creato compartimenti separati per le loro applicazioni per mantenere l'isolamento delle risorse.
Nota: solo gli amministratori devono essere in grado di gestire lo spazio di nomi tag
mgmt
einfosec
.
Passo 3: Progettare le seguenti tag di autorizzazione di tipo Verb+Resource Combinazione
Creare gruppi in OCI.
-
Eseguire il login al dominio IAM OCI con un account di amministrazione che dispone del privilegio per creare i gruppi.
-
Andare a Identità e sicurezza e fare clic su Domini in Identità.
-
Selezionare il compartimento e fare clic sul dominio per il quale si desidera creare i gruppi.
-
Fare clic su Gruppi.
-
Definire i gruppi in base alle tag di autorizzazione. (Facoltativo) aggiungere gli utenti a tali gruppi.
Nota: sarà necessario creare gruppi per una combinazione univoca di autorizzazione e destinazione. Se lo stesso gruppo funzionale di utenti (NetworkAdmin) richiede l'accesso per gestire la rete in tutte le destinazioni, è necessario un solo gruppo per gestire l'accesso in tutte le destinazioni.
Di seguito sono riportate le tag di autorizzazione e i gruppi IAM OCI per tali tag. Attenersi alla procedura precedente per creare gruppi per ciascuna tag di autorizzazione definita.
-
Compartimento radice: il compartimento radice funge da livello di gestione di livello superiore. Dove avremo i nostri gruppi di amministratori contrassegnati con tag di autorizzazione. Di seguito sono riportate le tag.
- Amministratori: autorizzazione
manageall
per la gestione complessiva della tenancy. - UseAdministrators: autorizzazione
useall
per l'accesso alle risorse nella tenancy. - Auditor: autorizzazione
readall
con accesso in sola lettura alle risorse per il monitoraggio in tutta la tenancy.
- Amministratori: autorizzazione
-
Modello di compartimento per applicazione: CompanyA dispone di più applicazioni basate su cloud. Verrà creato un compartimento padre separato per ogni applicazione. Esaminiamo come questo modello si applica all'applicazione 1 (App1) e all'applicazione 2 (App2) come compartimenti padre.
-
Applicazione 1 (App1): un'applicazione rivolta al cliente ospitata su OCI.
- Compartimento di rete: compartimento per tutte le risorse correlate alla rete, ad esempio VCN, subnet e così via. Ora, consente di creare le tag di autorizzazione e i rispettivi gruppi IAM OCI.
- App1NetworkAdmin: tag di autorizzazione delle risorse
managenetwork
per i tecnici che gestiscono le risorse di rete per App1. - App1NetworkUser: la tag di autorizzazione delle risorse
usenetwork
per gli sviluppatori che necessitano di un accesso limitato alle configurazioni di rete di App1. - App1NetworkReader: tag di autorizzazione delle risorse
readnetwork
per gli auditor che verificano l'impostazione di rete di App1.
- App1NetworkAdmin: tag di autorizzazione delle risorse
- Compartimento di computazione: compartimento per le istanze di computazione. Ora, consente di creare le tag di autorizzazione e i rispettivi gruppi IAM OCI.
- App1ComputeAdmin: tag di autorizzazione delle risorse
managecompute
per gli amministratori di sistema che eseguono il provisioning e il ridimensionamento delle istanze di computazione per il backend App1. - App1ComputeUser: tag di autorizzazione delle risorse
usecompute
per gli sviluppatori che distribuiscono e testano i servizi backend di App1. - App1ComputeReader: tag di autorizzazione delle risorse
readcompute
per gli auditor che monitorano l'uso delle risorse di computazione per App1.
- App1ComputeAdmin: tag di autorizzazione delle risorse
- Compartimento dati: compartimento per le risorse correlate al database e allo storage. Ora, consente di creare le tag di autorizzazione e i rispettivi gruppi IAM OCI.
- App1DataAdmin: tag di autorizzazione delle risorse
managedb
per gli amministratori di database che gestiscono Oracle Autonomous Databases e OCI Object Storage per App1. - App1DataUser: tag di autorizzazione delle risorse
usedb
per i data scientist che accedono ai set di dati per l'analisi in relazione a App1. - App1DataReader: tag di autorizzazione delle risorse
readdb
per gli auditor che esaminano le configurazioni del database di App1.
- App1DataAdmin: tag di autorizzazione delle risorse
- Compartimento di rete: compartimento per tutte le risorse correlate alla rete, ad esempio VCN, subnet e così via. Ora, consente di creare le tag di autorizzazione e i rispettivi gruppi IAM OCI.
-
Applicazione 2 (App2): sistema ERP (Enterprise Resource Planning) interno per le operazioni dell'azienda.
Nota: anche in questo caso, seguiremo lo stesso approccio alla struttura del compartimento e creeremo compartimento di rete, compartimento di computazione e compartimento dati nel compartimento App2 padre. Per evitare la ridondanza, prenderemo nota delle tag di autorizzazione e dei gruppi IAM OCI per App2.
-
Compartimento rete:
- App2NetworkAdmin: tag di autorizzazione delle risorse
managenetwork
. - App2NetworkUser: tag di autorizzazione delle risorse
usenetwork
. - App2NetworkReader: tag di autorizzazione delle risorse
readnetwork
.
- App2NetworkAdmin: tag di autorizzazione delle risorse
-
Compartimento di computazione:
- App2ComputeAdmin: tag di autorizzazione delle risorse
managecompute
. - App2ComputeUser: tag di autorizzazione delle risorse
usecompute
. - App2ComputeReader: tag di autorizzazione delle risorse
readcompute
.
- App2ComputeAdmin: tag di autorizzazione delle risorse
-
Compartimento dati:
- App2DataAdmin: tag di autorizzazione delle risorse
managedb
. - App2DataUser: tag di autorizzazione delle risorse
usedb
. - App2DataReader: tag di autorizzazione delle risorse
readdb
.
- App2DataAdmin: tag di autorizzazione delle risorse
-
-
Nota: applicare una tag di autorizzazione a una destinazione (la destinazione può essere una risorsa o un compartimento) per stabilire quale gruppo disporrà dell'autorizzazione specifica per la destinazione per App1 e App2.
Passo 4: scrivere i criteri IAM OCI per tali tag di autorizzazione
I criteri per CompanyA verranno creati utilizzando lo stesso approccio descritto qui: Have less be More - Scalabilità dei criteri IAM OCI per i gruppi. Per questo motivo, creare uno spazio di nomi tag (chiameremo questo infosec
) con una chiave tag denominata gname
.
-
Eseguire il login al dominio IAM OCI con un account di amministrazione che dispone del privilegio per creare i criteri.
-
Andare a Identità e sicurezza e fare clic su Criteri in Identità.
-
Selezionare il compartimento radice, quindi fare clic su Crea criterio.
-
Immettere Nome, Descrizione per il criterio e aggiungere anche Istruzioni criteri. Fare clic su Crea.
-
Criterio di tutte le risorse:
Allow any-user to manage all-resources in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.manageall) Allow any-user to use all-resources in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.useall) Allow any-user to read all-resources in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readall)
Nota: seguire la stessa procedura per definire tutti i criteri indicati di seguito e aggiungere le rispettive istruzioni dei criteri.
-
Criteri Cloudguard:
Allow any-user to manage cloud-guard-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managecspm) Allow any-user to use cloud-guard-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.usecspm) Allow any-user to read cloud-guard-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readcspm)
-
Criteri di rete:
Allow any-user to manage virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managenetwork) Allow any-user to use virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.useetwork) Allow any-user to read virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readnetwork)
-
Criterio di computazione:
Allow any-user to manage instance-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managecompute) Allow any-user to use instance-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.usecompute) Allow any-user to read instance-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readcompute)
-
Criterio database:
Allow any-user to manage database-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managedb) Allow any-user to use database-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.usedb) Allow any-user to read database-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readdb)
-
Esempio 2: compartimento per ogni cliente/tenant
Passo 1: ottenere una comprensione completa della panoramica aziendale del cliente
CompanyB Solutions è un ISV (Independent Software Vendor) leader del settore che fornisce applicazioni SaaS basate su tenant nell'infrastruttura cloud, nella gestione dei dati e negli analytics. CompanyB serve più clienti in tutti i settori, offrendo soluzioni trasparenti, sicure e scalabili. Il loro successo dipende dall'utilizzo di OCI con una struttura compartimentale ben progettata per gestire le risorse in modo efficiente, rispettando al contempo i requisiti di sicurezza e compliance.
Passo 2: progettare la struttura del compartimento per il carico di lavoro
CompanyB ha isolato i carichi di lavoro per i propri clienti e ha creato un compartimento secondario dedicato. Inoltre, dispongono di un compartimento di rete, di storage condiviso e di un compartimento di database. Anche CompanyB segue il modello criteri IAM OCI per il ridimensionamento dei criteri IAM OCI.
Passo 3: Progettare seguendo le tag di autorizzazione di tipo Verb+Resource Combinazione
Per creare gruppi, vedere Esempio 1 Passo 3. Sarà necessario creare gruppi per tutte le tag di autorizzazione definite di seguito.
-
Compartimento radice - Governance centralizzata: il componente radice funge da livello centrale per la supervisione di tutte le risorse e le attività nella tenancy OCI. Dove avremo i nostri gruppi di amministratori contrassegnati con tag di autorizzazione. Di seguito sono riportate le tag.
- Amministratori: autorizzazione
manageall
per la gestione complessiva della tenancy. - UseAdministrators: autorizzazione
useall
per l'accesso alle risorse nella tenancy. - Auditor: autorizzazione
readall
con accesso in sola lettura alle risorse per il monitoraggio in tutta la tenancy.
- Amministratori: autorizzazione
-
Compartimento di rete - Backbone of Operations: il compartimento di rete supporta l'infrastruttura di cloud networking di CompanyB, abilitando la connettività tra tutte le risorse. Sono incluse le reti cloud virtuali (VCN), le subnet, i gateway e i load balancer. Definiamo le tag di autorizzazione e i relativi gruppi IAM OCI.
- NetworkAdmin: tag di autorizzazione delle risorse
managenetwork
per i tecnici che gestiscono le risorse di rete per CompanyB. - NetworkUser: tag di autorizzazione delle risorse
usenetwork
per gli sviluppatori che necessitano di un accesso limitato alle configurazioni di rete di CompanyB. - NetworkReader: tag di autorizzazione delle risorse
readnetwork
per gli auditor che verificano l'impostazione di rete di CompanyB.
- NetworkAdmin: tag di autorizzazione delle risorse
-
Compartimento tenant - Compartimenti isolati per carichi di lavoro dei clienti diversi: il compartimento dei tenant è strutturato per isolare le risorse e i carichi di lavoro per ogni client (tenant). Ciò garantisce che CompanyB offra servizi sicuri e privati pur mantenendo l'efficienza operativa.
-
Compartimento tenant 1: il tenant 1 rappresenta un importante client enterprise che utilizza CompanyB per i servizi di sviluppo e registrazione delle applicazioni. Di seguito sono riportate le tag di autorizzazione e i rispettivi gruppi IAM OCI.
t1devadmin
: l'autorizzazione delle risorsemanageappdev
per il team di sviluppo per il tenant 1 dispone dei privilegi amministrativi per configurare e distribuire applicazioni personalizzate.t1devuser
: l'autorizzazione risorsauseappdev
per monitorare e regolare le risorse dell'applicazione. Gli sviluppatori del tenant 1 utilizzano queste risorse per lo sviluppo e il test quotidiani.t1logsadmin
et1devuser
: l'autorizzazione delle risorsemanagelogs
euselogs
per i ruoli di registrazione e monitoraggio garantisce che gli amministratori configurino i servizi di registrazione mentre i log degli accessi degli sviluppatori eseguano il debug e l'ottimizzazione delle applicazioni.t1devadmin
et1devuser
: le autorizzazioni delle risorsemanagecspm
eusecspm
per il tenant 1 si concentrano anche sulle impostazioni di sicurezza, con la possibilità di monitorare e correggere i rischi per la sicurezza.
-
Tenant 2 and Tenant 3 Compartments: The structure for Tenant 2 and Tenant 3 mirrors that of Tenant 1, with roles like
t2devadmin
,t2devuser
,t3devadmin
,t3devuser
,t2logsadmin
andt3logsadmin
ensuring that each tenant operates in a fully isolated environment. Questo approccio consente a CompanyB di mantenere una governance coerente, soddisfacendo al contempo le esigenze specifiche dei tenant. -
Compartimento condiviso - Risorse centralizzate per tutti i tenant: il compartimento condiviso include risorse quali database e storage degli oggetti che più tenant utilizzano, ma rimangono logicamente separate per privacy e sicurezza.
- Compartimento del database:
dbadmin
: l'autorizzazione delle risorsemanagedb
per gli amministratori di database dell'azienda gestisce i database condivisi utilizzati da tutti i tenant, inclusi provisioning, ridimensionamento e applicazione di patch.dbuser
: l'autorizzazione risorsausedb
per gli utenti specifici del tenant accede ai rispettivi schemi o servizi di database.dbreader
: l'autorizzazione delle risorsereaddb
per gli auditor dispone dell'accesso in sola lettura per garantire che le configurazioni del database siano conformi ai criteri di sicurezza.
- Compartimento di storage: lo storage degli oggetti OCI viene gestito centralmente, con bucket dedicati per ogni tenant:
osadmin
: autorizzazione di risorsamanageobject
responsabile della gestione delle risorse di storage degli oggetti condivisi.osuser
:useobject
l'autorizzazione delle risorse di storage specifiche del tenant (o, ad esempio,t1osur
,t2osur
,t3osur
) garantisce che i tenant accedano solo ai rispettivi bucket.osreader
: l'autorizzazione delle risorsereadobject
per i team di conformità esamina le configurazioni di storage e i pattern di utilizzo.
- Compartimento del database:
-
Passo 4: scrivere i criteri IAM OCI per tali tag di autorizzazione
Per creare criteri, vedere Esempio 1 Passo 4. Sarà necessario creare i criteri seguenti.
-
Criterio di tutte le risorse:
Allow any-user to manage all-resources in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.manageall) Allow any-user to use all-resources in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.useall) Allow any-user to read all-resources in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readall)
-
Criteri Cloudguard:
Allow any-user to manage cloud-guard-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managecspm) Allow any-user to use cloud-guard-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.usecspm) Allow any-user to read cloud-guard-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readcspm)
-
Criteri di rete:
Allow any-user to manage virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managenetwork) Allow any-user to use virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.useetwork) Allow any-user to read virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readnetwork)
-
Log:
Allow any-user to manage logging-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managelogs) Allow any-user to use logging-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.uselogs) Allow any-user to read logging-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readlogs)
-
Criterio dispositivo applicazioni:
Allow any-user to manage instance-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.manageappdev) Allow any-user to use instance-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.useappdev) Allow any-user to read instance-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readappdev)
-
Criterio database:
Allow any-user to manage database-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managedb) Allow any-user to use database-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.usedb) Allow any-user to read database-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readdb)
-
Criterio di memorizzazione:
Allow any-user to manage object-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.manageobject) Allow any-user to use object-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.useobject) Allow any-user to read object-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readobject)
Esempio 3: struttura compartimento grande azienda
Passo 1: ottenere una comprensione completa della panoramica aziendale del cliente
CompanyC Solutions, un'organizzazione multinazionale specializzata in soluzioni software innovative, ha deciso di migrare i propri carichi di lavoro mission-critical su OCI. L'azienda opera in settori altamente regolamentati come finance e sanità, dove sicurezza, compliance e scalabilità sono della massima importanza.
Passo 2: progettare la struttura del compartimento per il carico di lavoro
Esaminiamo ora la struttura del compartimento per CompanyC, che segue il modello criteri IAM OCI per il ridimensionamento dei criteri IAM OCI.
Passo 3: Progettare le seguenti tag di autorizzazione di tipo Verb+Resource Combinazione
Per creare gruppi, vedere Esempio 1 Passo 3. È necessario creare gruppi per tutti i tag di autorizzazione seguenti.
-
Compartimento radice - Governance centralizzata: il componente radice funge da livello centrale per la supervisione di tutte le risorse e le attività nella tenancy OCI. Dove avremo i nostri gruppi di amministratori contrassegnati con tag di autorizzazione. Di seguito sono riportate le tag.
- Amministratori: autorizzazione
manageall
per la gestione complessiva della tenancy. - UseAdministrators: autorizzazione
useall
per l'accesso alle risorse nella tenancy. - Auditor: autorizzazione
readall
con accesso in sola lettura alle risorse per il monitoraggio in tutta la tenancy.
- Amministratori: autorizzazione
-
Compartimento del sistema: il compartimento per l'hosting di carichi di lavoro di produzione mission-critical che influiscono direttamente sulle operazioni aziendali e sugli utenti finali. Ogni applicazione dispone di un sottocompartimento dedicato per l'isolamento delle risorse e la gestione ottimizzata. Definiamo le tag di autorizzazione e i relativi gruppi IAM OCI.
- NetworkAdmin: tag di autorizzazione delle risorse
managenetwork
per i tecnici che gestiscono le risorse di rete per CompanyC. - NetworkReader: tag di autorizzazione delle risorse
readnetwork
per gli auditor che verificano l'impostazione di rete di CompanyC. - ComputeAdmin: tag di autorizzazione delle risorse
managecompute
per gli amministratori di sistema che eseguono il provisioning e il ridimensionamento delle istanze di computazione per CompanyC. - ComputeReader: tag di autorizzazione delle risorse
readcompute
per gli auditor che monitorano l'uso delle risorse di computazione per CompanyC. - StorageReader:
manageobject
autorizzazione delle risorse per consentire ai team di amministrazione dello storage di gestire le configurazioni dello storage. - StorageReader: l'autorizzazione delle risorse
readobject
per i team di conformità esamina le configurazioni di storage e i pattern di utilizzo. - SecurityAdmin: l'autorizzazione delle risorse
managecspm
per Compartment PROD è incentrata anche sulle impostazioni di sicurezza, con la possibilità di monitorare e correggere i rischi per la sicurezza.
Ora andremo avanti e definiremo le tag di autorizzazione e i rispettivi gruppi IAM OCI per i compartimenti secondari specifici dell'applicazione. Nell'interesse del tempo, abbiamo unito e definito le autorizzazioni per tutti e 3 i diversi compartimenti dell'applicazione.
- Compartimenti delle applicazioni:
- PRApp1NetAdmin, PRApp2NetAdmin e PRApp3NetAdmin: l'amministratore IAM OCI raggruppa i gruppi con la tag di autorizzazione delle risorse
managenetwork
per i tecnici che gestiscono le risorse di rete rispettivamente per App1, App2 e App3. - PRApp1NetUser, PRApp2NetUser e PRApp3NetUser: l'amministratore IAM OCI raggruppa con la tag di autorizzazione delle risorse
usenetwork
per i tecnici che gestiscono le risorse di rete rispettivamente per App1, App2 e App3. - PRApp1ComputeAdmin, PRApp2ComputeAdmin e PRApp3ComputeAdmin: l'amministratore IAM OCI raggruppa con la tag di autorizzazione delle risorse
managecompute
per i tecnici che gestiscono le istanze di OCI Compute rispettivamente per App1, App2 e App3. - PRApp1ComputeUser, PRApp2ComputeUser e PRApp3ComputeUser: l'amministratore IAM OCI raggruppa i gruppi con la tag di autorizzazione delle risorse
usecompute
per i tecnici che utilizzano le istanze di OCI Compute rispettivamente per App1, App2 e App3. - PRApp1StorageAdmin, PRApp2StorageAdmin e PRApp3StorageAdmin: l'amministratore IAM OCI raggruppa i gruppi con tag di autorizzazione delle risorse
manageobject
per i tecnici che gestiscono lo storage degli oggetti OCI rispettivamente per App1, App2 e App3. - PRApp1StorageUser, PRApp2StorageUser e PRApp3StorageUser: l'amministratore IAM OCI raggruppa i gruppi con tag di autorizzazione delle risorse
useobject
per i tecnici che utilizzano lo storage degli oggetti OCI rispettivamente per App1, App2 e App3.
- PRApp1NetAdmin, PRApp2NetAdmin e PRApp3NetAdmin: l'amministratore IAM OCI raggruppa i gruppi con la tag di autorizzazione delle risorse
- NetworkAdmin: tag di autorizzazione delle risorse
-
Compartimento NPROD: dedicato agli ambienti di staging, sviluppo e garanzia della qualità. Questo compartimento è strutturato in modo simile a PROD per garantire la coerenza. Definiamo le tag di autorizzazione e i relativi gruppi IAM OCI.
- NetworkAdmin: tag di autorizzazione delle risorse
managenetwork
per i tecnici che gestiscono le risorse di rete per CompanyC. - NetworkReader: tag di autorizzazione delle risorse
readnetwork
per gli auditor che verificano l'impostazione di rete di CompanyC. - ComputeAdmin:
managecompute
tag di autorizzazione delle risorse per gli amministratori di sistema che eseguono il provisioning e il ridimensionamento delle istanze di OCI Compute per CompanyC. - ComputeReader: tag di autorizzazione delle risorse
readcompute
per gli auditor che monitorano l'uso delle risorse di OCI Compute per CompanyC. - StorageReader:
manageobject
autorizzazione delle risorse per consentire ai team di amministrazione dello storage di gestire le configurazioni dello storage. - StorageReader: l'autorizzazione delle risorse
readStorage
per i team di conformità esamina le configurazioni di storage e i pattern di utilizzo. - SecurityAdmin: l'autorizzazione delle risorse
managecspm
per Compartment NPROD è incentrata anche sulle impostazioni di sicurezza, con la possibilità di monitorare e correggere i rischi per la sicurezza.
Analogamente, ora andremo avanti e definiremo le tag di autorizzazione e i rispettivi gruppi IAM OCI per i compartimenti secondari specifici dell'applicazione.
- Compartimenti delle applicazioni:
- NPApp1NetAdmin, NPApp2NetAdmin e NPApp3NetAdmin: l'amministratore IAM OCI raggruppa con la tag di autorizzazione delle risorse
managenetwork
per i tecnici che gestiscono le risorse di rete rispettivamente per App1, App2 e App3. - NPApp1NetUser, NPApp2NetUser e NPApp3NetUser: l'amministratore IAM OCI raggruppa con la tag di autorizzazione delle risorse
usenetwork
per i tecnici che gestiscono le risorse di rete rispettivamente per App1, App2 e App3. - NPApp1ComputeAdmin, NPApp2ComputeAdmin e NPApp3ComputeAdmin: l'amministratore IAM OCI raggruppa con la tag di autorizzazione delle risorse
managecompute
per i tecnici che gestiscono le istanze di OCI Compute rispettivamente per App1, App2 e App3. - NPApp1ComputeUser, NPApp2ComputeUser e NPApp3ComputeUser: l'amministratore IAM OCI raggruppa i gruppi con la tag di autorizzazione delle risorse
usecompute
per i tecnici che utilizzano le istanze di OCI Compute rispettivamente per App1, App2 e App3. - NPApp1StorageAdmin, NPApp2StorageAdmin e NPApp3StorageAdmin: l'amministratore IAM OCI raggruppa i gruppi con tag di autorizzazione delle risorse
manageobject
per i tecnici che gestiscono lo storage degli oggetti OCI rispettivamente per App1, App2 e App3. - NPApp1StorageUser, NPApp2StorageUser e NPApp3StorageUser: l'amministratore IAM OCI raggruppa i gruppi con tag di autorizzazione delle risorse
useobject
per i tecnici che utilizzano lo storage degli oggetti OCI rispettivamente per App1, App2 e App3.
- NPApp1NetAdmin, NPApp2NetAdmin e NPApp3NetAdmin: l'amministratore IAM OCI raggruppa con la tag di autorizzazione delle risorse
- NetworkAdmin: tag di autorizzazione delle risorse
-
Compartimento condiviso: il compartimento condiviso ospita le risorse per il monitoraggio, ad esempio i servizi OCI di log e Cloud Guard. Ha anche chiavi per la crittografia e la decifrazione che vengono utilizzate da più tenant, garantendo al contempo la segregazione logica per mantenere la privacy e la sicurezza. Tutti gli amministratori delle applicazioni che richiedono l'accesso a questi servizi verranno aggiunti ai gruppi IAM OCI creati per questi servizi. Definiamo le tag di autorizzazione e i rispettivi gruppi IAM OCI.
-
Compartimenti Oracle Cloud Guard:
cspmAdmin
: l'amministratore IAM OCI raggruppa i gruppi con la tag di autorizzazione delle risorsemanagecspm
per gli amministratori che gestiscono Oracle Cloud Guard per i compartimenti PROD e Non PROD.cspmUser
: IAM OCI raggruppa i gruppi con la tag di autorizzazione delle risorseusecspm
per i tecnici che utilizzano/monitoraggio di Oracle Cloud Guard per i compartimenti PROD e Non PROD.cspmReader
: IAM OCI raggruppa i gruppi con la tag di autorizzazione delle risorsereadcspm
per i tecnici che leggono Oracle Cloud Guard per i compartimenti PROD e Non PROD.
-
Compartimenti di log OCI:
logsAdmin
: l'amministratore IAM OCI raggruppa i gruppi con la tag di autorizzazione delle risorsemanagelogs
per gli amministratori che gestiscono OCI Logging per i compartimenti PROD e Non PROD.logsUser
: IAM OCI raggruppa i gruppi con la tag di autorizzazione delle risorseuselogs
per i tecnici che utilizzano/monitoraggio di OCI Logging per i compartimenti PROD e Non PROD.logsReader
: IAM OCI raggruppa con la tag di autorizzazione delle risorsereadlogs
per i tecnici che leggono OCI Logging per i compartimenti PROD e Non PROD.
-
Compartimenti chiavi:
kmsAdmin
: l'amministrazione dei gruppi IAM OCI con la tag di autorizzazione delle risorsemanagekeys
per gli amministratori che gestiscono il vault di chiavi per i compartimenti PROD e Non PROD.kmsUser
: IAM OCI raggruppa i gruppi con la tag di autorizzazione delle risorseusekeys
per i tecnici che utilizzano/monitoraggio del vault di chiavi per i compartimenti PROD e Non PROD.kmsReader
: IAM OCI raggruppa con la tag di autorizzazione delle risorsereadkeys
per i tecnici che leggono il vault di chiavi per i compartimenti PROD e Non PROD.
-
-
Compartimento del campo di gioco: un ambiente flessibile e isolato per la sperimentazione, lo sviluppo e i test. Questo compartimento non è legato a vincoli di produzione o conformità, il che lo rende ideale per l'innovazione. Qui avremo un solo gruppo di amministratori IAM OCI per il compartimento molto figlio e forniremo i privilegi di gestione a tutte le risorse OCI necessarie per i requisiti di test.
-
Compartimenti di sviluppo:
DevAdmin
: amministrare i gruppi IAM OCI con l'autorizzazione delle risorsemanagenetwork
,managecompute
,manageobject
,managekeys
,managelogs
per gli amministratori dello sviluppo per eseguire il test della nuova implementazione nel compartimento dello sviluppo.
-
Compartimenti di test:
TestAdmin
: amministrare i gruppi IAM OCI con l'autorizzazione delle risorsemanagenetwork
,managecompute
,manageobject
,managekeys
,managelogs
per gli amministratori dello sviluppo per eseguire il test della nuova implementazione nel compartimento di test.
-
Compartimenti di test delle prestazioni:
PerfTestAdmin
: amministrare i gruppi IAM OCI con l'autorizzazione delle risorsemanagenetwork
,managecompute
,manageobject
,managekeys
,managelogs
per gli amministratori dello sviluppo per eseguire il test della nuova implementazione nel compartimento di test delle prestazioni.
-
Passo 4: scrivere i criteri IAM OCI per tali tag di autorizzazione
Per creare criteri, vedere Esempio 1 Passo 4. È necessario creare i criteri seguenti.
-
Criterio di tutte le risorse:
Allow any-user to manage all-resources in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.manageall) Allow any-user to use all-resources in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.useall) Allow any-user to read all-resources in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readall)
-
Log:
Allow any-user to manage logging-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managelogs) Allow any-user to use logging-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.uselogs) Allow any-user to read logging-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readlogs)
-
Criteri Cloudguard:
Allow any-user to manage cloud-guard-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managecspm) Allow any-user to use cloud-guard-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.usecspm) Allow any-user to read cloud-guard-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readcspm)
-
Criterio chiave
Allow any-user to manage keys in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managekeys) Allow any-user to use keys in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.usekeys) Allow any-user to read keys in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readkeys)
-
Criterio applicazione:
Allow any-user to manage virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managenetwork) Allow any-user to use virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.useetwork) Allow any-user to manage instance-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managecompute) Allow any-user to use instance-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.usecompute) Allow any-user to manage object-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.manageobject) Allow any-user to use object-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.useobject)
-
Criteri parco giochi:
Allow any-user to manage virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managenetwork) Allow any-user to manage virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managenetwork) Allow any-user to manage object-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.manageobject) Allow any-user to manage logging-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managelogs) Allow any-user to manage vaults in compartment Playground where request.principal.group.tag.infosec.gname=target.compartment.tag.mgmt.manageVaults Allow any-user to manage keys in compartment Playground where request.principal.group.tag.infosec.gname=target.compartment.tag.mgmt.manageKeys
Nota: per questo scenario ogni volta che si inserisce un nuovo carico di lavoro:
- Verificare se sono necessarie tag di autorizzazione aggiuntive. In tal caso, crearli insieme ai criteri IAM OCI per tali tag di autorizzazione.
- Creare gruppi per gestire l'accesso al nuovo compartimento del carico di lavoro.
- Contrassegna il compartimento del carico di lavoro utilizzando le tag di autorizzazione e i gruppi creati.
Modello di autorizzazione basato su tag per il controllo dell'accesso granulare
Finora, tutti gli esempi, abbiamo discusso di creare autorizzazioni di gestione, utente o lettura per una famiglia di risorse. Tuttavia, la maggior parte dei clienti richiede un controllo dell'accesso granulare per seguire il modello con privilegi minimi. Il tutorial si concentra sulla comprensione del modello criteri, motivo per cui abbiamo parlato di un caso d'uso semplice. Tuttavia, vorrei fare un esempio di quattro persone di rete e di come puoi progettare tag di autorizzazione granulari e criteri IAM OCI per queste quattro persone.
-
NetworkOwner: questa persona o questo team è proprietario dell'implementazione di rete per la tenancy OCI. Hanno accesso per impostare FastConnect e l'autorizzazione per gestire la rete per tutte le applicazioni.
-
NetworkAdmin: questo team è proprietario dell'implementazione di rete per i team dell'applicazione. Possono creare VCN per i team di applicazioni. Tuttavia, non dispongono dell'accesso per impostare un firewall di rete o FastConnect.
-
NetworkOperator: questo team è proprietario della rete dell'applicazione. Il team può creare una subnet dell'applicazione nella VCN o in una VCN condivisa dell'applicazione. Tuttavia, non dispongono dell'autorizzazione per gestire o aggiornare le VCN.
-
NetworkUser: questo è il team di amministrazione dell'applicazione che richiede l'autorizzazione all'uso delle risorse di rete dell'applicazione.
Definiremo networkowner
, networkadmin
, networkoperator
e networkuser
come quattro tag nel compartimento di rete. Per tali tag, assegneremo i nomi dei gruppi che hanno accesso al compartimento di rete.
-
NetworkOwner Criterio:
Allow any-user to manage virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkowner)
-
NetworkAdmin Criterio:
Allow any-user to manage vcns in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkadmin) Allow any-user to manage subnets in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkadmin) Allow any-user to manage route-tables in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkadmin) Allow any-user to manage security-lists in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkadmin) Allow any-user to manage network-security-groups in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkadmin) Allow any-user to manage dhcp-options in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkadmin) Allow any-user to manage local-peering-gateways in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkadmin) Allow any-user to manage service-gateways in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkadmin) Allow any-user to manage internet-gateways in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkadmin)
-
NetworkOperator Criterio:
Allow any-user to {VCN_ATTACH,VCN_DETACH} in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkoperator) Allow any-user to inspect vcns in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkoperator) Allow any-user to manage subnets in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkoperator) Allow any-user to manage route-tables in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkoperator) Allow any-user to manage security-lists in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkoperator) Allow any-user to manage network-security-groups in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkoperator) Allow any-user to manage dhcp-options in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkoperator)
-
NetworkUser Criterio:
Allow any-user to inspect vcns in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkuser) Allow any-user to use subnets in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkuser) Allow any-user to use vnics in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkuser) Allow any-user to use security-lists in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkuser) Allow any-user to use network-security-groups in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.Net.networkuser)
Ridimensiona i criteri IAM OCI per i principal delle istanze
Esempio 1: controllo dell'accesso a istanze multi-tenant per lo storage condiviso e i segreti in OCI
Passo 1: ottenere una comprensione completa della panoramica aziendale del cliente
XYZ Cloud Solutions è un provider SaaS che offre un Document Management System (DMS) ospitato su OCI. La piattaforma serve più clienti aziendali, ognuno dei quali richiede un rigoroso isolamento dei propri dati, sfruttando al contempo un'infrastruttura condivisa.
Requisiti cliente:
- Ogni azienda (tenant) deve disporre di istanze isolate per elaborare e gestire i documenti.
- I segreti di ciascun tenant (chiavi API, credenziali di database) devono essere accessibili solo per le istanze di tale tenant.
- Tutti i tenant memorizzano i documenti in un compartimento OCI dello storage degli oggetti centralizzato, ma devono accedere solo al proprio bucket.
- Il sistema dovrebbe supportare il ridimensionamento automatico e l'inserimento semplice dei nuovi tenant.
Passo 2: progettare la struttura del compartimento per il carico di lavoro
Esaminiamo ora la struttura del compartimento per le soluzioni cloud XYZ, che segue il modello criteri IAM OCI per il ridimensionamento dei criteri IAM OCI.
-
Isolamento dei tenant con compartimenti:
- Crea un compartimento OCI dedicato per ogni cliente enterprise (Tenant1, Tenant2 e così via).
- Distribuisci istanze di computazione (VM, funzioni o contenitori) all'interno dei rispettivi compartimenti.
- Storage centralizzato con controllo degli accessi.
-
Gestisce un compartimento di storage condiviso per i bucket di storage degli oggetti OCI:
- Ogni tenant ottiene un bucket dedicato, contrassegnato con
Enterprise.Tenant=<TenantName>
. - I criteri IAM OCI garantiscono che le istanze di ogni tenant possano leggere solo dal proprio bucket.
- Gestione dei segreti con OCI Vault.
- Ogni tenant ottiene un bucket dedicato, contrassegnato con
-
Memorizza credenziali del database, chiavi API e chiavi di cifratura nel vault OCI:
- I segreti di ogni tenant sono contrassegnati con
Enterprise.Tenant=<TenantName>
. - I criteri IAM OCI consentono solo alle istanze del tenant di recuperare i propri segreti.
- Strategia di tagging aziendale per la governance.
- I segreti di ogni tenant sono contrassegnati con
-
Definire uno spazio di nomi tag Enterprise con
Enterprise.Tenant
per tenere traccia della proprietà del tenant:- Applica le tag predefinite del compartimento per contrassegnare automaticamente le risorse all'interno del compartimento di ciascun tenant.
- Utilizza criteri basati su tag per il controllo automatico dell'accesso.
Passo 3: creare gruppi IAM OCI
Per garantire una gestione degli accessi sicura e isolata in un ambiente multi-tenant OCI, verranno definiti i criteri riportati di seguito.
-
Gruppo InfoSec: amministratori della sicurezza con accesso per gestire criteri, tag, utenti e gruppi.
-
Gruppo Terraform-Runner: gruppo di esecuzione Infrastructure-as-Code (IaC) per la gestione delle risorse OCI.
Nota: questi gruppi e i criteri IAM OCI sono già stati creati come descritto in precedenza nella sezione Criteri IAM OCI comuni.
Passo 4: creare criteri IAM OCI per i gruppi definiti
Criteri di accesso alle risorse tenant: per mantenere l'isolamento dei dati, le risorse tenant devono essere in grado solo di accedere ai propri segreti e allo storage degli oggetti.
Allow any-user to use object-family in compartment Storage where request.principal.compartment.tag.Enterprise.Tenant = target.resource.tag.Enterprise.Tenant
Allow any-user to use secret-family in compartment Tenants where request.principal.compartment.tag.Enterprise.Tenant = target.resource.tag.Enterprise.Tenant
Se anche i principi dell'istanza del tenant richiedono l'autorizzazione per creare nuovi oggetti, è possibile creare nomi di bucket con lo stesso nome del nome del tenant e utilizzare la tag nome del tenant per eseguire il confronto con il nome del bucket.
Allow any-user to manage objects in compartment Storage where request.principal.compartment.tag.Enterprise.Tenant = target.bucket.name
Esempio 2: controllo dell'accesso con filtro per l'accesso ai dati multi-servizio in un modello di storage OCI condiviso
Passo 1: ottenere una comprensione completa della panoramica aziendale del cliente
XYZ Corp è un'azienda in rapida crescita specializzata in soluzioni di trasformazione digitale. Con una presenza globale, XYZ Corp opera in più region e sfrutta OCI per ospitare applicazioni strategiche, gestire i dati e garantire una collaborazione perfetta tra i team.
Requisiti cliente:
- Tutte le istanze del servizio di amministrazione per un tenant specifico possono leggere i bucket di amministrazione all'interno del compartimento di storage condiviso.
- Tutte le istanze del servizio di vendita per un tenant specifico possono leggere i bucket di vendita all'interno del compartimento di storage condiviso.
- Tutte le istanze del servizio di fornitura per un tenant specifico possono leggere i bucket di fornitura all'interno del compartimento di storage condiviso.
- Tutte le istanze per un tenant specifico possono leggere i bucket di Shared Services all'interno del compartimento di memorizzazione condivisa.
- Tutte le istanze per un tenant specifico possono leggere i segreti per tale tenant all'interno del compartimento del tenant.
Passo 2: progettare la struttura del compartimento per il carico di lavoro
Esaminiamo ora la struttura del compartimento per XYZ Corp, che segue il modello criteri IAM OCI per il ridimensionamento dei criteri IAM OCI.
-
Creazione del compartimento specifico del tenant:
- Creare un compartimento dedicato per ogni tenant.
- È necessario eseguire il provisioning di tutte le risorse appartenenti a un tenant all'interno del compartimento del tenant.
-
Spazio di nomi applicazione tag enterprise:
- Definire uno spazio di nomi tag Enterprise con le chiavi di tag seguenti:
Enterprise.Tenant
acquisisce il nome del tenant.Enterprise.Service
Acquisisce il tipo di servizio. Ad esempio, Amministrazione, Vendite, Fornitura o Condiviso.
- Definire uno spazio di nomi tag Enterprise con le chiavi di tag seguenti:
-
Tag predefinite per i compartimenti tenant:
- Configurare le tag predefinite del compartimento per ogni compartimento tenant, assicurandosi che la tag
Enterprise.Tenant
venga applicata automaticamente a tutte le risorse all'interno del compartimento, acquisendo il nome del tenant.
- Configurare le tag predefinite del compartimento per ogni compartimento tenant, assicurandosi che la tag
-
Applicazione tag a livello di risorsa:
- Ogni risorsa all'interno di un compartimento tenant deve essere contrassegnata con
Enterprise.Service
specifica il tipo di servizio. Ad esempio, Amministrazione, Vendite, Fornitura e così via.
- Ogni risorsa all'interno di un compartimento tenant deve essere contrassegnata con
-
Applicazione di tag alle risorse di destinazione (bucket e segreti):
- Contrassegnare ogni risorsa di destinazione (ad esempio bucket e segreti) con:
Enterprise.Tenant
acquisisce il nome del tenant.Enterprise.Service
Acquisisce il tipo di servizio associato.
- Contrassegnare ogni risorsa di destinazione (ad esempio bucket e segreti) con:
-
Applicazione di tag ai bucket condivisi:
- Per le risorse del bucket condiviso, impostare
Enterprise.Service = 'Shared'
per indicare l'accesso facilitato tra i servizi.
- Per le risorse del bucket condiviso, impostare
Passo 3: creare gruppi IAM OCI
Per garantire una gestione degli accessi sicura e isolata in un ambiente multi-tenant OCI, verranno definiti i criteri riportati di seguito.
-
Gruppo InfoSec: amministratori della sicurezza con accesso per gestire criteri, tag, utenti e gruppi.
-
Gruppo Terraform-Runner: gruppo di esecuzione Infrastructure-as-Code (IaC) per la gestione delle risorse OCI.
-
Gruppo dinamico AdminInstances: con la regola di corrispondenza
All {tag.Enterprise.Service.value=’Admin’}
. -
Gruppo dinamico SalesInstances: con la regola di corrispondenza
All {tag.Enterprise.Service.value=’Sales’}
. -
Gruppo dinamico SupplyInstances: con la regola di corrispondenza
All {tag.Enterprise.Service.value=’Supply’}
.
Nota: i gruppi e i criteri IAM InfoSec e Terraform-Runner sono già stati creati come descritto in precedenza nella sezione Policy IAM OCI comuni.
Passo 4: creare criteri IAM OCI per i gruppi definiti
Criteri di accesso alle risorse tenant: per mantenere l'isolamento dei dati, le risorse tenant devono essere in grado solo di accedere ai propri segreti e allo storage degli oggetti.
Allow dynamic-group AdminInstances to use object-family in compartment Storage where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Admin’}
Allow dynamic-group SalesInstances to use object-family in compartment Storage where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Sales’}
Allow dynamic-group SupplyInstances to use object-family in compartment Storage where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Supply’}
Allow any-user to use object-family in compartment Storage where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Shared’}
Allow dynamic-group AdminInstances to use secret-family in compartment Tenants where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Admin’}
Allow dynamic-group SalesInstances to use secret-family in compartment Tenants where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Sales’}
Allow dynamic-group SupplyInstances to use secret-family in compartment Tenants where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Supply’}
Collegamenti correlati
Conferme
-
Autore - Chetan Soni (Senior Cloud Engineer)
-
Contributor - Kiran Thakkar (Master Principal Cloud Architect)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.
Per la documentazione del prodotto, visita l'Oracle Help Center.
Deep Dive into Tag based Oracle Cloud Infrastructure Identity and Access Management Policies
G30367-01
Copyright ©2025, Oracle and/or its affiliates.