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 inspect e read sono applicabili per l'autorizzazione DEVOPS_WORK_REQUEST.

progetto devops
  • DEVOPS_PROJECT_INSPECT
  • DEVOPS_PROJECT_READ
  • DEVOPS_PROJECT_UPDATE
  • DEVOPS_PROJECT_CREATE
  • DEVOPS_PROJECT_DELETE
  • DEVOPS_PROJECT_MOVE
  • DEVOPS_PROJECT_CASCADE_DELETE
  • DEVOPS_PROJECT_SETTINGS_READ
  • DEVOPS_PROJECT_SETTINGS_UPDATE
  • DEVOPS_PROJECT_SETTINGS_DELETE
famiglia-distribuzione-devops

I verbi inspect, read, use, manage sono applicabili per le seguenti autorizzazioni:

  • DEVOPS_DEPLOY_ARTIFACT
  • DEVOPS_DEPLOY_ENVIRONMENT
  • DEVOPS_DEPLOY_PIPELINE
  • DEVOPS_DEPLOY_STAGE
  • DEVOPS_DEPLOY_DEPLOYMENT
devops-deploy-artifact
  • DEVOPS_DEPLOY_ARTIFACT_INSPECT
  • DEVOPS_DEPLOY_ARTIFACT_READ
  • DEVOPS_DEPLOY_ARTIFACT_UPDATE
  • DEVOPS_DEPLOY_ARTIFACT_CREATE
  • DEVOPS_DEPLOY_ARTIFACT_DELETE
devops-deploy-environment
  • DEVOPS_DEPLOY_ENVIRONMENT_INSPECT
  • DEVOPS_DEPLOY_ENVIRONMENT_READ
  • DEVOPS_DEPLOY_ENVIRONMENT_UPDATE
  • DEVOPS_DEPLOY_ENVIRONMENT_CREATE
  • DEVOPS_DEPLOY_ENVIRONMENT_DELETE
devops-deploy-pipeline
  • DEVOPS_DEPLOY_PIPELINE_INSPECT
  • DEVOPS_DEPLOY_PIPELINE_READ
  • DEVOPS_DEPLOY_PIPELINE_UPDATE
  • DEVOPS_DEPLOY_PIPELINE_CREATE
  • DEVOPS_DEPLOY_PIPELINE_DELETE
fase di distribuzione devops
  • DEVOPS_DEPLOY_STAGE_INSPECT
  • DEVOPS_DEPLOY_STAGE_READ
  • DEVOPS_DEPLOY_STAGE_UPDATE
  • DEVOPS_DEPLOY_STAGE_CREATE
  • DEVOPS_DEPLOY_STAGE_DELETE
distribuzione devops
  • DEVOPS_DEPLOY_DEPLOYMENT_INSPECT
  • DEVOPS_DEPLOY_DEPLOYMENT_READ
  • DEVOPS_DEPLOY_DEPLOYMENT_UPDATE
  • DEVOPS_DEPLOY_DEPLOYMENT_CREATE
  • DEVOPS_DEPLOY_DEPLOYMENT_DELETE
  • DEVOPS_DEPLOY_DEPLOYMENT_CANCEL
  • DEVOPS_DEPLOY_DEPLOYMENT_APPROVE
devops-work-requests
  • DEVOPS_WORK_REQUEST_INSPECT
  • DEVOPS_WORK_REQUEST_READ
famiglia-repository-depositi-depositi

I verbi inspect, read, use, manage sono applicabili per le seguenti autorizzazioni:

  • DEVOPS_REPOSITORY
  • DEVOPS_PULL_REQUEST
  • DEVOPS_PULL_REQUEST_COMMENT
  • DEVOPS_PROTECTED_BRANCH

Il verbo manage è applicabile per l'autorizzazione DEVOPS_REPOSITORY_SETTINGS.

repository devops
  • DEVOPS_REPOSITORY_INSPECT
  • DEVOPS_REPOSITORY_READ
  • DEVOPS_REPOSITORY_UPDATE
  • DEVOPS_REPOSITORY_CREATE
  • DEVOPS_REPOSITORY_DELETE
  • DEVOPS_REPOSITORY_SETTINGS_READ
  • DEVOPS_REPOSITORY_SETTINGS_UPDATE
  • DEVOPS_REPOSITORY_SETTINGS_DELETE
richiesta devops-pull
  • DEVOPS_PULL_REQUEST_INSPECT
  • DEVOPS_PULL_REQUEST_READ
  • DEVOPS_PULL_REQUEST_UPDATE
  • DEVOPS_PULL_REQUEST_CREATE
  • DEVOPS_PULL_REQUEST_DELETE
  • DEVOPS_PULL_REQUEST_REVIEW
devops-pull-request-comment
  • DEVOPS_PULL_REQUEST_COMMENT_INSPECT
  • DEVOPS_PULL_REQUEST_COMMENT_READ
  • DEVOPS_PULL_REQUEST_COMMENT_UPDATE
  • DEVOPS_PULL_REQUEST_COMMENT_CREATE
  • DEVOPS_PULL_REQUEST_COMMENT_DELETE
filiale protetta da devops
  • DEVOPS_PROTECTED_BRANCH_INSPECT
  • DEVOPS_PROTECTED_BRANCH_READ
  • DEVOPS_PROTECTED_BRANCH_PUSH
  • DEVOPS_PROTECTED_BRANCH_CREATE
  • DEVOPS_PROTECTED_BRANCH_UPDATE
  • DEVOPS_PROTECTED_BRANCH_DELETE
famiglia-costruzione-depositi

I verbi specificati, inspect, read, use, manage sono applicabili per le seguenti autorizzazioni:

  • DEVOPS_BUILD_PIPELINE
  • DEVOPS_BUILD_PIPELINE_STAGE
  • DEVOPS_BUILD_RUN
devops-build-pipeline
  • DEVOPS_BUILD_PIPELINE_INSPECT
  • DEVOPS_BUILD_PIPELINE_READ
  • DEVOPS_BUILD_PIPELINE_UPDATE
  • DEVOPS_BUILD_PIPELINE_CREATE
  • DEVOPS_BUILD_PIPELINE_DELETE
devops-build-pipeline-stage
  • DEVOPS_BUILD_PIPELINE_STAGE_INSPECT
  • DEVOPS_BUILD_PIPELINE_STAGE_READ
  • DEVOPS_BUILD_PIPELINE_STAGE_UPDATE
  • DEVOPS_BUILD_PIPELINE_STAGE_CREATE
  • DEVOPS_BUILD_PIPELINE_STAGE_DELETE
devops-build-run
  • DEVOPS_BUILD_RUN_INSPECT
  • DEVOPS_BUILD_RUN_READ
  • DEVOPS_BUILD_RUN_UPDATE
  • DEVOPS_BUILD_RUN_CREATE
  • DEVOPS_BUILD_RUN_DELETE
  • DEVOPS_BUILD_RUN_CANCEL
connessione devops
  • DEVOPS_CONNECTION_INSPECT
  • DEVOPS_CONNECTION_READ
  • DEVOPS_CONNECTION_UPDATE
  • DEVOPS_CONNECTION_CREATE
  • DEVOPS_CONNECTION_DELETE
devops-trigger
  • DEVOPS_TRIGGER_INSPECT
  • DEVOPS_TRIGGER_READ
  • DEVOPS_TRIGGER_UPDATE
  • DEVOPS_TRIGGER_CREATE
  • DEVOPS_TRIGGER_DELETE

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;

devops-project

devops-deploy-artifact

devops-deploy-environment

devops-deploy-pipeline

devops-deploy-stage

devops-deployment

devops-repository

devops-pull-request

devops-connection

devops-trigger

devops-build-pipeline

devops-build-pipeline-stage

devops-build-run

devops-pull-request-comment

devops-protected-branch

target.project.id Voce Stoccato Disponibile per le operazioni di recupero, aggiornamento, eliminazione e spostamento nella risorsa progetto.

devops-project

devops-deploy-artifact

devops-deploy-environment

devops-deploy-pipeline

devops-deploy-stage

devops-deployment

devops-repository

devops-pull-request

devops-connection

devops-trigger

devops-build-pipeline

devops-build-pipeline-stage

devops-build-run

devops-pull-request-comment

devops-protected-branch

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.

devops-deploy-pipeline

devops-deploy-stage

devops-deployment

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

devops-pull-request

devops-pull-request-comment

devops-protected-branch

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

devops-pull-request

devops-pull-request-comment

devops-protected-branch

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.

devops-build-pipeline

devops-build-pipeline-stage

devops-build-run

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.

progetto devops

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

inspect+

DEVOPS_PROJECT_READ

inspect+

GetProject

Recupera un progetto specifico per ID.
use

read+

DEVOPS_PROJECT_UPDATE

read+

UpdateProject

Aggiornare un progetto specifico.
manage

use+

DEVOPS_PROJECT_CREATE

use+

CreateProject

Creare una risorsa progetto.
manage

use+

DEVOPS_PROJECT_DELETE

use+

DeleteProject

Consente di eliminare un progetto specifico.
manage

use+

DEVOPS_PROJECT_MOVE

use+

ChangeProjectCompartment

Spostare un progetto in un compartimento diverso.
famiglia-distribuzione-devops

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
  • DEVOPS_DEPLOY_ARTIFACT_INSPECT
  • DEVOPS_DEPLOY_ENVIRONMENT_INSPECT
  • DEVOPS_DEPLOY_PIPELINE_INSPECT
  • DEVOPS_DEPLOY_STAGE_INSPECT
  • DEVOPS_DEPLOYMENT_INSPECT
  • ListDeployArtifacts
  • ListDeployEnvironments
  • ListDeployPipelines
  • ListDeployStages
  • ListDeployments
  • Elenca tutti gli artifact in un progetto o in un compartimento.
  • Elenca tutti gli ambienti in un progetto o compartimento.
  • Elenca tutte le risorse pipeline in un compartimento.
  • Elenca tutte le fasi di una pipeline o di un compartimento.
  • Elenca tutte le distribuzioni in un compartimento.
read

inspect+

  • DEVOPS_DEPLOY_ARTIFACT_READ
  • DEVOPS_DEPLOY_ENVIRONMENT_READ
  • DEVOPS_DEPLOY_PIPELINE_READ
  • DEVOPS_DEPLOY_STAGE_READ
  • DEVOPS_DEPLOYMENT_READ

inspect+

  • GetDeployArtifact
  • GetDeployEnvironment
  • GetDeployPipeline
  • GetDeployStage
  • GetDeployment
  • Recupera un artifact specifico per ID.
  • Recupera un ambiente specifico in base all'ID.
  • Recupera una pipeline specifica in base all'ID.
  • Recupera una fase specifica in base all'ID.
  • Ottenere una distribuzione specifica in base all'ID.
use

read+

  • DEVOPS_DEPLOY_ARTIFACT_UPDATE
  • DEVOPS_DEPLOY_ENVIRONMENT_UPDATE
  • DEVOPS_DEPLOY_PIPELINE_UPDATE
  • DEVOPS_DEPLOY_STAGE_UPDATE
  • DEVOPS_DEPLOYMENT_UPDATE
  • DEVOPS_DEPLOYMENT_APPROVE
  • DEVOPS_DEPLOYMENT_CANCEL

read+

  • UpdateDeployArtifact
  • UpdateDeployEnvironment
  • UpdateDeployPipeline
  • UpdateDeployStage
  • UpdateDeployment
  • ApproveDeployment
  • CancelDeployment
  • Aggiornare un artifact specifico in base all'ID.
  • Aggiornare un ambiente specifico in base all'ID.
  • Aggiorna una pipeline specifica in base all'ID.
  • Aggiornare una fase specifica in base all'ID.
  • Aggiorna una distribuzione specifica in base all'ID.
  • Approva una distribuzione specifica in attesa di approvazione manuale.
  • Annullare una distribuzione in esecuzione.
manage

use+

  • DEVOPS_DEPLOY_ARTIFACT_CREATE
  • DEVOPS_DEPLOY_ARTIFACT_DELETE
  • DEVOPS_DEPLOY_ENVIRONMENT_CREATE
  • DEVOPS_DEPLOY_ENVIRONMENT_DELETE
  • DEVOPS_DEPLOY_PIPELINE_CREATE
  • DEVOPS_DEPLOY_PIPELINE_DELETE
  • DEVOPS_DEPLOY_STAGE_CREATE
  • DEVOPS_DEPLOY_STAGE_DELETE
  • DEVOPS_DEPLOYMENT_CREATE
  • DEVOPS_DEPLOYMENT_DELETE

use+

  • CreateDeployArtifact
  • DeleteDeployArtifact
  • CreateDeployEnvironment
  • DeleteDeployEnvironment
  • CreateDeployPipeline
  • DeleteDeployPipeline
  • CreateDeployStage
  • DeleteDeployStage
  • CreateDeployment
  • DeleteDeployment
  • Creare una risorsa artifact all'interno di un progetto.
  • Elimina un artifact specifico in base all'ID.
  • Creare un ambiente all'interno di un progetto.
  • Elimina un ambiente specifico in base all'ID.
  • Creare una risorsa pipeline.
  • Elimina una pipeline specifica in base all'ID.
  • Creare una fase all'interno di una pipeline.
  • Elimina una fase specifica in base all'ID.
  • Creare una distribuzione per una pipeline specifica.
  • Elimina una distribuzione specifica in base all'ID.
devops-deploy-artifact

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

inspect+

DEVOPS_DEPLOY_ARTIFACT_READ

inspect+

GetDeployArtifact

Recupera un artifact specifico per ID.
use

read+

DEVOPS_DEPLOY_ARTIFACT_UPDATE

read+

UpdateDeployArtifact

Aggiornare un artifact specifico in base all'ID.
manage

use+

DEVOPS_DEPLOY_ARTIFACT_CREATE

use+

CreateDeployArtifact

Creare una risorsa artifact all'interno di un progetto.

manage

use+

DEVOPS_DEPLOY_ARTIFACT_DELETE

use+

DeleteDeployArtifact

Elimina un artifact specifico in base all'ID.

devops-deploy-environment

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

inspect+

DEVOPS_DEPLOY_ENVIRONMENT_READ

inspect+

GetDeployEnvironment

Recupera un ambiente specifico in base all'ID.
use

read+

DEVOPS_DEPLOY_ENVIRONMENT_UPDATE

read+

UpdateDeployEnvironment

Aggiornare un ambiente specifico in base all'ID.
manage

use+

DEVOPS_DEPLOY_ENVIRONMENT_CREATE

use+

CreateDeployEnvironment

Creare un ambiente per una destinazione di distribuzione all'interno di un'applicazione.

manage

use+

DEVOPS_DEPLOY_ENVIRONMENT_DELETE

use+

DeleteDeployEnvironment

Elimina un ambiente specifico in base all'ID.

devops-deploy-pipeline

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

inspect+

DEVOPS_DEPLOY_PIPELINE_READ

inspect+

GetDeployPipeline

Recupera una pipeline specifica in base all'ID.
use

read+

DEVOPS_DEPLOY_PIPELINE_UPDATE

read+

UpdateDeployPipeline

Aggiorna una pipeline specifica in base all'ID.
manage

use+

DEVOPS_DEPLOY_PIPELINE_CREATE

use+

CreateDeployPipeline

Creare una risorsa pipeline.

manage

use+

DEVOPS_DEPLOY_PIPELINE_DELETE

use+

DeleteDeployPipeline

Eliminare una pipeline specifica.

fase di distribuzione devops

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

inspect+

DEVOPS_DEPLOY_STAGE_READ

inspect+

GetDeployStage

Recupera una fase specifica in base all'ID.
use

read+

DEVOPS_DEPLOY_STAGE_UPDATE

read+

UpdateDeployStage

Aggiornare una fase specifica in base all'ID.
manage

use+

DEVOPS_DEPLOY_STAGE_CREATE

use+

CreateDeployStage

Creare una fase all'interno di una pipeline.

manage

use+

DEVOPS_DEPLOY_STAGE_DELETE

use+

DeleteDeployStage

Elimina una fase specifica in base all'ID.

distribuzione devops

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

inspect+

DEVOPS_DEPLOYMENT_READ

inspect+

GetDeployment

Ottenere una distribuzione specifica in base all'ID.
use

read+

DEVOPS_DEPLOYMENT_UPDATE

read+

UpdateDeployStage

Aggiornare una fase specifica in base all'ID.

use

read+

DEVOPS_DEPLOYMENT_APPROVE

read+

ApproveDeployment

Approva una distribuzione specifica in attesa di approvazione manuale.
use

read+

DEVOPS_DEPLOYMENT_CANCEL

read+

CancelDeployment

Annullare una distribuzione in esecuzione.

manage

use+

DEVOPS_DEPLOYMENT_CREATE

use+

CreateDeployment

Creare una distribuzione per una pipeline specifica.

manage

use+

DEVOPS_DEPLOYMENT_DELETE

use+

DeleteDeployment

Eliminare una distribuzione specifica.

devops-work-requests

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

inspect+

DEVOPS_WORK_REQUEST_READ

inspect+

GetWorkRequest

Recupera una richiesta di lavoro specifica in base all'ID.
famiglia-repository-depositi-depositi

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
  • DEVOPS_REPOSITORY_INSPECT
  • DEVOPS_PULL_REQUEST_INSPECT
  • DEVOPS_PULL_REQUEST_COMMENT_INSPECT
  • DEVOPS_PROTECTED_BRANCH_INSPECT
  • ListRepositories
  • ListPullRequests
  • ListPullRequestAttachments
  • ListPullRequestComments
  • ListProtectedBranches
  • Elenca tutte le risorse del repository per ID compartimento, ID progetto o ID repository.
  • Elenca le richieste pull in un repository.
  • Elenca gli allegati della richiesta Pull per identificativo.
  • Elenca i commenti del revisore della richiesta Pull.
  • Elenca le diramazioni protette in un repository.
read
inspect+
  • DEVOPS_REPOSITORY_READ
  • DEVOPS_PULL_REQUEST_READ
  • DEVOPS_PULL_REQUEST_COMMENT_READ
  • DEVOPS_PROTECTED_BRANCH_READ
  • DEVOPS_PULL_REQUEST_REVIEW
  • DEVOPS_PULL_REQUEST_COMMENT_CREATE
  • DEVOPS_PULL_REQUEST_COMMENT_UPDATE
  • DEVOPS_PULL_REQUEST_COMMENT_DELETE

inspect+

  • GetRepository
  • GetPullRequest
  • GetPullRequestComment
  • GetPullRequestAttachmentContent
  • GetProtectedBranch
  • ReviewPullRequest
  • UpdatePullRequestComment
  • LikePullRequestComment
  • UnlikePullRequestComment
  • DeletePullRequestComment
  • Recupera un repository specifico in base all'ID.
  • Recupera una richiesta pull per ID.
  • Ottenere un commento in base a un ID commento.
  • Recupera il contenuto di un allegato di una richiesta Pull.
  • Ottenere informazioni sulla protezione per una diramazione specifica.
  • Aggiornare l'elenco di revisori di una richiesta Pull.
  • Aggiornare un commento della richiesta Pull in base all'ID.
  • Commento simile a una richiesta pull.
  • A differenza di un commento di richiesta pull.
  • Eliminare un commento della richiesta pull.
use

read+

  • DEVOPS_REPOSITORY_UPDATE
  • DEVOPS_PULL_REQUEST_UPDATE
  • DEVOPS_PULL_REQUEST_CREATE
  • DEVOPS_PULL_REQUEST_DELETE

read+

  • UpdateRepository
  • UpdatePullRequest
  • DeclinePullRequest
  • ReopenPullRequest
  • MergePullRequest
  • DeletePullRequest
  • Aggiornare un repository specifico in base all'ID.
  • Aggiornare una richiesta Pull in base all'ID.
  • Chiudere una richiesta Pull impostando il ciclo di vita della richiesta Pull su Rifiutato.
  • Riaprire una richiesta pull chiusa.
  • Unisce una richiesta Pull approvata dalla diramazione di origine alla destinazione.
  • Elimina una richiesta Pull in base all'ID.
manage

use+

  • DEVOPS_REPOSITORY_CREATE
  • DEVOPS_REPOSITORY_DELETE
  • DEVOPS_PROTECTED_BRANCH_CREATE
  • DEVOPS_PROTECTED_BRANCH_UPDATE
  • DEVOPS_PROTECTED_BRANCH_DELETE
  • DEVOPS_REPOSITORY_SETTINGS_READ
  • DEVOPS_REPOSITORY_SETTINGS_UPDATE
  • DEVOPS_REPOSITORY_SETTINGS_DELETE
  • DEVOPS_PROTECTED_BRANCH_PUSH

use+

  • CreateRepository
  • DeleteRepository
  • CreateProtectedBranch
  • UpdateProtectedBranch
  • DeleteProtectedBranch
  • GetRepositorySettings
  • UpdateRepositorySettings
  • DeleteRepositorySettings
  • ProtectedBranchReceivePack
  • Creare un repository.
  • Elimina un repository specifico in base all'ID.
  • Creare una diramazione protetta in un repository.
  • Aggiornare il livello di protezione in una diramazione protetta. Le opzioni del livello di protezione corrente sono PULL_REQUEST_MERGE_ONLY e READ_ONLY.
  • Eliminare una diramazione protetta. Questa operazione rimuove le limitazioni aggiunte a una diramazione quando è stata protetta.
  • Recupera le impostazioni personalizzate configurate per un repository.
  • Aggiornare le impostazioni personalizzate configurate per un repository.
  • Rimuovere le impostazioni personalizzate configurate per un repository.
  • Consente agli utenti autorizzati di eseguire il PUSH diretto in una diramazione protetta.
repository devops

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

inspect+

DEVOPS_REPOSITORY_READ

inspect+

GetRepository

Recupera un repository specifico in base all'ID.
use

read+

DEVOPS_REPOSITORY_UPDATE

read+

UpdateRepository

Aggiornare un repository specifico in base all'ID.
manage

use+

DEVOPS_REPOSITORY_CREATE

use+

CreateRepository

Creare un repository.

manage

use+

DEVOPS_REPOSITORY_DELETE

use+

DeleteRepository

Elimina un repository specifico in base all'ID.

connessione devops

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

inspect+

DEVOPS_CONNECTION_READ

inspect+

GetConnection

Ottenere una connessione specifica in base all'ID.
use

read+

DEVOPS_CONNECTION_UPDATE

read+

UpdateConnection

Aggiornare una connessione specifica in base all'ID.
use

read+

DEVOPS_CONNECTION_VALIDATE

read+

ValidateConnection

Convalidare il PAT della connessione.
manage

use+

DEVOPS_CONNECTION_CREATE

use+

CreateConnection

Creare una risorsa di connessione in un progetto.

manage

use+

DEVOPS_CONNECTION_DELETE

use+

DeleteConnection

Elimina una connessione specifica in base all'ID.

devops-trigger

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

inspect+

DEVOPS_TRIGGER_READ

inspect+

GetTrigger

Recupera un trigger specifico in base all'ID.
use

read+

DEVOPS_TRIGGER_UPDATE

read+

UpdateTrigger

Aggiornare un trigger specifico in base all'ID.
manage

use+

DEVOPS_TRIGGER_CREATE

use+

CreateTrigger

Creare una risorsa trigger in un progetto.

manage

use+

DEVOPS_TRIGGER_DELETE

use+

DeleteTrigger

Elimina un trigger specifico in base all'ID.

famiglia-costruzione-depositi

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
  • DEVOPS_BUILD_PIPELINE_INSPECT
  • DEVOPS_BUILD_PIPELINE_STAGE_INSPECT
  • DEVOPS_BUILD_RUN_INSPECT
  • ListBuildPipelines
  • ListBuildPipelineStages
  • ListBuildRuns
  • Elenca tutte le risorse della pipeline di build in un compartimento.
  • Elenca le fasi all'interno di una pipeline o di un compartimento di build.
  • Elenca le esecuzioni di build in un progetto o in un compartimento.
read

inspect+

  • DEVOPS_BUILD_PIPELINE_READ
  • DEVOPS_BUILD_PIPELINE_STAGE_READ
  • DEVOPS_BUILD_RUN_READ

inspect+

  • GetBuildPipeline
  • GetBuildPipelineStage
  • GetBuildRun
  • Ottieni una pipeline di build specifica in base all'ID.
  • Ottieni una fase specifica della pipeline di build in base all'ID.
  • Ottiene un ID esecuzione build specifico.
use

read+

  • DEVOPS_BUILD_PIPELINE_UPDATE
  • DEVOPS_BUILD_PIPELINE_STAGE_UPDATE
  • DEVOPS_BUILD_RUN_UPDATE
  • DEVOPS_BUILD_RUN_CANCEL

read+

  • UpdateBuildPipeline
  • UpdateBuildPipelineStage
  • UpdateBuildRun
  • CancelBuildRun
  • Aggiornare una pipeline di build specifica in base all'ID.
  • Aggiorna una fase specifica della pipeline di build in base all'ID.
  • Aggiorna un'esecuzione build esistente.
  • Annulla un'esecuzione della build in esecuzione.
manage

use+

  • DEVOPS_BUILD_PIPELINE_CREATE
  • DEVOPS_BUILD_PIPELINE_DELETE
  • DEVOPS_BUILD_PIPELINE_STAGE_CREATE
  • DEVOPS_BUILD_PIPELINE_STAGE_DELETE
  • DEVOPS_BUILD_RUN_CREATE
  • DEVOPS_BUILD_RUN_DELETE

use+

  • CreateBuildPipeline
  • DeleteBuildPipeline
  • CreateBuildPipelineStage
  • DeleteBuildPipelineStage
  • CreateBuildRun
  • DeleteBuildRun
  • Creare una risorsa pipeline di build.
  • Eliminare una pipeline di build.
  • Creare una fase all'interno di una pipeline di build.
  • Elimina una fase specifica della pipeline di build in base all'ID.
  • Avviare un'esecuzione build per una pipeline di build.
  • Eliminare un'esecuzione build esistente.
devops-build-pipeline

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

inspect+

DEVOPS_BUILD_PIPELINE_READ

inspect+

GetBuildPipeline

Ottieni una pipeline di build specifica in base all'ID.
use

read+

DEVOPS_BUILD_PIPELINE_UPDATE

read+

UpdateBuildPipeline

Aggiornare una pipeline di build specifica in base all'ID.
manage

use+

DEVOPS_BUILD_PIPELINE_CREATE

use+

CreateBuildPipeline

Creare una risorsa pipeline di build.

manage

use+

DEVOPS_BUILD_PIPELINE_DELETE

use+

DeleteBuildPipeline

Eliminare una pipeline di build specifica.

devops-build-pipeline-stage

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

inspect+

DEVOPS_BUILD_PIPELINE_STAGE_READ

inspect+

GetBuildPipelineStage

Ottieni una fase specifica della pipeline di build in base all'ID.
use

read+

DEVOPS_BUILD_PIPELINE_STAGE_UPDATE

read+

UpdateBuildPipelineStage

Aggiorna una fase specifica della pipeline di build in base all'ID.
manage

use+

DEVOPS_BUILD_PIPELINE_STAGE_CREATE

use+

CreateBuildPipelineStage

Creare una fase in una pipeline di build.

manage

use+

DEVOPS_BUILD_PIPELINE_STAGE_DELETE

use+

DeleteBuildPipelineStage

Elimina la fase specifica della pipeline di build in base all'ID.

devops-build-run

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

inspect+

DEVOPS_BUILD_RUN_READ

inspect+

GetBuildRun

Ottiene un ID esecuzione build specifico.
use

read+

DEVOPS_BUILD_RUN_UPDATE

read+

UpdateBuildRun

Aggiorna un'esecuzione build esistente.
use

read+

DEVOPS_BUILD_RUN_CANCEL

read+

CancelBuildRun

Annullare l'esecuzione di una build in esecuzione.
manage

use+

DEVOPS_BUILD_RUN_CREATE

use+

CreateBuildRun

Avvia un'esecuzione build per una pipeline di build specificata.

manage

use+

DEVOPS_BUILD_RUN_DELETE

use+

DeleteBuildRun

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.

  1. Aprire il menu di navigazione e fare clic su Identità e sicurezza. In Identità fare clic su Criteri.
  2. Fare clic su Create Policy.
  3. Immettere un nome e una descrizione per il criterio.
  4. 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>
  5. 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.

Creare un gruppo dinamico per le risorse DevOps. È possibile assegnare al gruppo dinamico il nome 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.

Istruzione dei criteri richiesta per DevOpsDynamicGroup:
Allow dynamic-group DevOpsDynamicGroup to manage devops-family in compartment <compartment_name>
Nota

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.

Creare un criterio per consentire agli utenti di un gruppo di creare, aggiornare o eliminare un ambiente OKE privato:
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.

Per creare un repository di codici, creare i criteri IAM riportati di seguito.
  • 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>
Per clonare un repository, creare i criteri IAM riportati di seguito.
  • 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>
Per integrarsi con repository di codici esterni, creare un criterio nel compartimento radice. Ad esempio, per consentire al gruppo dinamico di leggere i segreti:
Allow dynamic-group DevOpsDynamicGroup to read secret-family in compartment <compartment_name>
Per convalidare una connessione esterna, creare il criterio IAM seguente insieme al criterio per leggere i segreti:
Allow group <group-name> to use devops-connection in compartment <compartment_name>
Per ricevere notifiche di posta elettronica per le richieste Pull nei repository di codici, creare il criterio IAM riportato di seguito utilizzando un gruppo dinamico. L'amministratore deve creare questo criterio. Ad esempio, per consentire il gruppo dinamico DevOpsDynamicGroup che comprende la risorsa repository:
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>
  • 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.

Creare criteri IAM per consentire al gruppo dinamico di accedere alle risorse ADM nella tenancy:
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.

Creare criteri IAM per consentire al gruppo dinamico della pipeline di distribuzione di accedere alle risorse del compartimento:
  • 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 sostituire compartmentOCID 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>
  • 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>

    Vedere Criteri per controllare l'accesso ai repository.

  • 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.

Creare un criterio IAM per consentire al gruppo dinamico di accedere agli artifact da un compartimento specifico:
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name>

Per ulteriori informazioni vedere Criteri del registro degli artifact.