Políticas do Serviço IAM do DevOps
Crie políticas do serviço IAM para controlar quem tem acesso aos recursos do DevOps e para controlar o tipo de acesso de cada grupo de usuários.
Para poder controlar o acesso aos recursos do DevOps, como repositórios de código, pipelines de build e pipelines de implantação, crie usuários e coloque-os nos grupos apropriados (consulte Gerenciando Usuários e Gerenciando Grupos). Em seguida, você pode criar políticas e instruções de política para controlar o acesso (consulte Gerenciando Políticas).
Por padrão, os usuários do grupo Administrators
têm acesso a todos os recursos do DevOps. Se você não estiver familiarizado com políticas de IAM, consulte Conceitos Básicos de Políticas.
Para obter uma lista completa de todas as políticas do Oracle Cloud Infrastructure, consulte Referência de Política e Políticas Comuns.
Tipos de Recursos e Permissões
Lista de tipos de recursos do DevOps e permissões associadas.
Para designar permissões a todos os recursos do DevOps, use o tipo de agregação devops-family
. Para obter mais informações, consulte Permissões.
Uma política que usa <verb> devops-family
é igual a criar uma política com uma instrução <verb> <resource-type>
separada para cada tipo de recurso individual.
Tipo de Recurso | Permissões |
---|---|
devops-família | Os verbos, inspect, read, use, manage , são aplicáveis a todas as permissões de tipos de recursos DevOps.Os verbos |
devops-project |
|
devops-deploy-família |
Os verbos,
|
devops-deploy-artifact |
|
devops-deploy-environment |
|
devops-deploy-pipeline |
|
devops-deploy-stage |
|
devops-deployment |
|
devops-work-requests |
|
devops-repositório-família |
Os verbos,
O verbo |
devops-repository |
|
devops-pull-request |
|
devops-pull-request-comentário |
|
ramificação protegida por devops |
|
devops-build-família |
Dados os verbos,
|
devops-build-pipeline |
|
devops-build-pipeline-stage |
|
devops-build-run |
|
devops-connection |
|
devops-trigger |
|
Variáveis com Suporte
Variáveis são usadas ao adicionar condições a uma política.
O DevOps suporta as seguintes variáveis:
- Entidade: Oracle Cloud Identifier (OCID)
- String: Texto de formato livre
- Número: Valor numérico (precisão arbitrária)
- Lista: Lista de Entidade, String ou Número
- Booliano: Verdadeiro ou Falso
Consulte Variáveis Gerais para Todas as Solicitações.
As variáveis são minúsculas e separadas por hífen. Por exemplo, target.tag-namespace.name
, target.display-name
. Aqui name
deve ser exclusivo e display-name
é a descrição.
As variáveis obrigatórias são fornecidas pelo serviço DevOps para cada solicitação. As variáveis automáticas são fornecidas pelo mecanismo de autorização (local de serviço com o SDK para um thick client ou no plano de dados de Identidade para um thin client).
Variáveis Obrigatórias | Tipo | Descrição |
---|---|---|
target.compartment.id |
Entidade (OCID) | O OCID do recurso principal da solicitação. |
request.operation |
String | O ID da operação (por exemplo, GetUser ) para a solicitação. |
target.resource.kind |
String | O nome do tipo do recurso principal da solicitação. |
Variáveis Automáticas | Tipo | Descrição |
---|---|---|
request.user.id |
Entidade (OCID) | O OCID do usuário solicitante. |
request.groups.id |
Lista de entidades (OCIDs) | Os OCIDs dos grupos em que o usuário solicitação se encontra. |
target.compartment.name |
String | O nome do compartimento especificado em target.compartment.id . |
target.tenant.id |
Entidade (OCID) | O OCID do ID do tenant de destino. |
Veja uma lista de origens disponíveis para as variáveis:
- Solicitação: Vem da entrada da solicitação.
- Derivado: Vem da solicitação.
- Armazenado: Vem do serviço, entrada retida.
- Calculado: Calculado com base nos dados do serviço.
Variáveis de Mapeamento com Tipos de Recurso
Tipo de Recurso | Variável | Tipo | Origem | Descrição |
---|---|---|---|---|
|
target.project.id |
Entrada | Armazenado | Disponível para operações Obter, Atualizar, Excluir e Mover no recurso do Projeto. |
|
target.project.name |
String | Armazenado | Disponível para operações Obter, Atualizar, Excluir e Mover no recurso do Projeto. |
devops-deploy-artifact |
target.artifact.id |
Entidade | Armazenado | Disponível para operações Obter, Atualizar e Excluir no recurso de Artefato. |
devops-deploy-environment |
target.environment.id |
Entidade | Armazenado | Disponível para operações Obter, Atualizar e Excluir no recurso de Ambiente. |
|
target.pipeline.id |
Entidade | Armazenado | Disponível para operações Obter, Atualizar e Excluir no recurso de Pipeline. |
devops-deploy-stage |
target.stage.id |
Entidade | Armazenado | Disponível para operações Obter, Atualizar e Excluir no recurso de Estágio. |
devops-deployment |
target.deployment.id |
Entidade | Armazenado | Disponível para operações Obter, Atualizar e Excluir nos tipos de recurso de Implantação. |
devops-repository
|
target.repository.id |
Entidade | Armazenado | Disponível para operações Obter, Atualizar e Mover no recurso de Repositório. |
devops-pull-request-comment |
target.pull-request.id |
Entidade | Armazenado | Disponível para operações Obter, Atualizar e Excluir no recurso de Solicitação de Baixa Automática. |
devops-repository
|
target.repository.name |
Entidade | Armazenado | Disponível para operações Obter, Atualizar e Mover no recurso de Repositório. |
devops-pull-request-comment |
target.pull-request.display-name |
String | Armazenado | Disponível para operações Obter, Atualizar e Excluir no recurso de Solicitação de Baixa Automática. |
devops-repository |
target.branch.name |
Entidade | Armazenado | Disponível para operações do Git como upload-pack e receive-pack na ramificação Repositório. |
devops-protected-branch |
target.branch.name |
String | Armazenado | Disponível para operações Obter, Atualizar, Excluir e Mover no recurso de Ramificação Protegida. |
devops-repository |
target.tag.name |
Entidade | Armazenado | Disponível para operações do Git como upload-pack e receive-pack na ramificação Repositório. |
devops-pull-request |
target.pull-request.id |
Entidade | Armazenado | Disponível para operações Obter, Atualizar e Excluir no recurso de Solicitação de Baixa Automática. |
devops-pull-request |
target.pull-request.display-name |
String | Armazenado | Disponível para operações Obter, Atualizar e Excluir no recurso de Solicitação de Baixa Automática. |
devops-connection |
target.connection.id |
Entidade | Armazenado | Disponível para operações Obter, Atualizar e Excluir no recurso de Conexão. |
devops-trigger |
target.trigger.id |
Entidade | Armazenado | Disponível para operações Obter, Atualizar e Excluir no recurso de Trigger. |
|
target.build-pipeline.id |
Entidade | Armazenado | Disponível para operações Obter, Atualizar e Excluir no recurso de Pipeline de Build. |
devops-build-pipeline-stage |
target.build-pipeline-stage.id |
Entidade | Armazenado | Disponível para operações Obter, Atualizar e Excluir no recurso de Estágio do Pipeline de Build. |
devops-build-run |
target.build-run.id |
Entidade | Armazenado | Disponível para operações Obter, Atualizar, Excluir e Cancelar no recurso de Execução de Build. |
Detalhes para Combinações de Verbo + Tipo de Recurso
Identifique as permissões e operações de API abrangidas por cada verbo para recursos do DevOps.
O nível de acesso é cumulativo conforme você vai de inspect
a read
a use
a manage
. Um sinal de mais (+)
em uma célula da tabela indica acesso incremental quando comparado à célula anterior. Todas as permissões (inspecionar, ler, usar e gerenciar) são aplicáveis ao tipo de recurso devops-family
, que inclui todos os recursos DevOps.
Para obter informações sobre como conceder acesso, consulte Permissões.
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-project
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
DEVOPS_PROJECT_INSPECT |
ListProjects |
Liste todos os recursos do projeto em um compartimento. |
read |
|
|
Obtenha um projeto específico por ID. |
use |
|
|
Atualize um projeto específico. |
manage |
|
|
Crie um recurso de projeto. |
manage |
|
|
Exclua um projeto específico. |
manage |
|
|
Mova um projeto para outro compartimento. |
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-deploy-family
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
|
|
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-deploy-artifact
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_ARTIFACT_INSPECT |
ListDeployArtifacts |
Liste todos os artefatos de um projeto ou compartimento. |
read |
|
|
Obtenha um artefato específico por ID. |
use |
|
|
Atualize um artefato específico por ID. |
manage |
|
|
Crie um recurso de artefato em um projeto. |
manage |
|
|
Exclua um artefato específico por ID. |
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-deploy-environment
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_ENVIRONMENT_INSPECT |
ListDeployEnvironments |
Liste todos os ambientes em um aplicativo ou compartimento. |
read |
|
|
Obtenha um ambiente específico por ID. |
use |
|
|
Atualize um ambiente específico por ID. |
manage |
|
|
Crie um ambiente para um destino de implantação em um aplicativo. |
manage |
|
|
Exclua um ambiente específico por ID. |
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-deploy-pipeline
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_PIPELINE_INSPECT |
ListDeployPipelines |
Liste todos os recursos de pipeline em um compartimento. |
read |
|
|
Obtenha um pipeline específico por ID. |
use |
|
|
Atualize um pipeline específico por ID. |
manage |
|
|
Crie um recurso de pipeline. |
manage |
|
|
Exclua um pipeline específico. |
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-deploy-stage
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_STAGE_INSPECT |
ListDeployStages |
Liste todos os estágios em um pipeline ou compartimento. |
read |
|
|
Obtenha um estágio específico por ID. |
use |
|
|
Atualize um estágio específico por ID. |
manage |
|
|
Crie um estágio em um pipeline. |
manage |
|
|
Exclua um estágio específico por ID. |
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-deployment
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
DEVOPS_DEPLOYMENT_INSPECT |
ListDeployments |
Liste todas as implantações em um compartimento. |
read |
|
|
Obtenha uma implantação específica por ID. |
use |
|
|
Atualize um estágio específico por ID. |
use |
|
|
Aprove uma implantação específica que está aguardando aprovação manual. |
use |
|
|
Cancele uma implantação em execução. |
manage |
|
|
Crie uma implantação para um pipeline específico. |
manage |
|
|
Exclua uma implantação específica. |
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-work-requests
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
DEVOPS_WORK_REQUEST_INSPECT |
ListWorkRequests |
Liste todas as solicitações de serviço em um compartimento |
read |
|
|
Obtenha uma solicitação de serviço específica por ID. |
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-repository-family
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
|
|
|
read |
inspect+
|
|
|
use |
|
|
|
manage |
|
|
|
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-repository
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
DEVOPS_REPOSITORY_INSPECT |
ListRepositories |
Liste todos os recursos de repositório por ID do compartimento, do projeto ou do repositório. |
read |
|
|
Obtenha um repositório específico por ID. |
use |
|
|
Atualize um repositório específico por ID. |
manage |
|
|
Crie um repositório. |
manage |
|
|
Exclua um repositório específico por ID. |
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-connection
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
DEVOPS_CONNECTION_INSPECT |
ListConnections |
Liste todas as conexões em um projeto ou compartimento. |
read |
|
|
Obtenha uma conexão específica por ID. |
use |
|
|
Atualize uma conexão específica por ID. |
use |
|
|
Valide o PAT da conexão. |
manage |
|
|
Crie um recurso de conexão em um projeto. |
manage |
|
|
Exclua uma conexão específica por ID. |
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-trigger
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
DEVOPS_TRIGGER_INSPECT |
ListTriggers |
Liste todos os triggers em um projeto ou compartimento. |
read |
|
|
Obtenha um trigger específico por ID. |
use |
|
|
Atualize um trigger específico por ID. |
manage |
|
|
Crie um recurso de trigger em um projeto. |
manage |
|
|
Exclua um trigger específico por ID. |
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-build-family
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
|
|
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-build-pipeline
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
DEVOPS_BUILD_PIPELINE_INSPECT |
ListBuildPipelines |
Liste todos os recursos do pipeline de build em um compartimento. |
read |
|
|
Obtenha um pipeline de build específico por ID. |
use |
|
|
Atualize um pipeline de build específico por ID. |
manage |
|
|
Crie um recurso de pipeline de build. |
manage |
|
|
Exclua um pipeline de build específico. |
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-build-pipeline-stage
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
DEVOPS_BUILD_PIPELINE_STAGE_INSPECT |
ListBuildPipelineStages |
Liste todos os estágios em um pipeline de build ou compartimento. |
read |
|
|
Obtenha um estágio específico do pipeline de build por ID. |
use |
|
|
Atualize um estágio específico do pipeline de build por ID. |
manage |
|
|
Crie um estágio em um pipeline de build. |
manage |
|
|
Exclua um estágio específico do pipeline de build por ID. |
Esta tabela lista as permissões e as APIs totalmente abrangidas pelas permissões, para o recurso devops-build-run
.
Verbos | Permissões | APIs Abrangidas | Descrição |
---|---|---|---|
inspect |
DEVOPS_BUILD_RUN_INSPECT |
ListBuildRuns |
Liste as execuções de builds em um projeto ou compartimento. |
read |
|
|
Obtenha uma execução de build específica por ID. |
use |
|
|
Atualize uma execução de build existente. |
use |
|
|
Cancele uma execução de build em execução. |
manage |
|
|
Inicie uma execução de build para um determinado pipeline de build. |
manage |
|
|
Exclua uma execução de build existente. |
Criando uma Política e um Grupo Dinâmico
Para conceder aos usuários permissão para acessar os diversos recursos do serviço DevOps, como pipelines de build, pipeline de implantação, artefatos e repositórios de código, crie grupos, grupos dinâmicos e políticas do IAM.
Uma política permite que um grupo trabalhe de determinadas formas com tipos específicos de recursos em um compartimento específico.
Política
Veja como criar uma política na Console do Oracle Cloud:
- Abra o menu de navegação e clique em Identidade e Segurança. Em Identidade, clique em Políticas.
- Clique em Criar Política.
- Digite um nome e uma descrição para a política.
- Em Policy Builder, clique na opção Mostrar editor manual para ativar o editor.
Digite uma regra de política no seguinte formato:
Allow <group> to <verb> <resource_type> in <compartment or tenancy details>
- Clique em Criar.
Para obter mais informações sobre a criação de políticas, consulte Como as Políticas Funcionam e Referência de Políticas.
Para criar um grupo e adicionar usuários ao grupo, consulte Gerenciando Grupos.
Grupo Dinâmico
O grupo dinâmico é um tipo especial de grupo que contém recursos (como instâncias de computação) que correspondem às regras definidas por você.
As regras de correspondência definem os recursos que pertencem ao grupo dinâmico. Na Console, você pode informar a regra manualmente na caixa de texto fornecida ou pode usar o criador de regras. Para obter mais detalhes, consulte Gravando Regras de Correspondência para Definir Grupos Dinâmicos. Use a regra match-any
para corresponder a várias condições.
DevOpsDynamicGroup
, e substituir compartmentOCID
pelo OCID do seu 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'}
Para obter mais informações sobre grupos dinâmicos, incluindo as permissões necessárias para criá-los, consulte Gerenciando Grupos Dinâmicos e Criando Políticas para Grupos Dinâmicos.
DevOpsDynamicGroup
: Allow dynamic-group DevOpsDynamicGroup to manage devops-family in compartment <compartment_name>
Para tenancies que têm domínios de identidades, o nome do domínio deve preceder o nome do grupo dinâmico na política. Por exemplo,
domain-name/{DevOpsDynamicGroup}
Exemplos de Política
Políticas do DevOps obrigatórias para o uso de vários recursos do DevOps, como repositórios de código, pipelines de build e pipelines de implantação.
São fornecidos os seguintes exemplos de política:
Políticas de Ambiente
Exemplo de política para criar o ambiente de destino usado para implantação.
Consulte as instruções para criar políticas usando a 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'}
Políticas de Repositório de Código
Exemplos de política para criar um repositório de código e estabelecer conexão com repositórios de código externos, como GitHub e GitLab.
Consulte as instruções para criar políticas, grupos e grupos dinâmicos usando a Console.
- Permita que os usuários de um grupo tenham acesso ao projeto do serviço DevOps:
Allow group <group-name> to read devops-project in compartment <compartment_name>
- Permitir que usuários de um grupo leiam, criem, atualizem ou excluam um repositório:
Allow group <group-name> to manage devops-repository in compartment <compartment_name>
- Permita que os usuários de um grupo tenham acesso ao projeto do serviço DevOps:
Allow group <group-name> to read devops-project in compartment <compartment_name>
- Permitir que usuários de um grupo leiam ou atualizem um repositório:
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
Para criar uma solicitação de extração, você deve definir políticas com base nas ações que um usuário pode executar. Para obter mais informações e exemplos, consulte Gerenciando Solicitações de Baixa Automática.
Políticas de Pipeline de Build
Exemplos de política para criar pipelines de build e adicionar estágios ao pipeline.
Consulte as instruções para criar políticas usando a Console.
- Crie políticas do serviço IAM para permitir que o grupo dinâmico acesse recursos do OCI no compartimento:
- Para entregar artefatos, forneça acesso ao Container Registry (OCIR):
Allow dynamic-group DevOpsDynamicGroup to manage repos in compartment <compartment_name>
- Para acessar o vault para token de acesso pessoal (PAT), forneça acesso à família secreta. Essa política é obrigatória no estágio de Build Gerenciado para acessar o PAT para fazer download do código de origem:
Allow dynamic-group DevOpsDynamicGroup to read secret-family in compartment <compartment_name>
- Forneça acesso para ler artefatos de implantação no estágio Entregar Artefatos, leia o repositório de código do DevOps no estágio de Build Gerenciado e acione o pipeline de implantação no estágio Acionar Implantação:
Allow dynamic-group DevOpsDynamicGroup to manage devops-family in compartment <compartment_name>
- Para entregar artefatos, forneça acesso ao Artifact Registry:
Allow dynamic-group DevOpsDynamicGroup to manage generic-artifacts in compartment <compartment_name>
- Para enviar notificações, forneça acesso ao pipeline de build:
Allow dynamic-group DevOpsDynamicGroup to use ons-topics in compartment <compartment_name>
- Para entregar artefatos, forneça acesso ao Container Registry (OCIR):
- Criar políticas para permitir a configuração de acesso privado no estágio de Build Gerenciado:
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 algum grupo de segurança de rede (NSGs) for especificado na configuração de acesso privado, a política deverá permitir o acesso aos NSGs:Allow dynamic-group DevOpsDynamicGroup to use network-security-groups in compartment <customer subnet compartment>
- Crie uma política para permitir que o pipeline de build acesse o recurso do pacote Autoridade de Certificação (CA) para verificação de TLS (Transport Layer Security):
Allow dynamic-group DevOpsDynamicGroup to use cabundles in compartment <compartment_name>
Políticas para Acessar Recursos do ADM
Exemplos de política para acessar recursos do serviço ADM (Application Dependency Management) pelo pipeline de build.
Consulte as instruções para criar políticas usando a Console.
Allow dynamic-group DevOpsDynamicGroup to use adm-knowledge-bases in tenancy
Allow dynamic-group DevOpsDynamicGroup to manage adm-vulnerability-audits in tenancy
Políticas de Pipeline de Implantação
Exemplos de política para criar pipelines de implantação e adicionar estágios ao pipeline.
Consulte as instruções para criar políticas usando a Console.
-
Implantações de cluster do OKE:
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to manage cluster in compartment <compartment_name>
- Serviço 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>
- Implantações de Grupo de Instâncias:
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>
Para uma implantação de grupo de instâncias, crie também um grupo dinâmico para as seguintes instâncias e dê a esse grupo determinadas permissões:- Crie um grupo dinâmico para as instâncias. Por exemplo, você pode nomear o grupo dinâmico como
DeployComputeDynamicGroup
e substituircompartmentOCID
pelo OCID do seu compartimento:All {instance.compartment.id = 'compartmentOCID'}
- Crie políticas do serviço IAM para conceder o acesso necessário às instâncias de implantação:
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>
- Crie um grupo dinâmico para as instâncias. Por exemplo, você pode nomear o grupo dinâmico como
- Implantações de estágio do 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>
- Estágio de aprovação:
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'}
- Estágio do 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 você estiver usando o grupo de segurança de Rede ao criar o estágio do Shell, adicione a seguinte política:Allow dynamic-group DevOpsDynamicGroup to use network-security-groups in compartment <compartment_name>
Políticas de Artefato
Exemplos de política para adicionar o estágio Entregar Artefatos ao pipeline de build.
O estágio Entregar Artefatos mapeia as saídas de build do estágio de Build Gerenciado com a versão a ser entregue a um recurso de artefato do DevOps e, em seguida, ao repositório de código do OCI (Oracle Cloud Infrastructure). O DevOps suporta artefatos armazenados nos repositórios do OCI Container Registry e OCI Artifact Registry. Consulte Adicionando um Estágio Entregar Artefatos.
Consulte as instruções para criar políticas usando a Console.
Crie as seguintes políticas do serviço IAM:
- Para ver uma lista de todos os repositórios no serviço Container Registry pertencente à tenancy ou a um compartimento específico:
Allow dynamic-group DevOpsDynamicGroup to inspect repos in tenancy
Allow dynamic-group DevOpsDynamicGroup to inspect repos in compartment <compartment_name>
- Permitir que artefatos sejam enviados ao Container Registry (OCIR) que pertence à tenancy ou a um compartimento específico:
Allow dynamic-group DevOpsDynamicGroup to use repos in tenancy
Allow dynamic-group DevOpsDynamicGroup to use repos in compartment <compartment_name>
- Capacidade de ver uma lista de artefatos genéricos no Artifact Registry que pertence à tenancy ou a um compartimento específico:
Allow dynamic-group DevOpsDynamicGroup to inspect generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to inspect generic-artifacts in compartment <compartment_name>
- Permite que artefatos genéricos sejam enviados ao Artifact Registry que pertence à tenancy ou a um compartimento específico:
Allow dynamic-group DevOpsDynamicGroup to use generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to use generic-artifacts in compartment <compartment_name>
Consulte Políticas do serviço Artifact Registry.
- Permita que os usuários extraiam artefatos genéricos que pertencem à tenancy ou a um compartimento específico:
Allow dynamic-group DevOpsDynamicGroup to read generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to read generic-artifacts in compartment <compartment_name>
Acessando o Artifact Registry
O Oracle Cloud Infrastructure Artifact Registry é um serviço de repositório para armazenar, compartilhar e gerenciar pacotes de desenvolvimento de software.
Você pode acessar os artefatos que armazena no Artifact Registry pelo serviço DevOps. Você pode criar uma referência a três tipos de artefatos no Artifact Registry: configurações de implantação do grupo de instâncias, artefatos gerais e manifestos do Kubernetes. Seu administrador deve conceder a permissão read all-artifacts
aos recursos do pipeline.
Consulte as instruções para criar políticas usando a console.
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name>
Para obter mais informações, consulte Políticas do serviço Artifact Registry.