Politiques GIA pour DevOps
Créez des politiques GIA pour contrôler les utilisateurs ayant accès aux ressources DevOps, ainsi que le type d'accès de chaque groupe d'utilisateurs.
Pour pouvoir contrôler l'accès aux ressources DevOps telles que les référentiels de code, les pipelines de compilation et les pipelines de déploiement, vous devez créer des utilisateurs et les placer dans les groupes appropriés (voir Gestion des utilisateurs et Gestion des groupes). Vous pouvez ensuite créer des politiques et des énoncés pour contrôler l'accès (voir Gestion des politiques).
Par défaut, les utilisateurs du groupe Administrateurs
ont accès à toutes les ressources DevOps. Pour en savoir plus sur les politiques GIA, voir Introduction aux politiques.
Pour obtenir la liste complète de toutes les politiques d'Oracle Cloud Infrastructure, voir Informations de référence sur les politiques et Politiques communes.
Types de ressource et autorisations
Liste des types de ressource DevOps et des autorisations associées.
Pour affecter des autorisations à toutes les ressources DevOps, utilisez le type d'agrégation devops-family
. Pour plus d'informations, voir Autorisations.
Une politique qui utilise <verb> devops-family
est égale à une politique avec un énoncé <verb> <resource-type>
distinct pour chaque type de ressource individuel.
Type de ressource | Autorisations |
---|---|
famille devops | Les verbes inspect, read, use, manage s'appliquent à toutes les autorisations de type de ressource DevOps.Les verbes |
devops-project |
|
devops-deploy-famille |
Les verbes
|
devops-deploy-artifact |
|
devops-deploy-environnement |
|
devops-deploy-pipeline |
|
devops-deploy-stage |
|
devops-deployment |
|
devops-work-requests |
|
devops-repository-famille |
Les verbes
Le verbe |
devops-repository |
|
devops-pull-request |
|
devops-pull-request-commentaire |
|
Branche protégée par devops |
|
devops-build-famille |
Dans les verbes indiqués,
|
devops-build-pipeline |
|
devops-build-pipeline-stage |
|
devops-build-run |
|
devops-connection |
|
devops-trigger |
|
Variables prises en charge
Les variables sont utilisées lors de l'ajout de conditions à une politique.
DevOps prend en charge les variables suivantes :
- Entité : Identificateur Oracle Cloud (OCID)
- Chaîne : Texte à structure libre.
- Nombre : Valeur numérique (précision arbitraire)
- Liste : Liste d'entités, de chaînes ou de nombres
- Boolean : True ou False
Voir Variables générales pour toutes les demandes.
Les variables sont en minuscules et séparées par des tirets. 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 (intégré au service avec la trousse SDK pour un client lourd ou dans 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 opération (par exemple, GetUser ) de la demande. |
target.resource.kind |
Chaîne | Nom du type de ressource 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 d'entités (OCID) | OCID des groupes auxquels appartient l'utilisateur à l'origine de la demande. |
target.compartment.name |
Chaîne | Nom du compartiment indiqué dans target.compartment.id . |
target.tenant.id |
Entité (OCID) | OCID de l'ID locataire cible. |
Les sources disponibles pour les variables sont les suivantes :
- 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 du service.
Mappage des variables aux types de ressource
Type de ressource | Variable | Type | Source | Description |
---|---|---|---|---|
|
target.project.id |
Entrée | Stockée | Disponible pour les opérations Get, Update, Delete et Move sur la ressource Project. |
|
target.project.name |
Chaîne | Stockée | Disponible pour les opérations Get, Update, Delete et Move sur la ressource Project. |
devops-deploy-artifact |
target.artifact.id |
Entité | Stockée | Disponible pour les opérations Get, Update et Delete sur la ressource Artifact. |
devops-deploy-environment |
target.environment.id |
Entité | Stockée | Disponible pour les opérations Get, Update et Delete sur la ressource Environment. |
|
target.pipeline.id |
Entité | Stockée | Disponible pour les opérations Get, Update et Delete sur la ressource Pipeline. |
devops-deploy-stage |
target.stage.id |
Entité | Stockée | Disponible pour les opérations Get, Update et Delete sur la ressource Stage. |
devops-deployment |
target.deployment.id |
Entité | Stockée | Disponible pour les opérations Get, Update et Delete sur les types de ressource Deployment. |
devops-repository
|
target.repository.id |
Entité | Stockée | Disponible pour les opérations Get, Update, Delete et Move sur la ressource Repository. |
devops-pull-request-comment |
target.pull-request.id |
Entité | Stockée | Disponible pour les opérations Get, Update et Delete sur la ressource Pull-Request. |
devops-repository
|
target.repository.name |
Entité | Stockée | Disponible pour les opérations Get, Update, Delete et Move sur la ressource Repository. |
devops-pull-request-comment |
target.pull-request.display-name |
Chaîne | Stockée | Disponible pour les opérations Get, Update et Delete sur la ressource Pull-Request. |
devops-repository |
target.branch.name |
Entité | Stockée | Disponible pour les opérations Git telles que upload-pack et receive-pack dans la branche Repository. |
devops-protected-branch |
target.branch.name |
Chaîne | Stockée | Disponible pour les opérations Obtenir, Mettre à jour, Supprimer et Déplacer sur la ressource Branche protégée. |
devops-repository |
target.tag.name |
Entité | Stockée | Disponible pour les opérations Git telles que upload-pack et receive-pack dans la branche Repository. |
devops-pull-request |
target.pull-request.id |
Entité | Stockée | Disponible pour les opérations Get, Update et Delete sur la ressource Pull-Request. |
devops-pull-request |
target.pull-request.display-name |
Chaîne | Stockée | Disponible pour les opérations Get, Update et Delete sur la ressource Pull-Request. |
devops-connection |
target.connection.id |
Entité | Stockée | Disponible pour les opérations Get, Update et Delete sur la ressource Connection. |
devops-trigger |
target.trigger.id |
Entité | Stockée | Disponible pour les opérations Get, Update et Delete sur la ressource Trigger. |
|
target.build-pipeline.id |
Entité | Stockée | Disponible pour les opérations Get, Update et Delete sur la ressource Build Pipeline. |
devops-build-pipeline-stage |
target.build-pipeline-stage.id |
Entité | Stockée | Disponible pour les opérations Get, Update et Delete sur la ressource Build Pipeline Stage. |
devops-build-run |
target.build-run.id |
Entité | Stockée | Disponible pour les opérations Get, Update, Delete et Cancel sur la ressource Build Run. |
Informations détaillées sur les combinaisons de verbe et de type de ressource
Identifiez les autorisations et les opérations d'API couvertes par chaque verbe pour les ressources DevOps.
Le niveau d'accès est cumulatif au fur et à mesure que vous progressez depuis inspect
à read
, use
et manage
. Un signe plus (+)
dans une cellule de tableau indique un accès incrémentiel par rapport à la cellule précédente. Toutes les autorisations (inspection, lecture, utilisation et gestion) sont applicables pour le type de ressource devops-family
, qui inclut toutes les ressources DevOps.
Pour plus d'informations sur l'octroi de l'accès, voir Autorisations.
Ce tableau répertorie les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-project
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
DEVOPS_PROJECT_INSPECT |
ListProjects |
Lister toutes les ressources de projet d'un compartiment. |
read |
|
|
Obtenir un projet spécifique par ID. |
use |
|
|
Mettre à jour un projet spécifique. |
manage |
|
|
Créer une ressource de projet. |
manage |
|
|
Supprimer un projet spécifique. |
manage |
|
|
Déplacer un projet vers un autre compartiment. |
Ce tableau liste les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-deploy-family
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
|
|
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
Ce tableau répertorie les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-deploy-artifact
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_ARTIFACT_INSPECT |
ListDeployArtifacts |
Lister tous les artefacts d'un projet ou d'un compartiment. |
read |
|
|
Obtenir un artefact spécifique par ID. |
use |
|
|
Mettre à jour un artefact spécifique par ID. |
manage |
|
|
Créer une ressource d'artefact dans un projet. |
manage |
|
|
Supprimer un artefact spécifique par ID. |
Ce tableau répertorie les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-deploy-environment
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_ENVIRONMENT_INSPECT |
ListDeployEnvironments |
Lister tous les environnements d'une application ou d'un compartiment. |
read |
|
|
Obtenir un environnement spécifique par ID. |
use |
|
|
Mettre à jour un environnement spécifique par ID. |
manage |
|
|
Créer un environnement pour une cible de déploiement dans une application. |
manage |
|
|
Supprimer un environnement spécifique par ID. |
Ce tableau répertorie les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-deploy-pipeline
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_PIPELINE_INSPECT |
ListDeployPipelines |
Lister toutes les ressources de pipeline d'un compartiment. |
read |
|
|
Obtenir un pipeline spécifique par ID. |
use |
|
|
Mettre à jour un pipeline spécifique par ID. |
manage |
|
|
Créer une ressource de pipeline. |
manage |
|
|
Supprimer un pipeline spécifique. |
Ce tableau répertorie les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-deploy-stage
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_STAGE_INSPECT |
ListDeployStages |
Lister toutes les étapes d'un pipeline ou d'un compartiment. |
read |
|
|
Obtenir une étape par ID. |
use |
|
|
Mettre à jour une étape spécifique par ID. |
manage |
|
|
Créer une étape dans un pipeline. |
manage |
|
|
Supprimer une étape spécifique par ID. |
Ce tableau répertorie les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-deployment
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
DEVOPS_DEPLOYMENT_INSPECT |
ListDeployments |
Lister tous les déploiements d'un compartiment. |
read |
|
|
Obtenir un déploiement spécifique par ID. |
use |
|
|
Mettre à jour une étape spécifique par ID. |
use |
|
|
Approuver un déploiement spécifique en attente d'approbation manuelle. |
use |
|
|
Annuler un déploiement en cours d'exécution. |
manage |
|
|
Créer un déploiement pour un pipeline spécifique. |
manage |
|
|
Supprimer un déploiement spécifique. |
Ce tableau répertorie les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-work-requests
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
DEVOPS_WORK_REQUEST_INSPECT |
ListWorkRequests |
Lister toutes les demandes de travail d'un compartiment. |
read |
|
|
Obtenir une demande de travail spécifique par ID. |
Ce tableau liste les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-repository-family
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
|
|
|
read |
inspect+
|
|
|
use |
|
|
|
manage |
|
|
|
Ce tableau répertorie les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-repository
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
DEVOPS_REPOSITORY_INSPECT |
ListRepositories |
Lister toutes les ressources de référentiel par ID compartiment, ID projet ou ID référentiel. |
read |
|
|
Obtenir un référentiel spécifique par ID. |
use |
|
|
Mettre à jour un référentiel spécifique par ID. |
manage |
|
|
Créer un référentiel. |
manage |
|
|
Supprimer un référentiel spécifique par ID. |
Ce tableau répertorie les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-connection
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
DEVOPS_CONNECTION_INSPECT |
ListConnections |
Lister toutes les connexions d'un projet ou d'un compartiment. |
read |
|
|
Obtenir une connexion spécifique par ID. |
use |
|
|
Mettre à jour une connexion spécifique par ID. |
use |
|
|
Valider le jeton d'accès personnel de la connexion. |
manage |
|
|
Créer une ressource de connexion dans un projet. |
manage |
|
|
Supprimer une connexion spécifique par ID. |
Ce tableau répertorie les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-trigger
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
DEVOPS_TRIGGER_INSPECT |
ListTriggers |
Lister tous les déclencheurs d'un projet ou d'un compartiment. |
read |
|
|
Obtenir un déclencheur spécifique par ID. |
use |
|
|
Mettre à jour un déclencheur spécifique par ID. |
manage |
|
|
Créer une ressource de déclencheur dans un projet. |
manage |
|
|
Supprimer un déclencheur spécifique par ID. |
Ce tableau liste les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-build-family
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
|
|
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
Ce tableau répertorie les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-build-pipeline
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
DEVOPS_BUILD_PIPELINE_INSPECT |
ListBuildPipelines |
Lister toutes les ressources de pipeline de compilation d'un compartiment. |
read |
|
|
Obtenir un pipeline de compilation spécifique par ID. |
use |
|
|
Mettre à jour un pipeline de compilation spécifique par ID. |
manage |
|
|
Créer une ressource de pipeline de compilation. |
manage |
|
|
Supprimer un pipeline de compilation spécifique. |
Ce tableau répertorie les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-build-pipeline-stage
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
DEVOPS_BUILD_PIPELINE_STAGE_INSPECT |
ListBuildPipelineStages |
Lister toutes les étapes d'un pipeline de compilation ou d'un compartiment. |
read |
|
|
Obtenir une étape de pipeline de compilation spécifique par ID. |
use |
|
|
Mettre à jour une étape de pipeline de compilation spécifique par ID. |
manage |
|
|
Créer une étape dans un pipeline de compilation. |
manage |
|
|
Supprimer une étape de pipeline de compilation spécifique par ID. |
Ce tableau répertorie les autorisations et les API entièrement couvertes par les autorisations de la ressource devops-build-run
.
Verbes | Autorisations | API couvertes | Description |
---|---|---|---|
inspect |
DEVOPS_BUILD_RUN_INSPECT |
ListBuildRuns |
Lister les exécutions de compilation d'un projet ou d'un compartiment. |
read |
|
|
Obtient une exécution de compilation spécifique par ID. |
use |
|
|
Mettre à jour une exécution de compilation existante. |
use |
|
|
Annuler une exécution de compilation en cours. |
manage |
|
|
Démarrer une exécution de compilation pour un pipeline de compilation donné. |
manage |
|
|
Supprimer une exécution de compilation existante. |
Création d'une politique et d'un groupe dynamique
Pour octroyer aux utilisateurs l'autorisation d'accéder aux différentes ressources DevOps, telles que les pipelines de compilation, 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 politiques GIA.
Une politique permet à un groupe d'utiliser de certaines façons des types spécifiques de ressource dans un compartiment particulier.
Politique
Pour créer une politique dans la console Oracle Cloud, procédez de la façon suivante :
- Ouvrez le menu de navigation et cliquez sur Identité et sécurité. Sous Identité, cliquez sur Politiques.
- Cliquez sur Créer une politique.
- Entrez le nom et la description de la politique.
- Sous Générateur de politiques, cliquez sur Afficher l'éditeur manuel pour activer l'éditeur.
Entrez une règle de politique dans le format suivant :
Allow <group> to <verb> <resource_type> in <compartment or tenancy details>
- Cliquez sur Créer.
Pour plus d'informations sur la création de politiques, voir Fonctionnement des politiques et Informations de référence sur les politiques.
Pour créer un groupe et ajouter des utilisateurs au groupe, voir Gestion des groupes.
Groupe dynamique
Un groupe dynamique est un type spécial de groupe contenant les ressources (telles que des instances de calcul) qui correspondent aux règles que vous définissez.
Les règles de correspondance définissent les ressources qui appartiennent au groupe dynamique. Dans la console, vous pouvez entrer la règle manuellement dans la zone de texte fournie ou utiliser le générateur de règles. Pour plus de détails, voir Écriture des règles de correspondance pour définir des groupes dynamiques. Utilisez la règle match-any
pour répondre à plusieurs conditions.
DevOpsDynamicGroup
, par exemple, 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'}
Pour plus d'informations sur les groupes dynamiques, y compris les autorisations nécessaires pour les créer, voir Gestion des groupes dynamiques et Écriture des politiques pour les groupes dynamiques.
DevOpsDynamicGroup
: Allow dynamic-group DevOpsDynamicGroup to manage devops-family in compartment <compartment_name>
Pour les locations qui comportent des domaines d'identité, le nom de domaine doit précéder le nom du groupe dynamique dans la politique. Par exemple,
domain-name/{DevOpsDynamicGroup}
Exemples de politique
Politiques DevOps requises pour utiliser diverses ressources DevOps telles que les référentiels de code, les pipelines de compilation et les pipelines de déploiement.
Voici des exemples de politique :
Politiques d'environnement
Exemple de politique pour créer un environnement cible utilisé pour le déploiement.
Voir les instructions pour créer des politiques à l'aide de la console.
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'}
Politiques de référentiel de code
Exemples de politique pour créer un référentiel de code privé et se connecter à des référentiels de code externes tels que GitHub et GitLab.
Voir les instructions pour créer des politiques, des groupes et des groupes dynamiques à l'aide de la console.
- 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>
- 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>
Allow dynamic-group DevOpsDynamicGroup to read secret-family in compartment <compartment_name>
Allow group <group-name> to use devops-connection in compartment <compartment_name>
Allow dynamic-group DevOpsDynamicGroup to inspect users in tenancy
Pour créer une demande d'extraction, vous devez définir des politiques en fonction des actions qu'un utilisateur est autorisé à effectuer. Pour plus d'informations et des exemples, consultez Gestion des demandes d'extraction.
Politiques de pipeline de compilation
Exemples de politique pour créer des pipelines de compilation et y ajouter des étapes.
Voir les instructions pour créer des politiques à l'aide de la console.
- Créez des politiques IAM pour permettre au groupe dynamique d'accéder aux ressources OCI du compartiment :
- Pour la fourniture d'artefacts, autorisez l'accès au registre de conteneurs :
Allow dynamic-group DevOpsDynamicGroup to manage repos in compartment <compartment_name>
- Pour l'accès à la chambre forte afin d'obtenir le jeton d'accès personnel, autorisez l'accès à la famille de clés secrètes. Cette politique est requise lors de l'étape de compilation gérée 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>
- Autorisez la lecture des artefacts de déploiement lors de l'étape Fournir des artefacts et du référentiel de code DevOps lors de l'étape de compilation gérée, et le déclenchement du pipeline de déploiement lors de l'étape Déclencher le déploiement :
Allow dynamic-group DevOpsDynamicGroup to manage devops-family in compartment <compartment_name>
- Pour la fourniture d'artefacts, autorisez l'accès au registre d'artefacts :
Allow dynamic-group DevOpsDynamicGroup to manage generic-artifacts in compartment <compartment_name>
- Pour l'envoi d'avis, autorisez l'accès au pipeline de compilation :
Allow dynamic-group DevOpsDynamicGroup to use ons-topics in compartment <compartment_name>
- Pour la fourniture d'artefacts, autorisez l'accès au registre de conteneurs :
- Créez des politiques pour autoriser la configuration de l'accès privé lors de l'étape de compilation gérée :
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é de réseau sont spécifiés dans la configuration de l'accès privé, la politique doit autoriser l'accès à ces groupes :Allow dynamic-group DevOpsDynamicGroup to use network-security-groups in compartment <customer subnet compartment>
- Créez une politique pour permettre au pipeline de compilation d'accéder à la ressource de l'ensemble de l'autorité de certification pour la vérification TLS :
Allow dynamic-group DevOpsDynamicGroup to use cabundles in compartment <compartment_name>
Politiques d'accès aux ressources ADM
Exemples de politique pour accéder aux ressources du service de gestion des dépendances d'application (ADM) à partir du pipeline de compilation.
Voir les instructions pour créer des politiques à l'aide de la console.
Allow dynamic-group DevOpsDynamicGroup to use adm-knowledge-bases in tenancy
Allow dynamic-group DevOpsDynamicGroup to manage adm-vulnerability-audits in tenancy
Politiques de pipeline de déploiement
Exemples de politique pour créer des pipelines de déploiement et y ajouter des étapes.
Voir les instructions pour créer des politiques à l'aide de la console.
-
Déploiements de grappe OKE :
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to manage cluster in compartment <compartment_name>
- Service :
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 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 accorder à ce groupe certaines autorisations :- Créez un groupe dynamique pour les instances. Par exemple, vous pouvez nommer le groupe dynamique
DeployComputeDynamicGroup
et remplacercompartmentOCID
par l'OCID du compartiment :All {instance.compartment.id = 'compartmentOCID'}
- Créez des politiques GIA 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>
- Créez un groupe dynamique pour les instances. Par exemple, vous pouvez nommer le groupe dynamique
- Déploiements d'étape 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>
- Étape 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'}
- Étape d'interpréteur de commandes :
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 un groupe de sécurité de réseau lors de la création d'une étape d'interpréteur de commandes, ajoutez la politique suivante :Allow dynamic-group DevOpsDynamicGroup to use network-security-groups in compartment <compartment_name>
Politiques pour les artefacts
Exemples de politique pour l'ajout de l'étape Fournir des artefacts au pipeline de compilation.
L'étape Fournir des artefacts mappe les sorties de l'étape de compilation gérée à la version à transmettre à une ressource d'artefact DevOps, puis au référentiel de code OCI. DevOps prend en charge les artefacts stockés dans les référentiels des registres de conteneurs et d'artefacts OCI. Voir Ajout d'une étape Fournir des artefacts.
Voir les instructions pour créer des politiques à l'aide de la console.
Créez les politiques GIA suivantes :
- Pour afficher la liste de tous les référentiels du registre de conteneurs appartenant à la location ou à un compartiment donné :
Allow dynamic-group DevOpsDynamicGroup to inspect repos in tenancy
Allow dynamic-group DevOpsDynamicGroup to inspect repos in compartment <compartment_name>
- Autoriser le pousser d'artefacts vers le registre de conteneurs appartenant à la location ou à un compartiment donné :
Allow dynamic-group DevOpsDynamicGroup to use repos in tenancy
Allow dynamic-group DevOpsDynamicGroup to use repos in compartment <compartment_name>
- Possibilité d'afficher la liste des artefacts génériques du registre de conteneurs appartenant à la location ou à un compartiment donné :
Allow dynamic-group DevOpsDynamicGroup to inspect generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to inspect generic-artifacts in compartment <compartment_name>
- Autoriser le pousser d'artefacts génériques vers le registre d'artefacts appartenant à la location ou à un compartiment donné :
Allow dynamic-group DevOpsDynamicGroup to use generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to use generic-artifacts in compartment <compartment_name>
- Autorisez les utilisateurs à extraire des artefacts génériques appartenant à la location ou à un compartiment donné :
Allow dynamic-group DevOpsDynamicGroup to read generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to read generic-artifacts in compartment <compartment_name>
Accès au registre d'artefacts
Le registre d'artefacts pour Oracle Cloud Infrastructure est un service de référentiel permettant le stockage, le partage et la gestion d'ensembles de développement logiciels.
Vous pouvez accéder aux artefacts stockés dans le registre d'artefacts à partir du service DevOps. Vous pouvez créer une référence à trois types d'artefact dans le registre d'artefacts : configurations de déploiement de groupes d'instances, artefacts généraux et manifestes Kubernetes. Votre administrateur doit accorder l'autorisation read all-artifacts
aux ressources de pipeline.
Voir les instructions pour créer des politiques à l'aide de la console.
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name>
Pour plus d'informations, voir Politiques de registre d'artefacts.