Políticas de IAM de DevOps
Cree políticas de IAM para controlar quién tiene acceso a los recursos DevOps y para controlar el tipo de acceso para cada grupo de usuarios.
Antes de controlar el acceso a recursos de DevOps como repositorios de código, pipelines de compilación y pipelines de despliegue, debe crear usuarios y colocarlos en grupos adecuados (consulte Gestión de usuarios y Gestión de grupos). A continuación, puede crear políticas y sentencias de política para controlar el acceso (consulte Gestión de políticas).
Por defecto, los usuarios del grupo Administrators
tienen acceso a todos los recursos de DevOps. Si no está familiarizado con las políticas de IAM, consulte Introducción a las políticas.
Para obtener una lista completa de todas las políticas de Oracle Cloud Infrastructure, consulte Referencia de política y Políticas comunes.
Tipos de recursos y permisos
Lista de tipos de recursos de DevOps y permisos asociados.
Para asignar permisos a todos los recursos de DevOps, utilice el tipo agregado devops-family
. Para obtener más información, consulte Permisos.
Una política que utiliza <verb> devops-family
es igual a escribir una política con una sentencia <verb> <resource-type>
independiente para cada uno de los tipos de recursos individuales.
Tipo de recurso | Permisos |
---|---|
familia devops | Los verbos inspect, read, use, manage se aplican a todos los permisos de tipos de recursos DevOps.Los verbos |
devops-project |
|
familia devops-deploy- |
Los verbos
|
devops-deploy-artifact |
|
devops-deploy-environment |
|
devops-deploy-pipeline |
|
devops-deploy-stage |
|
devops-deployment |
|
devops-work-requests |
|
devops-repository-family |
Los verbos
El verbo |
devops-repository |
|
devops-pull-request |
|
devops-pull-request-comment |
|
devops-protected-branch |
|
devops-build-family |
Teniendo en cuenta los verbos,
|
devops-build-pipeline |
|
devops-build-pipeline-stage |
|
devops-build-run |
|
devops-connection |
|
devops-trigger |
|
Variables soportadas
Las variables se utilizan al agregar condiciones a una política.
DevOps soporta las siguientes variables:
- Entidad: ID de Oracle Cloud (OCID)
- tringir: texto en formato libre.
- Número: valor numérico (precisión arbitraria)
- Lista: lista de entidades, cadenas o números
- Booleano: True o False
Consulte Variables generales para todas las solicitudes.
Las variables se especifican en minúsculas y separadas por guiones. Por ejemplo, target.tag-namespace.name
, target.display-name
. Aquí name
debe ser un valor único y display-name
es la descripción.
El servicio DevOps proporciona las variables necesarias para cada solicitud. El motor de autorización proporciona variables automáticas (ya sea de servicio local con el SDK para un cliente grueso o en el plano de datos de identidad para un cliente fino).
Variables necesarias | Tipo | Descripción |
---|---|---|
target.compartment.id |
Entidad (OCID) | OCID del recurso primario para la solicitud. |
request.operation |
Cadena | ID de operación (por ejemplo, GetUser ) de la solicitud. |
target.resource.kind |
Cadena | Nombre de tipo de recurso del recurso primario de la solicitud. |
Variables automáticas | Tipo | Descripción |
---|---|---|
request.user.id |
Entidad (OCID) | OCID del usuario solicitante. |
request.groups.id |
Lista de entidades (OCID) | OCID de los grupos en los que está el usuario solicitante. |
target.compartment.name |
Cadena | Nombre del compartimento especificado en target.compartment.id . |
target.tenant.id |
Entidad (OCID) | OCID del ID de inquilino de destino. |
A continuación, se muestra una lista de orígenes disponibles para las variables:
- Solicitud: procede de la entrada de la solicitud.
- Derivado: procede de la solicitud.
- Almacenado: procede del servicio y la entrada retenida.
- Calculado: se calcula a partir de los datos del servicio.
Asignación de variables con tipos de recursos
Tipo de recurso | Variable | Tipo | Origen | Descripción |
---|---|---|---|---|
|
target.project.id |
Entrada | Almacenado | Disponible para operaciones obtener, actualizar, suprimir y mover en el recurso Proyecto. |
|
target.project.name |
Cadena | Almacenado | Disponible para operaciones obtener, actualizar, suprimir y mover en el recurso Proyecto. |
devops-deploy-artifact |
target.artifact.id |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar y suprimir en el recurso Artefacto. |
devops-deploy-environment |
target.environment.id |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar y suprimir en el recurso Entorno. |
|
target.pipeline.id |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar y suprimir en el recurso Pipeline. |
devops-deploy-stage |
target.stage.id |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar y suprimir en el recurso Etapa. |
devops-deployment |
target.deployment.id |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar y suprimir en los tipos de recurso Despliegue. |
devops-repository
|
target.repository.id |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar, suprimir y mover en el recurso Repositorio. |
devops-pull-request-comment |
target.pull-request.id |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar y suprimir en el recurso Pull-Request. |
devops-repository
|
target.repository.name |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar, suprimir y mover en el recurso Repositorio. |
devops-pull-request-comment |
target.pull-request.display-name |
Cadena | Almacenado | Disponible para operaciones obtener, actualizar y suprimir en el recurso Pull-Request. |
devops-repository |
target.branch.name |
Entidad | Almacenado | Disponible para operaciones de Git como upload-pack y receive-pack en la rama del repositorio. |
devops-protected-branch |
target.branch.name |
Cadena | Almacenado | Disponible para operaciones obtener, actualizar, suprimir y mover en el recurso Rama protegida. |
devops-repository |
target.tag.name |
Entidad | Almacenado | Disponible para operaciones de Git como upload-pack y receive-pack en la rama del repositorio. |
devops-pull-request |
target.pull-request.id |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar y suprimir en el recurso Pull-Request. |
devops-pull-request |
target.pull-request.display-name |
Cadena | Almacenado | Disponible para operaciones obtener, actualizar y suprimir en el recurso Pull-Request. |
devops-connection |
target.connection.id |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar y suprimir en el recurso Conexión. |
devops-trigger |
target.trigger.id |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar y suprimir en el recurso Disparador. |
|
target.build-pipeline.id |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar y suprimir en el recurso Pipeline de compilación. |
devops-build-pipeline-stage |
target.build-pipeline-stage.id |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar y suprimir en el recurso Etapa de pipeline de compilación. |
devops-build-run |
target.build-run.id |
Entidad | Almacenado | Disponible para operaciones obtener, actualizar, suprimir y cancelar en el recurso Ejecución de compilación. |
Detalles para combinaciones de verbos y tipos de recursos
Identifique los permisos y las operaciones de API que cubre cada verbo para los recursos de DevOps.
El nivel de acceso es acumulativo a medida que pasa de inspect
a read
a use
a manage
. Un signo más (+)
en una celda de la tabla indica un acceso incremental en comparación con la celda anterior. Todos los permisos (inspeccionar, leer, utilizar y gestionar) son aplicables para el tipo de recurso devops-family
, que incluye todos los recursos DevOps.
Para obtener más información sobre cómo otorgar acceso, consulte Permisos.
En esta tabla, se muestran los permisos y las API cubiertas totalmente por los permisos para el recurso devops-project
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
DEVOPS_PROJECT_INSPECT |
ListProjects |
Muestra todos los recursos del proyecto en un compartimento. |
read |
|
|
Obtiene un proyecto específico por ID. |
use |
|
|
Actualiza un proyecto específico. |
manage |
|
|
Crea un recurso de proyecto. |
manage |
|
|
Suprime un proyecto específico. |
manage |
|
|
Mueve un proyecto a un compartimento diferente. |
En esta tabla, se muestran los permisos y las API totalmente cubiertas por los permisos para el recurso devops-deploy-family
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
|
|
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
En esta tabla, se muestran los permisos y las API cubiertas totalmente por los permisos para el recurso devops-deploy-artifact
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_ARTIFACT_INSPECT |
ListDeployArtifacts |
Muestra todos los artefactos de un proyecto o compartimento. |
read |
|
|
Obtiene un artefacto específico por ID. |
use |
|
|
Actualiza un artefacto específico por ID. |
manage |
|
|
Crea un recurso de artefacto dentro de un proyecto. |
manage |
|
|
Suprime un artefacto específico por ID. |
En esta tabla, se muestran los permisos y las API cubiertas totalmente por los permisos para el recurso devops-deploy-environment
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_ENVIRONMENT_INSPECT |
ListDeployEnvironments |
Muestra todos los entornos de una aplicación o compartimento. |
read |
|
|
Obtiene un entorno específico por ID. |
use |
|
|
Actualiza un entorno específico por ID. |
manage |
|
|
Crea un entorno para un destino de despliegue dentro de una aplicación. |
manage |
|
|
Suprime un entorno específico por ID. |
En esta tabla, se muestran los permisos y las API cubiertas totalmente por los permisos para el recurso devops-deploy-pipeline
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_PIPELINE_INSPECT |
ListDeployPipelines |
Muestra todos los recursos de pipeline de un compartimento. |
read |
|
|
Obtiene un pipeline específico por ID. |
use |
|
|
Actualiza un pipeline específico por ID. |
manage |
|
|
Crea un recurso de pipeline. |
manage |
|
|
Suprime un pipeline específico. |
En esta tabla, se muestran los permisos y las API cubiertas totalmente por los permisos para el recurso devops-deploy-stage
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
DEVOPS_DEPLOY_STAGE_INSPECT |
ListDeployStages |
Muestra todas las etapas de un pipeline o compartimento. |
read |
|
|
Obtiene una etapa específica por ID. |
use |
|
|
Actualiza una etapa específica por ID. |
manage |
|
|
Crea una etapa dentro de un pipeline. |
manage |
|
|
Suprime una etapa específica por ID. |
En esta tabla, se muestran los permisos y las API cubiertas totalmente por los permisos para el recurso devops-deployment
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
DEVOPS_DEPLOYMENT_INSPECT |
ListDeployments |
Muestra todos los despliegues de un compartimento. |
read |
|
|
Obtiene un despliegue específico por ID. |
use |
|
|
Actualiza una etapa específica por ID. |
use |
|
|
Aprueba un despliegue específico que esté esperando la aprobación manual. |
use |
|
|
Cancela un despliegue en ejecución. |
manage |
|
|
Crea un despliegue para un pipeline específico. |
manage |
|
|
Suprime un despliegue específico. |
En esta tabla, se muestran los permisos y las API cubiertas totalmente por los permisos para el recurso devops-work-requests
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
DEVOPS_WORK_REQUEST_INSPECT |
ListWorkRequests |
Muestra todas las solicitudes de trabajo en un compartimento. |
read |
|
|
Obtiene una solicitud de trabajo específica por ID. |
En esta tabla, se muestran los permisos y las API totalmente cubiertas por los permisos para el recurso devops-repository-family
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
|
|
|
read |
inspect+
|
|
|
use |
|
|
|
manage |
|
|
|
En esta tabla se muestran los permisos y las API cubiertas totalmente por los permisos para el recurso devops-repository
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
DEVOPS_REPOSITORY_INSPECT |
ListRepositories |
Muestra todos los recursos del repositorio por ID de compartimento, ID de proyecto o ID de repositorio. |
read |
|
|
Obtiene un repositorio específico por ID. |
use |
|
|
Actualiza un repositorio específico por ID. |
manage |
|
|
Crea un repositorio. |
manage |
|
|
Suprime un repositorio específico por ID. |
En esta tabla, se muestran los permisos y las API cubiertas totalmente por los permisos para el recurso devops-connection
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
DEVOPS_CONNECTION_INSPECT |
ListConnections |
Muestra todas las conexiones de un proyecto o compartimento. |
read |
|
|
Obtiene una conexión específica por ID. |
use |
|
|
Actualiza una conexión específica por ID. |
use |
|
|
Valida el PAT de la conexión. |
manage |
|
|
Crea un recurso de conexión en un proyecto. |
manage |
|
|
Suprime una conexión específica por ID. |
En esta tabla, se muestran los permisos y las API cubiertas totalmente por los permisos para el recurso devops-trigger
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
DEVOPS_TRIGGER_INSPECT |
ListTriggers |
Muestra todos los disparadores de un proyecto o compartimento. |
read |
|
|
Obtiene un disparador específico por ID. |
use |
|
|
Actualiza un disparador específico por ID. |
manage |
|
|
Crea un recurso disparador en un proyecto. |
manage |
|
|
Suprime un disparador específico por ID. |
En esta tabla, se muestran los permisos y las API totalmente cubiertas por los permisos para el recurso devops-build-family
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
|
|
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
En esta tabla, se muestran los permisos y las API cubiertas totalmente por los permisos para el recurso devops-build-pipeline
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
DEVOPS_BUILD_PIPELINE_INSPECT |
ListBuildPipelines |
Muestra todos los recursos del pipeline de compilación en un compartimento. |
read |
|
|
Obtiene un pipeline de compilación específico por ID. |
use |
|
|
Actualiza un pipeline de compilación específico por ID. |
manage |
|
|
Crea un recurso de pipeline de compilación. |
manage |
|
|
Suprime un pipeline de compilación específico. |
En esta tabla, se muestran los permisos y las API cubiertas totalmente por los permisos para el recurso devops-build-pipeline-stage
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
DEVOPS_BUILD_PIPELINE_STAGE_INSPECT |
ListBuildPipelineStages |
Muestra todas las etapas de un pipeline o compartimento de compilación. |
read |
|
|
Obtiene una etapa de pipeline de compilación específica por ID. |
use |
|
|
Actualiza una etapa de pipeline de compilación específica por ID. |
manage |
|
|
Crea una etapa en un pipeline de compilación. |
manage |
|
|
Suprime la etapa de pipeline de compilación específica por ID. |
En esta tabla, se muestran los permisos y las API cubiertas totalmente por los permisos para el recurso devops-build-run
.
Verbos | Permisos | API cubiertas | Descripción |
---|---|---|---|
inspect |
DEVOPS_BUILD_RUN_INSPECT |
ListBuildRuns |
Muestra las ejecuciones de compilación en un proyecto o compartimento. |
read |
|
|
Obtiene una ejecución de compilación específica por ID. |
use |
|
|
Actualiza una ejecución de compilación existente. |
use |
|
|
Cancela una ejecución de compilación en ejecución. |
manage |
|
|
Inicia una ejecución de compilación para un pipeline de compilación especificado. |
manage |
|
|
Suprime una ejecución de compilación existente. |
Creación de una política y un grupo dinámico
Para otorgar permiso a los usuarios para acceder a los distintos recursos de DevOps, como pipelines de compilación, pipelines de despliegue, artefactos y repositorios de código, debe crear grupos, grupos dinámicos y políticas de IAM.
Una política permite a un grupo trabajar de determinadas formas con tipos específicos de recursos en un compartimento concreto.
Política
A continuación, se muestra cómo crear una política en la consola de Oracle Cloud:
- Abra el menú de navegación y haga clic en Identidad y seguridad. En Identidad, haga clic en Políticas.
- Haga clic en Crear política.
- Introduzca un nombre y una descripción para la política.
- En Creador de política, haga clic en el conmutador Mostrar editor manual para activar el editor.
Introduzca una regla de política con el siguiente formato:
Allow <group> to <verb> <resource_type> in <compartment or tenancy details>
- Haga clic en Crear.
Para obtener más información sobre la creación de políticas, consulte Funcionamiento de las políticas y Referencia de políticas.
Para crear un grupo y agregar usuarios al grupo, consulte Gestión de grupos.
Grupo dinámico
Un grupo dinámico es un tipo especial de grupo que contiene recursos (como instancias informáticas) que coincidan con las reglas que haya definido.
Las reglas de coincidencia definen los recursos que pertenecen al grupo dinámico. En la consola, puede introducir la regla manualmente en el cuadro de texto proporcionado o puede utilizar el generador de reglas. Para obtener más información, consulte Escritura de reglas de coincidencia para definir grupos dinámicos. Utilice la regla match-any
para hacer coincidir varias condiciones.
DevOpsDynamicGroup
y sustituir compartmentOCID
por el OCID del compartimento: ALL {resource.type = 'devopsdeploypipeline', resource.compartment.id = 'compartmentOCID'}
ALL {resource.type = 'devopsrepository', resource.compartment.id = 'compartmentOCID'}
ALL {resource.type = 'devopsbuildpipeline',resource.compartment.id = 'compartmentOCID'}
ALL {resource.type = 'devopsconnection',resource.compartment.id = 'compartmentOCID'}
Para obtener más información sobre los grupos dinámicos, incluidos los permisos necesarios para crearlos, consulte Gestión de grupos dinámicos y Escritura de políticas para grupos dinámicos.
DevOpsDynamicGroup
: Allow dynamic-group DevOpsDynamicGroup to manage devops-family in compartment <compartment_name>
Para los arrendamientos que tienen dominios de identidad, el nombre del dominio debe preceder al nombre del grupo dinámico en la política. Por ejemplo,
domain-name/{DevOpsDynamicGroup}
Ejemplos de políticas
Políticas de DevOps necesarias para utilizar varios recursos de DevOps como repositorios de código, pipelines de compilación y pipelines de despliegue.
Se proporcionan los siguientes ejemplos de políticas:
Políticas de entorno
Ejemplo de política para crear un entorno de destino que se utiliza para el despliegue.
Consulte las instrucciones para crear políticas mediante la consola.
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 del repositorio de código
Ejemplos de políticas para crear un repositorio de código y conectarse a repositorios de código externo como GitHub y GitLab.
Consulte las instrucciones para crear políticas, grupos y grupos dinámicos mediante la consola.
- Permitir a los usuarios de un grupo acceder al proyecto de DevOps:
Allow group <group-name> to read devops-project in compartment <compartment_name>
- Permitir a los usuarios de un grupo leer, crear, actualizar o suprimir un repositorio:
Allow group <group-name> to manage devops-repository in compartment <compartment_name>
- Permitir a los usuarios de un grupo acceder al proyecto de DevOps:
Allow group <group-name> to read devops-project in compartment <compartment_name>
- Permitir a los usuarios de un grupo leer o actualizar un repositorio:
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 crear una solicitud de recuperación, debe definir políticas basadas en las acciones que puede realizar un usuario. Para obtener más información y ejemplos, consulte Managing Pull Requests.
Políticas de pipeline de compilación
Ejemplos de políticas para crear pipelines de compilación y agregar etapas al pipeline.
Consulte las instrucciones para crear políticas mediante la consola.
- Cree políticas de IAM para permitir que el grupo dinámico acceda a los recursos de OCI en el compartimento:
- Para entregar artefactos, proporcione acceso a Container Registry (OCIR):
Allow dynamic-group DevOpsDynamicGroup to manage repos in compartment <compartment_name>
- Para acceder al almacén para el token de acceso personal (PAT), proporcione acceso a secret-family. Esta política es necesaria en la etapa Compilación gestionada para acceder a PAT para descargar el código fuente:
Allow dynamic-group DevOpsDynamicGroup to read secret-family in compartment <compartment_name>
- Proporcionar acceso a artefactos de despliegue de lectura en la etapa Entregar artefactos, leer el repositorio de código de DevOps en la etapa Compilación gestionada y disparar el pipeline de despliegue en la etapa Despliegue de disparador:
Allow dynamic-group DevOpsDynamicGroup to manage devops-family in compartment <compartment_name>
- Para entregar artefactos, proporcione acceso al repositorio de Artifact Registry:
Allow dynamic-group DevOpsDynamicGroup to manage generic-artifacts in compartment <compartment_name>
- Para enviar notificaciones, proporcione acceso al pipeline de compilación:
Allow dynamic-group DevOpsDynamicGroup to use ons-topics in compartment <compartment_name>
- Para entregar artefactos, proporcione acceso a Container Registry (OCIR):
- Cree políticas para permitir la configuración del acceso privado en la etapa Creación gestionada:
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 se especifica algún grupo de seguridad de red (NSG) en la configuración de acceso privado, la política debe permitir el acceso a los NSG:Allow dynamic-group DevOpsDynamicGroup to use network-security-groups in compartment <customer subnet compartment>
- Cree una política para permitir que el pipeline de creación acceda al recurso de grupo de autoridad de certificación (CA) para la verificación de seguridad de capa de transporte (TLS):
Allow dynamic-group DevOpsDynamicGroup to use cabundles in compartment <compartment_name>
Políticas para acceder a los recursos de ADM
Ejemplos de políticas para acceder a los recursos del servicio Application Dependency Management (ADM) desde el pipeline de compilación.
Consulte las instrucciones para crear políticas mediante la consola.
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 despliegue
Ejemplos de políticas para crear pipelines de despliegue y agregar etapas al pipeline.
Consulte las instrucciones para crear políticas mediante la consola.
-
Despliegues de clusters de OKE:
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to manage cluster in compartment <compartment_name>
- Funciones:
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>
- Despliegues de grupos de instancias:
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 un despliegue de grupo de instancias, también debe crear un grupo dinámico para las siguientes instancias y proporcionar al grupo dinámico determinados permisos:- Cree un grupo dinámico para las instancias. Por ejemplo, puede asignar un nombre al grupo dinámico como
DeployComputeDynamicGroup
y sustituircompartmentOCID
por el OCID del compartimento:All {instance.compartment.id = 'compartmentOCID'}
- Crear políticas de IAM para proporcionar el acceso necesario a las instancias de despliegue:
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>
- Cree un grupo dinámico para las instancias. Por ejemplo, puede asignar un nombre al grupo dinámico como
- Despliegues de etapa de Helm:
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to manage cluster in compartment <compartment_name> Allow dynamic-group DevOpsDynamicGroup to read repos in compartment <compartment_name>
- Fase Aprobación:
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'}
- Etapa 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 utiliza el grupo de seguridad de red al crear la etapa Shell, agregue la siguiente política:Allow dynamic-group DevOpsDynamicGroup to use network-security-groups in compartment <compartment_name>
Políticas de artefactos
Ejemplos de políticas para agregar la etapa Entregar artefactos al pipeline de compilación.
La etapa Entregar artefactos asigna las salidas de compilación de la etapa Compilación gestionada con la versión para entregar a un recurso de artefacto DevOps y, a continuación, al repositorio de código de Oracle Cloud Infrastructure (OCI). DevOps soporta artefactos almacenados en repositorios de OCI Container Registry y Artifact Registry. Consulte Adición de una etapa Entregar artefactos.
Consulte las instrucciones para crear políticas mediante la consola.
Cree las siguientes políticas de IAM:
- Para ver una lista de todos los repositorios de Container Registry que pertenecen al arrendamiento o a un compartimento concreto:
Allow dynamic-group DevOpsDynamicGroup to inspect repos in tenancy
Allow dynamic-group DevOpsDynamicGroup to inspect repos in compartment <compartment_name>
- Permitir que los artefactos se transfieran a la instancia de Container Registry (OCIR) que pertenece al arrendamiento o a un compartimento concreto:
Allow dynamic-group DevOpsDynamicGroup to use repos in tenancy
Allow dynamic-group DevOpsDynamicGroup to use repos in compartment <compartment_name>
- Capacidad para ver una lista de artefactos genéricos en Artifact Registry que pertenecen al arrendamiento o a un compartimento concreto:
Allow dynamic-group DevOpsDynamicGroup to inspect generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to inspect generic-artifacts in compartment <compartment_name>
- Permitir que los artefactos genéricos se transfieran al registro de Artifact Registry que pertenece al arrendamiento o a un compartimento concreto:
Allow dynamic-group DevOpsDynamicGroup to use generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to use generic-artifacts in compartment <compartment_name>
Consulte la sección sobre políticas de Artifact Registry.
- Permita a los usuarios extraer artefactos genéricos que pertenezcan al arrendamiento o a un compartimento concreto:
Allow dynamic-group DevOpsDynamicGroup to read generic-artifacts in tenancy
Allow dynamic-group DevOpsDynamicGroup to read generic-artifacts in compartment <compartment_name>
Acceso a Artifact Registry
Oracle Cloud Infrastructure Artifact Registry es un servicio de repositorio para almacenar, compartir y gestionar paquetes de desarrollo de software.
Puede acceder a los artefactos que almacena en Artifact Registry desde el servicio DevOps. Puede crear una referencia a tres tipos de artefactos en Artifact Registry: configuraciones de despliegue de grupo de instancias, artefactos generales y manifiestos de Kubernetes. El administrador debe otorgar el permiso read all-artifacts
a los recursos de pipeline.
Consulte las instrucciones para crear políticas mediante la consola.
Allow dynamic-group DevOpsDynamicGroup to read all-artifacts in compartment <compartment_name>
Para obtener más información, consulte la sección sobre políticas de Artifact Registry.