Stratégies IAM DevOps

Créez des stratégies IAM pour déterminer qui a accès aux ressources DevOps ainsi que le type d'accès de chaque groupe d'utilisateurs.

Pour pouvoir contrôler l'accès à des ressources DevOps, telles que des référentiels de code, des pipelines de build et des pipelines de déploiement, vous devez créer des utilisateurs et les placer dans les groupes appropriés (reportez-vous à Gestion des utilisateurs et à Gestion des groupes). Vous pouvez ensuite créer des stratégies et des instructions de stratégie pour contrôler l'accès (reportez-vous à Gestion des stratégies).

Par défaut, les utilisateurs du groupe Administrators ont accès à toutes les ressources DevOps. Si vous ne connaissez pas les stratégies IAM, reportez-vous à Introduction aux stratégies.

Pour obtenir la liste complète de toutes les stratégies dans Oracle Cloud Infrastructure, reportez-vous à Référence de stratégie et à Stratégies courantes.

Types de ressource et droits d'accès

Liste des types de ressource DevOps et des droits d'accès associés.

Pour affecter des droits d'accès à toutes les ressources DevOps, utilisez le type d'agrégation devops-family. Pour plus d'informations, reportez-vous à Droits d'accès.

Une stratégie qui utilise <verb> devops-family équivaut à écrire une stratégie avec une instruction <verb> <resource-type> distincte pour chaque type de ressource individuel.

Type de ressource Droits d'accès
famille devops Les verbes inspect, read, use, manage sont applicables à tous les droits d'accès de type de ressource DevOps.

Les verbes inspect et read sont applicables pour le droit d'accès DEVOPS_WORK_REQUEST.

devops-project
  • 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
devops-deploy-famille

Les verbes inspect, read, use, manage sont applicables pour les droits d'accès suivants :

  • 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
devops-deploy-stage
  • DEVOPS_DEPLOY_STAGE_INSPECT
  • DEVOPS_DEPLOY_STAGE_READ
  • DEVOPS_DEPLOY_STAGE_UPDATE
  • DEVOPS_DEPLOY_STAGE_CREATE
  • DEVOPS_DEPLOY_STAGE_DELETE
devops-deployment
  • 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
devops-repository-family

Les verbes inspect, read, use, manage sont applicables pour les droits d'accès suivants :

  • DEVOPS_REPOSITORY
  • DEVOPS_PULL_REQUEST
  • DEVOPS_PULL_REQUEST_COMMENT
  • DEVOPS_PROTECTED_BRANCH

Le verbe manage est applicable pour le droit d'accès DEVOPS_REPOSITORY_SETTINGS.

devops-repository
  • 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
devops-pull-request
  • 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-commentaire
  • 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
branche protégée par 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
devops-construire-famille

Les verbes indiqués, inspect, read, use, manage sont applicables aux droits d'accès suivants :

  • 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
devops-connection
  • 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

Variables prises en charge

Les variables sont utilisées lors de l'ajout de conditions à une stratégie.

DevOps prend en charge les variables suivantes :

  • Entité : OCID (identificateur Oracle Cloud)
  • Chaîne : texte à format libre.
  • Nombre : valeur numérique (précision arbitraire)
  • Liste : liste des entités, chaînes ou numéros
  • Booléen : True ou False

Reportez-vous à Variables générales pour toutes les demandes.

Les variables sont en minuscules et séparées par un trait d'union. Par exemple, target.tag-namespace.name, target.display-name. Ici, name doit être unique et display-name est la description.

Les variables requises sont fournies par le service DevOps pour chaque demande. Les variables automatiques sont fournies par le moteur d'autorisation (dans le service avec le kit SDK pour un client lourd, ou sur le plan de données d'identité pour un client léger).

Variables requises Type Description
target.compartment.id Entité (OCID) OCID de la ressource principale de la demande.
request.operation Chaîne ID de l'opération (par exemple, GetUser) pour la demande.
target.resource.kind Chaîne Nom de catégorie de la ressource principale de la demande.
Variables automatiques Type Description
request.user.id Entité (OCID) OCID de l'utilisateur à l'origine de la demande.
request.groups.id Liste des entités (OCID) OCID des groupes auxquels appartient l'utilisateur demandeur.
target.compartment.name Chaîne Nom du compartiment indiqué dans target.compartment.id.
target.tenant.id Entité (OCID) OCID de l'ID de locataire cible.

Voici la liste des sources disponibles pour les variables :

  • Demande : provient de l'entrée de la demande.
  • Dérivé : provient de la demande.
  • Stocké : provient du service, entrée conservée.
  • Calculé : calculé à partir des données de service.

Mise en correspondance de variables avec des types de ressource

Type de ressource Variable Type Source Description

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 Entrée Stocké Disponible pour les opérations d'obtention, de mise à jour, de suppression et de déplacement sur la ressource de projet.

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 Chaîne Stocké Disponible pour les opérations d'obtention, de mise à jour, de suppression et de déplacement sur la ressource de projet.
devops-deploy-artifact target.artifact.id Entité Stocké Disponible pour les opérations d'obtention, de mise à jour et de suppression sur la ressource d'artefact.
devops-deploy-environment target.environment.id Entité Stocké Disponible pour les opérations d'obtention, de mise à jour et de suppression sur la ressource d'environnement.

devops-deploy-pipeline

devops-deploy-stage

devops-deployment

target.pipeline.id Entité Stocké Disponible pour les opérations d'obtention, de mise à jour et de suppression sur la ressource de pipeline.
devops-deploy-stage target.stage.id Entité Stocké Disponible pour les opérations d'obtention, de mise à jour et de suppression sur la ressource de phase.
devops-deployment target.deployment.id Entité Stocké Disponible pour les opérations d'obtention, de mise à jour et de suppression sur les types de ressource de déploiement.
devops-repository

devops-pull-request

devops-pull-request-comment

devops-protected-branch

target.repository.id Entité Stocké Disponible pour les opérations d'obtention, de mise à jour, de suppression et de déplacement sur la ressource de référentiel.
devops-pull-request-comment target.pull-request.id Entité Stocké Disponible pour les opérations d'obtention, de mise à jour et de suppression sur la ressource Pull-Request.
devops-repository

devops-pull-request

devops-pull-request-comment

devops-protected-branch

target.repository.name Entité Stocké Disponible pour les opérations d'obtention, de mise à jour, de suppression et de déplacement sur la ressource de référentiel.
devops-pull-request-comment target.pull-request.display-name Chaîne Stocké Disponible pour les opérations d'obtention, de mise à jour et de suppression sur la ressource Pull-Request.
devops-repository target.branch.name Entité Stocké Disponible pour les opérations Git telles que upload-pack et receive-pack sur le branchement de référentiel.
devops-protected-branch target.branch.name Chaîne Stocké Disponible pour les opérations d'obtention, de mise à jour, de suppression et de déplacement sur la ressource de branche protégée.
devops-repository target.tag.name Entité Stocké Disponible pour les opérations Git telles que upload-pack et receive-pack sur le branchement de référentiel.
devops-pull-request target.pull-request.id Entité Stocké Disponible pour les opérations d'obtention, de mise à jour et de suppression sur la ressource Pull-Request.
devops-pull-request target.pull-request.display-name Chaîne Stocké Disponible pour les opérations d'obtention, de mise à jour et de suppression sur la ressource Pull-Request.
devops-connection target.connection.id Entité Stocké Disponible pour les opérations d'obtention, de mise à jour et de suppression sur la ressource de connexion.
devops-trigger target.trigger.id Entité Stocké Disponible pour les opérations d'obtention, de mise à jour et de suppression sur la ressource de déclencheur.

devops-build-pipeline

devops-build-pipeline-stage

devops-build-run

target.build-pipeline.id Entité Stocké Disponible pour les opérations d'obtention, de mise à jour et de suppression sur la ressource de pipeline de build.
devops-build-pipeline-stage target.build-pipeline-stage.id Entité Stocké Disponible pour les opérations d'obtention, de mise à jour et de suppression sur la ressource de phase de pipeline de build.
devops-build-run target.build-run.id Entité Stocké Disponible pour les opérations d'obtention, de mise à jour, de suppression et d'annulation sur la ressource d'exécution de build.

Détails des combinaisons de verbe et de type de ressource

Identifiez les droits d'accès et les opérations d'API couverts par chaque verbe pour les ressources DevOps.

Le niveau d'accès est cumulatif à mesure que vous passez d'un verbe à l'autre, dans l'ordre suivant : inspect, read, use, manage. Un signe plus (+) dans une cellule du tableau indique un accès incrémentiel par rapport à la cellule précédente. Tous les droits d'accès (inspecter, lire, utiliser et gérer) sont applicables pour le type de ressource devops-family, qui inclut toutes les ressources DevOps.

Pour plus d'informations sur l'octroi d'accès, reportez-vous à Droits d'accès.

devops-project

Ce tableau répertorie les droits d'accès ainsi que les API entièrement couvertes par ces derniers pour la ressource devops-project.

Verbes Droits d'accès API couvertes Description
inspect DEVOPS_PROJECT_INSPECT ListProjects Permet de répertorier toutes les ressources de projet d'un compartiment.
read

inspect+

DEVOPS_PROJECT_READ

inspect+

GetProject

Permet d'obtenir un projet spécifique selon un ID.
use

read+

DEVOPS_PROJECT_UPDATE

read+

UpdateProject

Permet de mettre à jour un projet spécifique.
manage

use+

DEVOPS_PROJECT_CREATE

use+

CreateProject

Permet de créer une ressource de projet.
manage

use+

DEVOPS_PROJECT_DELETE

use+

DeleteProject

Permet de supprimer un projet spécifique.
manage

use+

DEVOPS_PROJECT_MOVE

use+

ChangeProjectCompartment

Permet de déplacer un projet vers un autre compartiment.
devops-deploy-famille

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-deploy-family.

Verbes Droits d'accès API couvertes Description
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
  • Permet de répertorier tous les artefacts d'un projet ou d'un compartiment.
  • Liste de tous les environnements d'un projet ou d'un compartiment.
  • Permet de répertorier toutes les ressources de pipeline d'un compartiment.
  • Permet de répertorier toutes les phases d'un pipeline ou d'un compartiment.
  • Permet de répertorier tous les déploiements d'un compartiment.
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
  • Permet d'obtenir un artefact spécifique selon un ID.
  • Permet d'obtenir un environnement spécifique selon un ID.
  • Permet d'obtenir un pipeline spécifique selon un ID.
  • Permet d'obtenir une phase spécifique selon un ID.
  • Permet d'obtenir un déploiement spécifique selon un 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
  • Permet de mettre à jour un artefact spécifique selon un ID.
  • Permet de mettre à jour un environnement spécifique selon un ID.
  • Permet de mettre à jour un pipeline spécifique selon un ID.
  • Permet de mettre à jour une phase spécifique selon un ID.
  • Permet de mettre à jour un déploiement spécifique selon un ID.
  • Permet d'approuver un déploiement spécifique en attente d'approbation manuelle.
  • Permet d'annuler un déploiement en cours d'exécution.
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
  • Permet de créer une ressource d'artefact dans un projet.
  • Permet de supprimer un artefact spécifique selon un ID.
  • Créer un environnement au sein d'un projet.
  • Permet de supprimer un environnement spécifique selon un ID.
  • Permet de créer une ressource de pipeline.
  • Permet de supprimer un pipeline spécifique selon un ID.
  • Permet de créer une phase dans un pipeline.
  • Permet de supprimer une phase spécifique selon un ID.
  • Permet de créer un déploiement pour un pipeline spécifique.
  • Permet de supprimer un déploiement spécifique selon un ID.
devops-deploy-artifact

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-deploy-artifact.

Verbes Droits d'accès API couvertes Description
inspect DEVOPS_DEPLOY_ARTIFACT_INSPECT ListDeployArtifacts Permet de répertorier tous les artefacts d'un projet ou d'un compartiment.
read

inspect+

DEVOPS_DEPLOY_ARTIFACT_READ

inspect+

GetDeployArtifact

Permet d'obtenir un artefact spécifique selon un ID.
use

read+

DEVOPS_DEPLOY_ARTIFACT_UPDATE

read+

UpdateDeployArtifact

Permet de mettre à jour un artefact spécifique selon un ID.
manage

use+

DEVOPS_DEPLOY_ARTIFACT_CREATE

use+

CreateDeployArtifact

Permet de créer une ressource d'artefact dans un projet.

manage

use+

DEVOPS_DEPLOY_ARTIFACT_DELETE

use+

DeleteDeployArtifact

Permet de supprimer un artefact spécifique selon un ID.

devops-deploy-environment

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-deploy-environment.

Verbes Droits d'accès API couvertes Description
inspect DEVOPS_DEPLOY_ENVIRONMENT_INSPECT ListDeployEnvironments Permet de répertorier tous les environnements d'une application ou d'un compartiment.
read

inspect+

DEVOPS_DEPLOY_ENVIRONMENT_READ

inspect+

GetDeployEnvironment

Permet d'obtenir un environnement spécifique selon un ID.
use

read+

DEVOPS_DEPLOY_ENVIRONMENT_UPDATE

read+

UpdateDeployEnvironment

Permet de mettre à jour un environnement spécifique selon un ID.
manage

use+

DEVOPS_DEPLOY_ENVIRONMENT_CREATE

use+

CreateDeployEnvironment

Permet de créer un environnement pour une cible de déploiement dans une application.

manage

use+

DEVOPS_DEPLOY_ENVIRONMENT_DELETE

use+

DeleteDeployEnvironment

Permet de supprimer un environnement spécifique selon un ID.

devops-deploy-pipeline

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-deploy-pipeline.

Verbes Droits d'accès API couvertes Description
inspect DEVOPS_DEPLOY_PIPELINE_INSPECT ListDeployPipelines Permet de répertorier toutes les ressources de pipeline d'un compartiment.
read

inspect+

DEVOPS_DEPLOY_PIPELINE_READ

inspect+

GetDeployPipeline

Permet d'obtenir un pipeline spécifique selon un ID.
use

read+

DEVOPS_DEPLOY_PIPELINE_UPDATE

read+

UpdateDeployPipeline

Permet de mettre à jour un pipeline spécifique selon un ID.
manage

use+

DEVOPS_DEPLOY_PIPELINE_CREATE

use+

CreateDeployPipeline

Permet de créer une ressource de pipeline.

manage

use+

DEVOPS_DEPLOY_PIPELINE_DELETE

use+

DeleteDeployPipeline

Permet de supprimer un pipeline spécifique.

devops-deploy-stage

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-deploy-stage.

Verbes Droits d'accès API couvertes Description
inspect DEVOPS_DEPLOY_STAGE_INSPECT ListDeployStages Permet de répertorier toutes les phases d'un pipeline ou d'un compartiment.
read

inspect+

DEVOPS_DEPLOY_STAGE_READ

inspect+

GetDeployStage

Permet d'obtenir une phase spécifique selon un ID.
use

read+

DEVOPS_DEPLOY_STAGE_UPDATE

read+

UpdateDeployStage

Permet de mettre à jour une phase spécifique selon un ID.
manage

use+

DEVOPS_DEPLOY_STAGE_CREATE

use+

CreateDeployStage

Permet de créer une phase dans un pipeline.

manage

use+

DEVOPS_DEPLOY_STAGE_DELETE

use+

DeleteDeployStage

Permet de supprimer une phase spécifique selon un ID.

devops-deployment

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-deployment.

Verbes Droits d'accès API couvertes Description
inspect DEVOPS_DEPLOYMENT_INSPECT ListDeployments Permet de répertorier tous les déploiements d'un compartiment.
read

inspect+

DEVOPS_DEPLOYMENT_READ

inspect+

GetDeployment

Permet d'obtenir un déploiement spécifique selon un ID.
use

read+

DEVOPS_DEPLOYMENT_UPDATE

read+

UpdateDeployStage

Permet de mettre à jour une phase spécifique selon un ID.

use

read+

DEVOPS_DEPLOYMENT_APPROVE

read+

ApproveDeployment

Permet d'approuver un déploiement spécifique en attente d'approbation manuelle.
use

read+

DEVOPS_DEPLOYMENT_CANCEL

read+

CancelDeployment

Permet d'annuler un déploiement en cours d'exécution.

manage

use+

DEVOPS_DEPLOYMENT_CREATE

use+

CreateDeployment

Permet de créer un déploiement pour un pipeline spécifique.

manage

use+

DEVOPS_DEPLOYMENT_DELETE

use+

DeleteDeployment

Permet de supprimer un déploiement spécifique.

devops-work-requests

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-work-requests.

Verbes Droits d'accès API couvertes Description
inspect DEVOPS_WORK_REQUEST_INSPECT ListWorkRequests Permet de répertorier toutes les demandes de travail dans un compartiment.
read

inspect+

DEVOPS_WORK_REQUEST_READ

inspect+

GetWorkRequest

Permet d'obtenir une demande de travail spécifique selon un ID.
devops-repository-family

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-repository-family.

Verbes Droits d'accès API couvertes Description
inspect
  • DEVOPS_REPOSITORY_INSPECT
  • DEVOPS_PULL_REQUEST_INSPECT
  • DEVOPS_PULL_REQUEST_COMMENT_INSPECT
  • DEVOPS_PROTECTED_BRANCH_INSPECT
  • ListRepositories
  • ListPullRequests
  • ListPullRequestAttachments
  • ListPullRequestComments
  • ListProtectedBranches
  • Permet de répertorier toutes les ressources de référentiel selon un ID de compartiment, un ID de projet ou un ID de référentiel.
  • Répertoriez les demandes d'extraction dans un référentiel.
  • Répertorier les pièces jointes aux demandes d'extraction par identifiant.
  • Répertorier les commentaires du réviseur de demandes d'extraction.
  • Répertoriez les branches protégées dans un référentiel.
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
  • Permet d'obtenir un référentiel spécifique selon un ID.
  • Obtenir une demande d'extraction par ID.
  • Obtenir un commentaire par un ID commentaire.
  • Obtenir le contenu d'une pièce jointe de demande d'extraction.
  • Obtenir des informations de protection pour une branche spécifique.
  • Mettre à jour la liste des réviseurs d'une demande d'extraction.
  • Mettre à jour un commentaire de demande d'extraction par ID.
  • Comme un commentaire de demande d'extraction.
  • Contrairement à un commentaire de demande d'extraction.
  • Supprimer un commentaire de demande d'extraction.
use

read+

  • DEVOPS_REPOSITORY_UPDATE
  • DEVOPS_PULL_REQUEST_UPDATE
  • DEVOPS_PULL_REQUEST_CREATE
  • DEVOPS_PULL_REQUEST_DELETE

read+

  • UpdateRepository
  • UpdatePullRequest
  • DeclinePullRequest
  • ReopenPullRequest
  • MergePullRequest
  • DeletePullRequest
  • Permet de mettre à jour un référentiel spécifique selon un ID.
  • Mettre à jour une demande d'extraction par ID.
  • Fermer une demande d'extraction en définissant le cycle de vie de la demande sur Refusé.
  • Rouvrir une demande d'extraction fermée.
  • Fusionner une demande d'extraction approuvée du branchement source vers la cible.
  • Supprimer une demande d'extraction par 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
  • Permet de créer un référentiel.
  • Permet de supprimer un référentiel spécifique selon un ID.
  • Créez un branchement protégé dans un référentiel.
  • Mettez à jour le niveau de protection sur une branche protégée. Les options de niveau de protection actuelles sont PULL_REQUEST_MERGE_ONLY et READ_ONLY.
  • Supprimez un branchement protégé. Cela supprime les restrictions ajoutées à une branche lorsqu'elle était protégée.
  • Obtenir les paramètres personnalisés configurés pour un référentiel.
  • Mettez à jour les paramètres personnalisés configurés pour un référentiel.
  • Supprimez les paramètres personnalisés configurés pour un référentiel.
  • Donne aux utilisateurs la possibilité de pousser directement vers la branche protégée.
devops-repository

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-repository.

Verbes Droits d'accès API couvertes Description
inspect DEVOPS_REPOSITORY_INSPECT ListRepositories Permet de répertorier toutes les ressources de référentiel selon un ID de compartiment, un ID de projet ou un ID de référentiel.
read

inspect+

DEVOPS_REPOSITORY_READ

inspect+

GetRepository

Permet d'obtenir un référentiel spécifique selon un ID.
use

read+

DEVOPS_REPOSITORY_UPDATE

read+

UpdateRepository

Permet de mettre à jour un référentiel spécifique selon un ID.
manage

use+

DEVOPS_REPOSITORY_CREATE

use+

CreateRepository

Permet de créer un référentiel.

manage

use+

DEVOPS_REPOSITORY_DELETE

use+

DeleteRepository

Permet de supprimer un référentiel spécifique selon un ID.

devops-connection

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-connection.

Verbes Droits d'accès API couvertes Description
inspect DEVOPS_CONNECTION_INSPECT ListConnections Permet de répertorier toutes les connexions dans un projet ou un compartiment.
read

inspect+

DEVOPS_CONNECTION_READ

inspect+

GetConnection

Permet d'obtenir une connexion spécifique selon un ID.
use

read+

DEVOPS_CONNECTION_UPDATE

read+

UpdateConnection

Permet de mettre à jour une connexion spécifique selon un ID.
use

read+

DEVOPS_CONNECTION_VALIDATE

read+

ValidateConnection

Validez le jeton d'accès personnel de la connexion.
manage

use+

DEVOPS_CONNECTION_CREATE

use+

CreateConnection

Permet de créer une ressource de connexion dans un projet.

manage

use+

DEVOPS_CONNECTION_DELETE

use+

DeleteConnection

Permet de supprimer une connexion spécifique selon un ID.

devops-trigger

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-trigger.

Verbes Droits d'accès API couvertes Description
inspect DEVOPS_TRIGGER_INSPECT ListTriggers Permet de répertorier tous les déclencheurs d'un projet ou d'un compartiment.
read

inspect+

DEVOPS_TRIGGER_READ

inspect+

GetTrigger

Permet d'obtenir un déclencheur spécifique selon un ID.
use

read+

DEVOPS_TRIGGER_UPDATE

read+

UpdateTrigger

Permet de mettre à jour un déclencheur spécifique selon un ID.
manage

use+

DEVOPS_TRIGGER_CREATE

use+

CreateTrigger

Permet de créer une ressource de déclencheur dans un projet.

manage

use+

DEVOPS_TRIGGER_DELETE

use+

DeleteTrigger

Permet de supprimer un déclencheur spécifique selon un ID.

devops-construire-famille

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-build-family.

Verbes Droits d'accès API couvertes Description
inspect
  • DEVOPS_BUILD_PIPELINE_INSPECT
  • DEVOPS_BUILD_PIPELINE_STAGE_INSPECT
  • DEVOPS_BUILD_RUN_INSPECT
  • ListBuildPipelines
  • ListBuildPipelineStages
  • ListBuildRuns
  • Permet de répertorier toutes les ressources de pipeline de build d'un compartiment.
  • Répertoriez les phases d'un pipeline de build ou d'un compartiment.
  • Liste des exécutions de build d'un projet ou d'un compartiment.
read

inspect+

  • DEVOPS_BUILD_PIPELINE_READ
  • DEVOPS_BUILD_PIPELINE_STAGE_READ
  • DEVOPS_BUILD_RUN_READ

inspect+

  • GetBuildPipeline
  • GetBuildPipelineStage
  • GetBuildRun
  • Permet d'obtenir un pipeline de build spécifique selon un ID.
  • Permet d'obtenir une phase de pipeline de build spécifique selon un ID.
  • Permet d'obtenir une exécution de build spécifique selon un ID.
use

read+

  • DEVOPS_BUILD_PIPELINE_UPDATE
  • DEVOPS_BUILD_PIPELINE_STAGE_UPDATE
  • DEVOPS_BUILD_RUN_UPDATE
  • DEVOPS_BUILD_RUN_CANCEL

read+

  • UpdateBuildPipeline
  • UpdateBuildPipelineStage
  • UpdateBuildRun
  • CancelBuildRun
  • Permet de mettre à jour un pipeline de build spécifique selon un ID.
  • Permet de mettre à jour une phase de pipeline de build spécifique selon un ID.
  • Permet de mettre à jour une exécution de build existante.
  • Annule une exécution de build en cours d'exécution.
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
  • Permet de créer une ressource de pipeline de build.
  • Supprimez un pipeline de build.
  • Permet de créer une phase dans un pipeline de build.
  • Permet de supprimer une phase de pipeline de build spécifique selon un ID.
  • Permet de démarrer une exécution de build pour un pipeline de build.
  • Permet de supprimer une exécution de build existante.
devops-build-pipeline

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-build-pipeline.

Verbes Droits d'accès API couvertes Description
inspect DEVOPS_BUILD_PIPELINE_INSPECT ListBuildPipelines Permet de répertorier toutes les ressources de pipeline de build d'un compartiment.
read

inspect+

DEVOPS_BUILD_PIPELINE_READ

inspect+

GetBuildPipeline

Permet d'obtenir un pipeline de build spécifique selon un ID.
use

read+

DEVOPS_BUILD_PIPELINE_UPDATE

read+

UpdateBuildPipeline

Permet de mettre à jour un pipeline de build spécifique selon un ID.
manage

use+

DEVOPS_BUILD_PIPELINE_CREATE

use+

CreateBuildPipeline

Permet de créer une ressource de pipeline de build.

manage

use+

DEVOPS_BUILD_PIPELINE_DELETE

use+

DeleteBuildPipeline

Permet de supprimer un pipeline de build spécifique.

devops-build-pipeline-stage

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-build-pipeline-stage.

Verbes Droits d'accès API couvertes Description
inspect DEVOPS_BUILD_PIPELINE_STAGE_INSPECT ListBuildPipelineStages Permet de répertorier toutes les phases d'un pipeline de build ou d'un compartiment.
read

inspect+

DEVOPS_BUILD_PIPELINE_STAGE_READ

inspect+

GetBuildPipelineStage

Permet d'obtenir une phase de pipeline de build spécifique selon un ID.
use

read+

DEVOPS_BUILD_PIPELINE_STAGE_UPDATE

read+

UpdateBuildPipelineStage

Permet de mettre à jour une phase de pipeline de build spécifique selon un ID.
manage

use+

DEVOPS_BUILD_PIPELINE_STAGE_CREATE

use+

CreateBuildPipelineStage

Permet de créer une phase dans un pipeline de build.

manage

use+

DEVOPS_BUILD_PIPELINE_STAGE_DELETE

use+

DeleteBuildPipelineStage

Permet de supprimer une phase de pipeline de build spécifique selon un ID.

devops-build-run

Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource devops-build-run.

Verbes Droits d'accès API couvertes Description
inspect DEVOPS_BUILD_RUN_INSPECT ListBuildRuns Permet de répertorier les exécutions de build d'un projet ou d'un compartiment.
read

inspect+

DEVOPS_BUILD_RUN_READ

inspect+

GetBuildRun

Permet d'obtenir une exécution de build spécifique selon un ID.
use

read+

DEVOPS_BUILD_RUN_UPDATE

read+

UpdateBuildRun

Permet de mettre à jour une exécution de build existante.
use

read+

DEVOPS_BUILD_RUN_CANCEL

read+

CancelBuildRun

Permet d'annuler une exécution de build en cours.
manage

use+

DEVOPS_BUILD_RUN_CREATE

use+

CreateBuildRun

Permet de démarrer une exécution de build pour un pipeline de build donné.

manage

use+

DEVOPS_BUILD_RUN_DELETE

use+

DeleteBuildRun

Permet de supprimer une exécution de build existante.

Création d'une stratégie et d'un groupe dynamique

Pour accorder aux utilisateurs l'accès aux différentes ressources DevOps, telles que les pipelines de build, les pipelines de déploiement, les artefacts et les référentiels de code, vous devez créer des groupes, des groupes dynamiques et des stratégies IAM.

Une stratégie permet à un groupe  d'utiliser de certaines façons des types spécifiques de ressources  dans un compartiment  donné.

Stratégie

Pour créer une stratégie dans la console Oracle Cloud, procédez comme suit :

  1. Ouvrez le menu de navigation et cliquez sur Identité et sécurité. Sous Identité, cliquez sur Stratégies.
  2. Cliquez sur Créer une stratégie.
  3. Entrez le nom et la description de la stratégie.
  4. Sous Générateur de stratégies, cliquez sur le bouton à bascule Afficher l'éditeur manuel pour activer l'éditeur.

    Entrez une règle de stratégie au format suivant :

    Allow <group> to <verb> <resource_type> in <compartment or tenancy details>
  5. Cliquez sur Créer.

Pour plus d'informations sur la création de stratégies, reportez-vous à Fonctionnement des stratégies et à Référence de stratégie.

Pour créer un groupe et lui ajouter des utilisateurs, reportez-vous à Gestion des groupes.

Groupe dynamique

Un groupe dynamique est un type spécial de groupe contenant les ressources (par exemple, des instances de calcul) qui correspondent aux règles que vous définissez.

Les règles de correspondance définissent les ressources appartenant au groupe dynamique. Dans la console, vous pouvez saisir la règle manuellement dans la zone de texte fournie ou utiliser le générateur de règles. Pour plus d'informations, reportez-vous à Ecriture de règles de correspondance pour définir des groupes dynamiques. Utilisez la règle match-any pour mettre en correspondance plusieurs conditions.

Créez un groupe dynamique pour les ressources DevOps. Par exemple, vous pouvez nommer le groupe dynamique DevOpsDynamicGroup et remplacer compartmentOCID par l'OCID de votre compartiment :
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'}

Afin d'obtenir plus d'informations sur les groupes dynamiques, y compris les droits d'accès requis pour les créer, reportez-vous à Gestion des groupes dynamiques et à Ecriture de stratégies pour les groupes dynamiques.

Instruction de stratégie requise pour DevOpsDynamicGroup :
Allow dynamic-group DevOpsDynamicGroup to manage devops-family in compartment <compartment_name>
Remarque

Pour les locations dotées de domaines d'identité, le nom de domaine doit précéder le nom de groupe dynamique dans la stratégie. Par exemple, nom-domaine/{DevOpsDynamicGroup}

Exemples de stratégie

Stratégies DevOps requises pour l'utilisation de diverses ressources DevOps telles que les référentiels de code, les pipelines de build et les pipelines de déploiement.

Les exemples de stratégie suivants sont fournis :

Stratégies d'environnement

Exemple de stratégie de création d'un environnement cible utilisé pour le déploiement.

Reportez-vous aux instructions de création de stratégies à l'aide de la console.

Créez une stratégie pour autoriser les utilisateurs d'un groupe à créer, à mettre à jour ou à supprimer un environnement OKE privé :
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'}

Stratégies de référentiel de code

Exemples de stratégie pour la création d'un référentiel de code et la connexion à des référentiels de code externes tels que GitHub et GitLab.

Reportez-vous aux instructions pour créer des stratégies, des groupes et des groupes dynamiques à l'aide de la console.

Pour créer un référentiel de code, créez les stratégies IAM suivantes :
  • Autoriser les utilisateurs d'un groupe à accéder au projet DevOps :
    Allow group <group-name> to read devops-project in compartment <compartment_name>
  • Autoriser les utilisateurs d'un groupe à lire, à créer, à mettre à jour ou à supprimer un référentiel :
    Allow group <group-name> to manage devops-repository in compartment <compartment_name>
Pour cloner un référentiel, créez les stratégies IAM suivantes :
  • Autoriser les utilisateurs d'un groupe à accéder au projet DevOps :
    Allow group <group-name> to read devops-project in compartment <compartment_name>
  • Autoriser les utilisateurs d'un groupe à lire ou à mettre à jour un référentiel :
    Allow group <group-name> to use devops-repository in compartment <compartment_name>
Pour l'intégration à des référentiels de code externes, créez une stratégie dans le compartiment racine. Par exemple, pour autoriser le groupe dynamique à lire les clés secrètes, procédez comme suit :
Allow dynamic-group DevOpsDynamicGroup to read secret-family in compartment <compartment_name>
Pour valider une connexion externe, créez la stratégie IAM suivante avec la stratégie permettant de lire les clés secrètes :
Allow group <group-name> to use devops-connection in compartment <compartment_name>
Afin de recevoir des notifications par courriel pour les demandes d'extraction dans les référentiels de code, créez la stratégie IAM suivante à l'aide du groupe dynamique. L'administrateur doit créer cette stratégie. Par exemple, pour autoriser le groupe dynamique DevOpsDynamicGroup comprenant la ressource de référentiel :
Allow dynamic-group DevOpsDynamicGroup to inspect users in tenancy

Pour créer une demande d'extraction, vous devez définir des stratégies en fonction des actions qu'un utilisateur est autorisé à effectuer. Pour obtenir plus d'informations et d'exemples, reportez-vous à Gestion des demandes d'extraction.

Stratégies de pipeline de build

Exemples de stratégie pour la création de pipelines de build et l'ajout de phases au pipeline.

Reportez-vous aux instructions de création de stratégies à l'aide de la console.

  • Créez des stratégies IAM pour autoriser le groupe dynamique à accéder aux ressources OCI dans le compartiment :
    • Pour distribuer des artefacts, fournissez l'accès au référentiel Container Registry (OCIR) :
      Allow dynamic-group DevOpsDynamicGroup to manage repos in compartment <compartment_name>
    • Afin d'accéder au coffre pour le jeton d'accès personnel, fournissez l'accès à secret-family. Cette stratégie est requise lors de la phase de build géré pour accéder au jeton d'accès personnel afin de télécharger le code source :
      Allow dynamic-group DevOpsDynamicGroup to read secret-family in compartment <compartment_name>
    • Fournissez l'accès en lecture aux artefacts de déploiement lors de la phase de distribution d'artefacts, lisez le référentiel de code DevOps lors de la phase de build géré et déclenchez le pipeline de déploiement lors de la phase de déclenchement du déploiement :
      Allow dynamic-group DevOpsDynamicGroup to manage devops-family in compartment <compartment_name>
    • Pour distribuer des artefacts, fournissez l'accès au référentiel Artifact Registry :
      Allow dynamic-group DevOpsDynamicGroup to manage generic-artifacts in compartment <compartment_name>
    • Pour envoyer des notifications, fournissez l'accès au pipeline de build :
      Allow dynamic-group DevOpsDynamicGroup to use ons-topics in compartment <compartment_name>
  • Créez des stratégies pour autoriser la configuration de l'accès privé lors de la phase de build géré :
    Allow dynamic-group DevOpsDynamicGroup to use subnets in compartment <customer subnet compartment>
    Allow dynamic-group DevOpsDynamicGroup to use vnics in compartment <customer subnet compartment>
    Si des groupes de sécurité réseau sont indiqués dans la configuration de l'accès privé, la stratégie doit accorder l'accès à ces groupes de sécurité réseau :
    Allow dynamic-group DevOpsDynamicGroup to use network-security-groups in compartment <customer subnet compartment>
  • Créez une stratégie permettant au pipeline de build d'accéder à la ressource de groupe d'autorités de certification pour la vérification TLS (Transport Layer Security) :
    Allow dynamic-group DevOpsDynamicGroup to use cabundles in compartment <compartment_name>

Stratégies d'accès aux ressources ADM

Exemples de stratégies permettant d'accéder aux ressources du service Application Dependency Management (ADM) à partir du pipeline de build.

Reportez-vous aux instructions de création de stratégies à l'aide de la console.

Créez des stratégies IAM pour autoriser le groupe dynamique à accéder aux ressources ADM dans la location :
Allow dynamic-group DevOpsDynamicGroup to use adm-knowledge-bases in tenancy
Allow dynamic-group DevOpsDynamicGroup to manage adm-vulnerability-audits in tenancy

Stratégies de pipeline de déploiement

Exemples de stratégie pour la création de pipelines de déploiement et l'ajout de phases au pipeline.

Reportez-vous aux instructions de création de stratégies à l'aide de la console.

Créez des stratégies IAM pour autoriser le groupe dynamique de pipeline de déploiement à accéder aux ressources du compartiment :
  • Déploiements de 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>
  • Functions :
    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>
  • Déploiements de groupe d'instances :
    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>
    Pour un déploiement de groupe d'instances, vous devez également créer un groupe dynamique pour les instances suivantes et lui accorder certains droits d'accès :
    • Créez un groupe dynamique pour les instances. Par exemple, vous pouvez nommer le groupe dynamique DeployComputeDynamicGroup et remplacer compartmentOCID par l'OCID de votre compartiment :
      All {instance.compartment.id = 'compartmentOCID'}
    • Créez des stratégies IAM pour accorder l'accès requis aux instances de déploiement :
      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>
  • Déploiements de phase 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>
  • Phase d'approbation :
    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'}
  • Phase de 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>
    Si vous utilisez le groupe de sécurité réseau lors de la création de la phase de shell, ajoutez la stratégie suivante :
    Allow dynamic-group DevOpsDynamicGroup to use network-security-groups in compartment <compartment_name>

Stratégies d'artefact

Exemples de stratégie permettant d'ajouter la phase de distribution d'artefacts au pipeline de build.

La phase de distribution d'artefacts met en correspondance les sorties de build de la phase de build géré avec la version à distribuer à une ressource d'artefact DevOps, puis au référentiel de code Oracle Cloud Infrastructure (OCI). DevOps prend en charge les artefacts stockés dans les référentiels OCI Container Registry et Artifact Registry. Reportez-vous à Ajout d'une phase de distribution d'artefacts.

Reportez-vous aux instructions de création de stratégies à l'aide de la console.

Créez les stratégies IAM suivantes :

  • Pour voir la liste de tous les référentiels dans l'instance Container Registry appartenant à la location ou à un compartiment spécifique :
    Allow dynamic-group DevOpsDynamicGroup to inspect repos in tenancy
    Allow dynamic-group DevOpsDynamicGroup to inspect repos in compartment <compartment_name>
  • Autorisez la propagation des artefacts vers le référentiel Container Registry (OCIR) qui appartient à la location ou à un compartiment spécifique :
    Allow dynamic-group DevOpsDynamicGroup to use repos in tenancy
    Allow dynamic-group DevOpsDynamicGroup to use repos in compartment <compartment_name>

    Reportez-vous à Stratégies de contrôle d'accès au référentiel.

  • Donnez la possibilité de visualiser la liste des artefacts génériques dans le référentiel Artifact Registry appartenant à la location ou à un compartiment spécifique :
    Allow dynamic-group DevOpsDynamicGroup to inspect generic-artifacts in tenancy
    Allow dynamic-group DevOpsDynamicGroup to inspect generic-artifacts in compartment <compartment_name>
  • Autorisez la propagation des artefacts génériques vers le référentiel Artifact Registry appartenant à la location ou à un compartiment spécifique :
    Allow dynamic-group DevOpsDynamicGroup to use generic-artifacts in tenancy
    Allow dynamic-group DevOpsDynamicGroup to use generic-artifacts in compartment <compartment_name>

    Reportez-vous à Stratégies pour Artifact Registry.

  • Autorisez les utilisateurs à extraire des artefacts génériques appartenant à la location ou à un compartiment spécifique :
    Allow dynamic-group DevOpsDynamicGroup to read generic-artifacts in tenancy
    Allow dynamic-group DevOpsDynamicGroup to read generic-artifacts in compartment <compartment_name>

Accès à Artifact Registry

Oracle Cloud Infrastructure Artifact Registry est un service de référentiel permettant de stocker, de partager et de gérer des packages de développement logiciel.

Vous pouvez accéder aux artefacts que vous stockez dans Artifact Registry à partir du service DevOps. Vous pouvez créer une référence à trois types d'artefact dans Artifact Registry : configurations de déploiement de groupe d'instances, artefacts généraux et manifestes Kubernetes. L'administrateur doit accorder le droit d'accès read all-artifacts aux ressources du pipeline.

Reportez-vous aux instructions de création de stratégies à l'aide de la console.

Créez une stratégie IAM pour autoriser le groupe dynamique à accéder aux artefacts à partir d'un compartiment spécifique :
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name>

Pour plus d'informations, reportez-vous à Stratégies pour Artifact Registry.