DevOps Criteri IAM
Creare criteri IAM per controllare chi ha accesso alle risorse DevOps e per controllare il tipo di accesso per ogni gruppo di utenti.
Prima di poter controllare l'accesso alle risorse DevOps, ad esempio repository di codici, pipeline di build e pipeline di distribuzione, è necessario creare gli utenti e inserirli nei gruppi appropriati (vedere Gestione degli utenti e Gestione dei gruppi). È quindi possibile creare criteri e istruzioni criteri per controllare l'accesso (vedere Gestione dei criteri).
Per impostazione predefinita, gli utenti del gruppo Administrators
hanno accesso a tutte le risorse DevOps. Se non conosci i criteri IAM, consulta la Guida introduttiva ai criteri.
Per un elenco completo di tutti i criteri in Oracle Cloud Infrastructure, consulta il riferimento ai criteri e i criteri comuni.
Tipi e autorizzazioni risorsa
Lista dei tipi di risorsa DevOps e delle autorizzazioni associate.
Per assegnare le autorizzazioni a tutte le risorse DevOps, utilizzare il tipo di aggregazione devops-family
. Per ulteriori informazioni, vedere Autorizzazioni.
Un criterio che utilizza <verb> devops-family
equivale alla scrittura di un criterio con un'istruzione <verb> <resource-type>
separata per ciascuno dei singoli tipi di risorsa.
Tipo di risorsa | Autorizzazioni |
---|---|
famiglia devops | I verbi inspect, read, use, manage sono applicabili per tutte le autorizzazioni dei tipi di risorsa DevOps.I verbi |
progetto devops |
|
famiglia-distribuzione-devops |
I verbi
|
devops-deploy-artifact |
|
devops-deploy-environment |
|
devops-deploy-pipeline |
|
fase di distribuzione devops |
|
distribuzione devops |
|
devops-work-requests |
|
famiglia-repository-depositi-depositi |
I verbi
Il verbo |
repository devops |
|
richiesta devops-pull |
|
devops-pull-request-comment |
|
filiale protetta da devops |
|
famiglia-costruzione-depositi |
I verbi specificati,
|
devops-build-pipeline |
|
devops-build-pipeline-stage |
|
devops-build-run |
|
connessione devops |
|
devops-trigger |
|
Variabili supportate
Le variabili vengono utilizzate quando si aggiungono condizioni a un criterio.
DevOps supporta le seguenti variabili:
- Entità: identificativo Oracle Cloud (OCID)
- Stringa: testo in formato libero.
- Numero: valore numerico (precisione arbitraria)
- Elenco: lista di entità, stringa o numero
- Booleano: True o False
Vedere Variabili generali per tutte le richieste.
Le variabili sono minuscole e separate da trattini. Ad esempio, target.tag-namespace.name
, target.display-name
. name
deve essere univoco e display-name
è la descrizione.
Le variabili richieste vengono fornite dal servizio DevOps per ogni richiesta. Le variabili automatiche vengono fornite dal motore di autorizzazione (servizio locale con l'SDK per un client di grandi dimensioni o sul piano dati Identity per un thin client).
Variabili richieste | Digitare | descrizione; |
---|---|---|
target.compartment.id |
Entità (OCID) | OCID della risorsa primaria per la richiesta. |
request.operation |
Stringa | ID dell'operazione (ad esempio, GetUser ) per la richiesta. |
target.resource.kind |
Stringa | Nome del tipo della risorsa primaria per la richiesta. |
Variabili automatiche | Digitare | descrizione; |
---|---|---|
request.user.id |
Entità (OCID) | OCID dell'utente richiedente. |
request.groups.id |
Elenco di entità (OCID) | OCID dei gruppi in cui si trova l'utente richiedente. |
target.compartment.name |
Stringa | Il nome del compartimento specificato in target.compartment.id . |
target.tenant.id |
Entità (OCID) | OCID dell'ID tenant di destinazione. |
Di seguito è riportato un elenco delle origini disponibili per le variabili.
- Richiesta: viene dall'input della richiesta.
- Derivato: viene dalla richiesta.
- Memorizzato: viene dal servizio e l'input conservato.
- Calcolato: viene calcolato in base ai dati del servizio.
Mapping delle variabili con i tipi di risorsa
Tipo di risorsa | Variabile | Digitare | Origine | descrizione; |
---|---|---|---|---|
|
target.project.id |
Voce | Stoccato | Disponibile per le operazioni di recupero, aggiornamento, eliminazione e spostamento nella risorsa progetto. |
|
target.project.name |
Stringa | Stoccato | Disponibile per le operazioni di recupero, aggiornamento, eliminazione e spostamento nella risorsa progetto. |
devops-deploy-artifact |
target.artifact.id |
Entità | Stoccato | Disponibile per le operazioni di recupero, aggiornamento ed eliminazione nella risorsa artifact. |
devops-deploy-environment |
target.environment.id |
Entità | Stoccato | Disponibile per le operazioni Get, Update ed Delete nella risorsa Environment. |
|
target.pipeline.id |
Entità | Stoccato | Disponibile per le operazioni di recupero, aggiornamento ed eliminazione nella risorsa Pipeline. |
devops-deploy-stage |
target.stage.id |
Entità | Stoccato | Disponibile per le operazioni di recupero, aggiornamento ed eliminazione nella risorsa area intermedia. |
devops-deployment |
target.deployment.id |
Entità | Stoccato | Disponibile per le operazioni di recupero, aggiornamento ed eliminazione sui tipi di risorsa di distribuzione. |
devops-repository
|
target.repository.id |
Entità | Stoccato | Disponibile per le operazioni di recupero, aggiornamento, eliminazione e spostamento nella risorsa repository. |
devops-pull-request-comment |
target.pull-request.id |
Entità | Stoccato | Disponibile per le operazioni Get, Update, Delete nella risorsa Pull-Request. |
devops-repository
|
target.repository.name |
Entità | Stoccato | Disponibile per le operazioni di recupero, aggiornamento, eliminazione e spostamento nella risorsa repository. |
devops-pull-request-comment |
target.pull-request.display-name |
Stringa | Stoccato | Disponibile per le operazioni Get, Update, Delete nella risorsa Pull-Request. |
devops-repository |
target.branch.name |
Entità | Stoccato | Disponibile per le operazioni Git quali upload-pack, receive-pack nella diramazione del repository. |
devops-protected-branch |
target.branch.name |
Stringa | Stoccato | Disponibile per le operazioni di recupero, aggiornamento, eliminazione e spostamento nella risorsa diramazione protetta. |
devops-repository |
target.tag.name |
Entità | Stoccato | Disponibile per operazioni Git quali upload-pack, receive-pack nella diramazione del repository. |
devops-pull-request |
target.pull-request.id |
Entità | Stoccato | Disponibile per le operazioni Get, Update, Delete nella risorsa Pull-Request. |
devops-pull-request |
target.pull-request.display-name |
Stringa | Stoccato | Disponibile per le operazioni Get, Update, Delete nella risorsa Pull-Request. |
devops-connection |
target.connection.id |
Entità | Stored | Disponibile per le operazioni di recupero, aggiornamento ed eliminazione nella risorsa di connessione. |
devops-trigger |
target.trigger.id |
Entità | Stored | Disponibile per le operazioni di recupero, aggiornamento ed eliminazione nella risorsa trigger. |
|
target.build-pipeline.id |
Entità | Stored | Disponibile per le operazioni di recupero, aggiornamento ed eliminazione nella risorsa Pipeline di build. |
devops-build-pipeline-stage |
target.build-pipeline-stage.id |
Entità | Stored | Disponibile per le operazioni di recupero, aggiornamento ed eliminazione nella risorsa Fase pipeline di build. |
devops-build-run |
target.build-run.id |
Entità | Stored | Disponibile per le operazioni di recupero, aggiornamento, eliminazione e annullamento nella risorsa di esecuzione build. |
Dettagli per le combinazioni verbo-tipo di risorsa
Identificare le autorizzazioni e le operazioni API coperte da ciascun verbo per le risorse DevOps.
Il livello di accesso è cumulativo quando si passa da inspect
a read
a use
a manage
. Un segno più (+)
in una cella di tabella indica l'accesso incrementale rispetto alla cella precedente. Tutte le autorizzazioni (ispezione, lettura, uso e gestione) sono applicabili per il tipo di risorsa devops-family
, che include tutte le risorse DevOps.
Per informazioni sulla concessione dell'accesso, vedere Autorizzazioni.
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-project
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
DEVOPS_PROJECT_INSPECT |
ListProjects |
Elenca tutte le risorse di progetto in un compartimento. |
read |
|
|
Recupera un progetto specifico per ID. |
use |
|
|
Aggiornare un progetto specifico. |
manage |
|
|
Creare una risorsa progetto. |
manage |
|
|
Consente di eliminare un progetto specifico. |
manage |
|
|
Spostare un progetto in un compartimento diverso. |
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-deploy-family
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
|
|
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-deploy-artifact
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_ARTIFACT_INSPECT |
ListDeployArtifacts |
Elenca tutti gli artifact in un progetto o in un compartimento. |
read |
|
|
Recupera un artifact specifico per ID. |
use |
|
|
Aggiornare un artifact specifico in base all'ID. |
manage |
|
|
Creare una risorsa artifact all'interno di un progetto. |
manage |
|
|
Elimina un artifact specifico in base all'ID. |
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-deploy-environment
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_ENVIRONMENT_INSPECT |
ListDeployEnvironments |
Elenca tutti gli ambienti in un'applicazione o in un compartimento. |
read |
|
|
Recupera un ambiente specifico in base all'ID. |
use |
|
|
Aggiornare un ambiente specifico in base all'ID. |
manage |
|
|
Creare un ambiente per una destinazione di distribuzione all'interno di un'applicazione. |
manage |
|
|
Elimina un ambiente specifico in base all'ID. |
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-deploy-pipeline
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_PIPELINE_INSPECT |
ListDeployPipelines |
Elenca tutte le risorse pipeline in un compartimento. |
read |
|
|
Recupera una pipeline specifica in base all'ID. |
use |
|
|
Aggiorna una pipeline specifica in base all'ID. |
manage |
|
|
Creare una risorsa pipeline. |
manage |
|
|
Eliminare una pipeline specifica. |
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-deploy-stage
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_STAGE_INSPECT |
ListDeployStages |
Elenca tutte le fasi di una pipeline o di un compartimento. |
read |
|
|
Recupera una fase specifica in base all'ID. |
use |
|
|
Aggiornare una fase specifica in base all'ID. |
manage |
|
|
Creare una fase all'interno di una pipeline. |
manage |
|
|
Elimina una fase specifica in base all'ID. |
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-deployment
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
DEVOPS_DEPLOYMENT_INSPECT |
ListDeployments |
Elenca tutte le distribuzioni in un compartimento. |
read |
|
|
Ottenere una distribuzione specifica in base all'ID. |
use |
|
|
Aggiornare una fase specifica in base all'ID. |
use |
|
|
Approva una distribuzione specifica in attesa di approvazione manuale. |
use |
|
|
Annullare una distribuzione in esecuzione. |
manage |
|
|
Creare una distribuzione per una pipeline specifica. |
manage |
|
|
Eliminare una distribuzione specifica. |
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-work-requests
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
DEVOPS_WORK_REQUEST_INSPECT |
ListWorkRequests |
Elenca tutte le richieste di lavoro in un compartimento. |
read |
|
|
Recupera una richiesta di lavoro specifica in base all'ID. |
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-repository-family
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
|
|
|
read |
inspect+
|
|
|
use |
|
|
|
manage |
|
|
|
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-repository
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
DEVOPS_REPOSITORY_INSPECT |
ListRepositories |
Elenca tutte le risorse del repository per ID compartimento, ID progetto o ID repository. |
read |
|
|
Recupera un repository specifico in base all'ID. |
use |
|
|
Aggiornare un repository specifico in base all'ID. |
manage |
|
|
Creare un repository. |
manage |
|
|
Elimina un repository specifico in base all'ID. |
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-connection
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
DEVOPS_CONNECTION_INSPECT |
ListConnections |
Elenca tutte le connessioni in un progetto o compartimento. |
read |
|
|
Ottenere una connessione specifica in base all'ID. |
use |
|
|
Aggiornare una connessione specifica in base all'ID. |
use |
|
|
Convalidare il PAT della connessione. |
manage |
|
|
Creare una risorsa di connessione in un progetto. |
manage |
|
|
Elimina una connessione specifica in base all'ID. |
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-trigger
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
DEVOPS_TRIGGER_INSPECT |
ListTriggers |
Elenca tutti i trigger in un progetto o compartimento. |
read |
|
|
Recupera un trigger specifico in base all'ID. |
use |
|
|
Aggiornare un trigger specifico in base all'ID. |
manage |
|
|
Creare una risorsa trigger in un progetto. |
manage |
|
|
Elimina un trigger specifico in base all'ID. |
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-build-family
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
|
|
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-build-pipeline
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
DEVOPS_BUILD_PIPELINE_INSPECT |
ListBuildPipelines |
Elenca tutte le risorse della pipeline di build in un compartimento. |
read |
|
|
Ottieni una pipeline di build specifica in base all'ID. |
use |
|
|
Aggiornare una pipeline di build specifica in base all'ID. |
manage |
|
|
Creare una risorsa pipeline di build. |
manage |
|
|
Eliminare una pipeline di build specifica. |
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-build-pipeline-stage
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
DEVOPS_BUILD_PIPELINE_STAGE_INSPECT |
ListBuildPipelineStages |
Elenca tutte le fasi di una pipeline o di un compartimento di build. |
read |
|
|
Ottieni una fase specifica della pipeline di build in base all'ID. |
use |
|
|
Aggiorna una fase specifica della pipeline di build in base all'ID. |
manage |
|
|
Creare una fase in una pipeline di build. |
manage |
|
|
Elimina la fase specifica della pipeline di build in base all'ID. |
In questa tabella sono elencate le autorizzazioni e le API completamente coperte dalle autorizzazioni per la risorsa devops-build-run
.
Verbi | Autorizzazioni | API coperte | descrizione; |
---|---|---|---|
inspect |
DEVOPS_BUILD_RUN_INSPECT |
ListBuildRuns |
Elencare le esecuzioni della build in un progetto o in un compartimento. |
read |
|
|
Ottiene un ID esecuzione build specifico. |
use |
|
|
Aggiorna un'esecuzione build esistente. |
use |
|
|
Annullare l'esecuzione di una build in esecuzione. |
manage |
|
|
Avvia un'esecuzione build per una pipeline di build specificata. |
manage |
|
|
Eliminare un'esecuzione build esistente. |
Creazione di un criterio e di un gruppo dinamico
Per concedere agli utenti l'autorizzazione per accedere alle varie risorse DevOps, ad esempio pipeline di build, pipeline di distribuzione, artifact e repository di codici, è necessario creare gruppi, gruppi dinamici e criteri IAM.
Un criterio consente a un gruppo di operare secondo modalità specifiche con tipi specifici di risorse in un determinato compartimento .
Criteri
Di seguito viene descritto come creare un criterio nella console di Oracle Cloud.
- Aprire il menu di navigazione e fare clic su Identità e sicurezza. In Identità fare clic su Criteri.
- Fare clic su Create Policy.
- Immettere un nome e una descrizione per il criterio.
- In Costruzione guidata criteri, fare clic sullo switch Mostra editor manuale per abilitare l'editor.
Immettere una regola dei criteri nel seguente formato:
Allow <group> to <verb> <resource_type> in <compartment or tenancy details>
- Fare clic su Crea.
Per ulteriori informazioni sulla creazione dei criteri, vedere Funzionamento dei criteri e Riferimento ai criteri.
Per creare un gruppo e aggiungere utenti al gruppo, vedere Gestione dei gruppi.
Gruppo dinamico
Il gruppo dinamico è un tipo speciale di gruppo che contiene risorse (ad esempio istanze di computazione) che corrispondono alle regole definite dall'utente.
Le regole di corrispondenza definiscono le risorse che appartengono al gruppo dinamico. Nella console è possibile immettere la regola manualmente nella casella di testo fornita oppure utilizzare la generazione regole. Per ulteriori dettagli, vedere Scrittura di regole di corrispondenza per definire i gruppi dinamici. Utilizzare la regola match-any
per trovare una corrispondenza con più condizioni.
DevOpsDynamicGroup
, ad esempio, e sostituire compartmentOCID
con l'OCID del compartimento: ALL {resource.type = 'devopsdeploypipeline', resource.compartment.id = 'compartmentOCID'}
ALL {resource.type = 'devopsrepository', resource.compartment.id = 'compartmentOCID'}
ALL {resource.type = 'devopsbuildpipeline',resource.compartment.id = 'compartmentOCID'}
ALL {resource.type = 'devopsconnection',resource.compartment.id = 'compartmentOCID'}
Per ulteriori informazioni sui gruppi dinamici, incluse le autorizzazioni necessarie per crearli, vedere Gestione dei gruppi dinamici e Scrittura dei criteri per i gruppi dinamici.
DevOpsDynamicGroup
: Allow dynamic-group DevOpsDynamicGroup to manage devops-family in compartment <compartment_name>
Per le tenancy con domini di Identity, il nome del dominio deve precedere il nome del gruppo dinamico nel criterio. Ad esempio,
domain-name/{DevOpsDynamicGroup}
Esempi di criteri
Criteri DevOps necessari per utilizzare varie risorse DevOps, ad esempio repository di codici, pipeline di build e pipeline di distribuzione.
Vengono forniti i seguenti esempi di criteri:
Criteri ambiente
Esempio di criterio per la creazione dell'ambiente di destinazione utilizzato per la distribuzione.
Per creare criteri utilizzando la console, vedere le istruzioni.
Allow group <group-name> to manage virtual-network-family in compartment <compartment_name> where any {request.operation='CreatePrivateEndpoint', request.operation='UpdatePrivateEndpoint', request.operation='DeletePrivateEndpoint', request.operation='EnableReverseConnection', request.operation='ModifyReverseConnection', request.operation='DisableReverseConnection'}
Criteri repository codice
Esempi di criteri per la creazione di un repository di codici e la connessione a repository di codici esterni, ad esempio GitHub e GitLab.
Per creare criteri, gruppi e gruppi dinamici utilizzando la console, vedere le istruzioni.
- Consentire agli utenti di un gruppo di avere accesso al progetto DevOps:
Allow group <group-name> to read devops-project in compartment <compartment_name>
- Consentire agli utenti di un gruppo di leggere, creare, aggiornare o eliminare un repository:
Allow group <group-name> to manage devops-repository in compartment <compartment_name>
- Consentire agli utenti di un gruppo di avere accesso al progetto DevOps:
Allow group <group-name> to read devops-project in compartment <compartment_name>
- Consentire agli utenti di un gruppo di leggere o aggiornare un repository:
Allow group <group-name> to use devops-repository in compartment <compartment_name>
Allow dynamic-group DevOpsDynamicGroup to read secret-family in compartment <compartment_name>
Allow group <group-name> to use devops-connection in compartment <compartment_name>
Allow dynamic-group DevOpsDynamicGroup to inspect users in tenancy
Per creare una richiesta Pull, è necessario definire i criteri in base alle azioni che un utente è autorizzato a eseguire. Per ulteriori informazioni ed esempi, vedere Gestione delle richieste Pull.
Criteri pipeline di build
Esempi di criteri per la creazione di pipeline di build e l'aggiunta di fasi alla pipeline.
Per creare criteri utilizzando la console, vedere le istruzioni.
- Creare criteri IAM per consentire al gruppo dinamico di accedere alle risorse OCI nel compartimento:
- Per consegnare gli artifact, fornire l'accesso a OCI (Container Registry):
Allow dynamic-group DevOpsDynamicGroup to manage repos in compartment <compartment_name>
- Per accedere al vault per il PAT (Personal Access Token, token di accesso personale), fornire l'accesso alla famiglia di segreti. Questo criterio è obbligatorio nella fase Build gestita per accedere a PAT e scaricare il codice sorgente:
Allow dynamic-group DevOpsDynamicGroup to read secret-family in compartment <compartment_name>
- Fornire l'accesso per leggere gli artifact di distribuzione nella fase Distribuisci artifact, leggere il repository di codici DevOps nella fase Build gestita e attivare la pipeline di distribuzione nella fase Trigger distribuzione:
Allow dynamic-group DevOpsDynamicGroup to manage devops-family in compartment <compartment_name>
- Per distribuire gli artifact, fornire l'accesso al Registro artifact:
Allow dynamic-group DevOpsDynamicGroup to manage generic-artifacts in compartment <compartment_name>
- Per inviare le notifiche, fornire l'accesso alla pipeline di build:
Allow dynamic-group DevOpsDynamicGroup to use ons-topics in compartment <compartment_name>
- Per consegnare gli artifact, fornire l'accesso a OCI (Container Registry):
- Creare criteri per consentire l'impostazione dell'accesso privato nella fase Build gestita:
Allow dynamic-group DevOpsDynamicGroup to use subnets in compartment <customer subnet compartment>
Allow dynamic-group DevOpsDynamicGroup to use vnics in compartment <customer subnet compartment>
Se nella configurazione dell'accesso privato sono specificati gruppi di sicurezza di rete (NSG), il criterio deve consentire l'accesso ai gruppi NSG:Allow dynamic-group DevOpsDynamicGroup to use network-security-groups in compartment <customer subnet compartment>
- Creare un criterio per consentire alla pipeline di build di accedere alla risorsa bundle CA (Certificate Authority) per la verifica TLS (Transport Layer Security):
Allow dynamic-group DevOpsDynamicGroup to use cabundles in compartment <compartment_name>
Criteri per l'accesso alle risorse ADM
Esempi di criteri per l'accesso alle risorse del servizio ADM (Application Dependency Management) dalla pipeline di build.
Per creare criteri utilizzando la console, vedere le istruzioni.
Allow dynamic-group DevOpsDynamicGroup to use adm-knowledge-bases in tenancy
Allow dynamic-group DevOpsDynamicGroup to manage adm-vulnerability-audits in tenancy
Criteri della pipeline di distribuzione
Esempi di criteri per la creazione di pipeline di distribuzione e l'aggiunta di fasi alla pipeline.
Per creare criteri utilizzando la console, vedere le istruzioni.
-
Distribuzioni di cluster OKE:
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to manage cluster in compartment <compartment_name>
- Funzioni:
Allow dynamic-group DevOpsDynamicGroup to manage fn-function in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to read fn-app in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use fn-invocation in compartment <compartment_name>
- Distribuzioni dei gruppi di istanze:
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to read instance-family in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use instance-agent-command-family in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use load-balancers in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use vnics in compartment <compartment_name>
Per la distribuzione di un gruppo di istanze, è inoltre necessario creare un gruppo dinamico per le istanze seguenti e concedere al gruppo dinamico determinate autorizzazioni:- Creare un gruppo dinamico per le istanze. Ad esempio, è possibile assegnare al gruppo dinamico il nome
DeployComputeDynamicGroup
e sostituirecompartmentOCID
con l'OCID del compartimento:All {instance.compartment.id = 'compartmentOCID'}
- Creare criteri IAM per concedere l'accesso necessario alle istanze di distribuzione:
Allow dynamic-group DeployComputeDynamicGroup to use instance-agent-command-execution-family in compartment <compartment_name> Allow dynamic-group DeployComputeDynamicGroup to read generic-artifacts in compartment <compartment_name> Allow dynamic-group DeployComputeDynamicGroup to read secret-family in compartment <compartment_name>
- Creare un gruppo dinamico per le istanze. Ad esempio, è possibile assegnare al gruppo dinamico il nome
- Distribuzioni della fase Helm:
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to manage cluster in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to read repos in compartment <compartment_name>
- Fase approvazione:
Allow group pipeline1_approvers to use devops-family in compartment <compartment_name> where all {request.principal.id = 'ocid1.pipeline1'} Allow group pipeline2_approvers to use devops-family in compartment <compartment_name> where all {request.principal.id = 'ocid1.pipeline2'}
- Fase shell:
Allow dynamic-group DevOpsDynamicGroup to manage compute-container-instances in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to manage compute-containers in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use vnics in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use subnets in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to use dhcp-options in compartment <compartment_name>
Se si utilizza il gruppo di sicurezza di rete durante la creazione della fase Shell, aggiungere il criterio seguente:Allow dynamic-group DevOpsDynamicGroup to use network-security-groups in compartment <compartment_name>
Criteri artifact
Esempi di criteri per l'aggiunta della fase Consegna artifact alla pipeline di build.
La fase Consegna artifact esegue il mapping degli output della build dalla fase Build gestita con la versione da distribuire a una risorsa artifact DevOps e quindi al repository di codici Oracle Cloud Infrastructure (OCI). DevOps supporta gli artifact memorizzati nei repository OCI Container Registry e Artifact Registry. Vedere Aggiunta di una fase di distribuzione artifact.
Per creare criteri utilizzando la console, vedere le istruzioni.
Crea i seguenti criteri IAM:
- Per visualizzare la lista di tutti i repository in Container Registry appartenenti alla tenancy o a un determinato compartimento, effettuare le operazioni riportate di seguito.
Allow dynamic-group DevOpsDynamicGroup to inspect repos in tenancy
Allow dynamic-group DevOpsDynamicGroup to inspect repos in compartment <compartment_name>
- Consentire il push degli artifact nel registro dei contenitori (OCIR) che appartiene alla tenancy o a un determinato compartimento:
Allow dynamic-group DevOpsDynamicGroup to use repos in tenancy
Allow dynamic-group DevOpsDynamicGroup to use repos in compartment <compartment_name>
- Possibilità di visualizzare una lista di artifact generici nel Registro artifact appartenente alla tenancy o a un determinato compartimento:
Allow dynamic-group DevOpsDynamicGroup to inspect generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to inspect generic-artifacts in compartment <compartment_name>
- Consentire il push degli artifact generici nel registro artifact che appartiene alla tenancy o a un determinato compartimento:
Allow dynamic-group DevOpsDynamicGroup to use generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to use generic-artifacts in compartment <compartment_name>
Vedere Criteri del registro artifact.
- Consentire agli utenti di estrarre artifact generici che appartengono alla tenancy o a un determinato compartimento:
Allow dynamic-group DevOpsDynamicGroup to read generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to read generic-artifacts in compartment <compartment_name>
Accesso al registro artifact
Oracle Cloud Infrastructure Artifact Registry è un servizio di repository per la memorizzazione, la condivisione e la gestione dei pacchetti di sviluppo software.
È possibile accedere agli artifact memorizzati nel registro artifact dal servizio DevOps. È possibile creare un riferimento a tre tipi di artifact nel Registro artifact: configurazioni di distribuzione del gruppo di istanze, artifact generali e file manifest Kubernetes. L'amministratore deve concedere l'autorizzazione read all-artifacts
alle risorse della pipeline.
Per creare criteri utilizzando la console, vedere le istruzioni.
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name>
Per ulteriori informazioni vedere Criteri del registro degli artifact.