Políticas de IAM de Container Instances

En este tema se tratan los detalles de la escritura de políticas para controlar el acceso a Oracle Cloud Infrastructure Container Instances.

Para obtener información sobre IAM, consulte Visión general de IAM.

Tipos de recursos

Tipos de recursos individuales

compute-container-instances

compute-containers

Tipo de recurso agregado

compute-container-family

Comentarios

Una política que utiliza <verb> compute-container-family es equivalente a escribir una política con una sentencia <verb> <individual resource-type> independiente para cada uno de los tipos de recursos individuales.

Detalles de las combinaciones de verbo + tipo de recurso

En las siguientes tablas, se muestran los permisos y las operaciones de API que cubre cada verbo. El nivel de acceso es acumulativo a medida que pasa de inspect > read > use > manage. Un signo más (+) en una celda de la tabla indica un acceso incremental en comparación con la celda situada directamente encima, mientras que "sin extra" indica que no hay un acceso incremental.

Por ejemplo, los verbos read y use para el tipo de recurso vcns no incluyen permisos ni operaciones de API adicionales en comparación con el verbo inspect. Sin embargo, el verbo manage incluye varios permisos y operaciones de API adicionales.

Para tipos de recursos compute-container-family

En las siguientes tablas, se muestran los permisos y las operaciones de API que abarca cada uno de los tipos de recursos individuales incluidos en compute-container-family.

compute-container-instances
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspeccionar

COMPUTE_CONTAINER_INSTANCE_INSPECT

ListContainerInstanceShapes

ListContainerInstances

ListWorkRequests

ListWorkRequestErrors

ListWorkRequestLogs

ninguna

leído

INSPECCIONAR +

COMPUTE_CONTAINER_INSTANCE_READ

GetWorkRequest

GetContainerInstance (también necesita inspect compute-container)

usar

LEER +

COMPUTE_CONTAINER_INSTANCE_UPDATE

COMPUTE_CONTAINER_INSTANCE_START

COMPUTE_CONTAINER_INSTANCE_STOP

COMPUTE_CONTAINER_INSTANCE_RESTART

UpdateContainerInstance

StartContainerInstance

StopContainerInstance

RestartContainerInstance

sin más

gestionar

USAR +

COMPUTE_CONTAINER_INSTANCE_CREATE

COMPUTE_CONTAINER_INSTANCE_DELETE

COMPUTE_CONTAINER_INSTANCE_MOVE

ChangeContainerInstanceCompartment

CreateContainerInstance (también necesita use vnics, use subnets y manage compute-container)

DeleteContainerInstance (también necesita use vnics, use subnets y manage compute-container)

compute-container
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspeccionar

COMPUTE_CONTAINER_INSPECT

ListContainers

GetContainerInstance (también necesita read compute-container-instances)

leído

INSPECCIONAR +

COMPUTE_CONTAINER_READ

GetContainer

sin más

usar

LEER +

COMPUTE_CONTAINER_UPDATE

COMPUTE_CONTAINER_LOG_RETRIEVE

UpdateContainer

RetrieveLogs

sin más

gestionar

USAR +

COMPUTE_CONTAINER_CREATE

COMPUTE_CONTAINER_DELETE

sin más

CreateContainerInstance (también necesita use vnics, use subnets y manage compute-container-instances)

DeleteContainerInstance (también necesita use vnics, use subnets y manage compute-container-instances)

Permisos necesarios para cada operación de API

En la siguiente tabla se muestran las operaciones de API agrupadas por tipo de recurso. Los tipos de recursos se muestran por defecto.

Para obtener información sobre los permisos, consulte Permisos.

Operación de API Permisos necesarios para utilizar la operación
GetContainer COMPUTE_CONTAINER_READ
ListContainers COMPUTE_CONTAINER_INSPECT
RetrieveLogs COMPUTE_CONTAINER_LOG_RETRIEVE
UpdateContainer COMPUTE_CONTAINER_UPDATE
CreateContainerInstance COMPUTE_CONTAINER_INSTANCE_CREATE, VNIC_CREATE, SUBNET_USE y COMPUTE_CONTAINER_CREATE
GetContainerInstance COMPUTE_CONTAINER_INSTANCE_READ y COMPUTE_CONTAINER_INSPECT
ListContainerInstances COMPUTE_CONTAINER_INSTANCE_INSPECT
ListContainerInstanceShapes COMPUTE_CONTAINER_INSTANCE_INSPECT
UpdateContainerInstance COMPUTE_CONTAINER_INSTANCE_UPDATE
StartContainerInstance COMPUTE_CONTAINER_INSTANCE_START
StopContainerInstance COMPUTE_CONTAINER_INSTANCE_STOP
RestartContainerInstance COMPUTE_CONTAINER_INSTANCE_RESTART
ChangeContainerInstanceCompartment COMPUTE_CONTAINER_INSTANCE_MOVE
DeleteContainerInstance COMPUTE_CONTAINER_INSTANCE_DELETE, VNIC_DELETE, SUBNET_USE y COMPUTE_CONTAINER_DELETE
GetWorkRequest COMPUTE_CONTAINER_INSTANCE_READ
ListWorkRequestLogs COMPUTE_CONTAINER_INSTANCE_INSPECT
ListWorkRequestErrors COMPUTE_CONTAINER_INSTANCE_INSPECT
ListWorkRequests COMPUTE_CONTAINER_INSTANCE_INSPECT

Ejemplos de políticas

Utilice el siguiente ejemplo para crear políticas para el arrendamiento.
Nota

Los siguientes ejemplos permiten configurar rápidamente su arrendamiento. Para obtener más personalización de las políticas de su arrendamiento, consulte Funciones avanzadas de las políticas de IAM.

Permitir a los usuarios crear instancias de contenedor

Tipo de acceso: permite a los usuarios crear instancias de contenedor en el compartimento <container-instance-compartment-name> y utilizar subredes en el compartimento <subnet-compartment-name>.

Dónde crear la política: el enfoque más sencillo es colocar esta política en el arrendamiento. Si desea que los administradores de los compartimentos individuales tengan control sobre las sentencias de política individuales para sus compartimentos, consulte Asociación de políticas.

Allow group ContainerInstanceLaunchers to manage compute-container-family in compartment <container-instance-compartment-name>
Allow group ContainerInstanceLaunchers to use virtual-network-family in compartment <subnet-compartment-name>
Allow group ContainerInstanceLaunchers to read repos in tenancy

Para permitir a los usuarios crear nuevas redes y subredes en la nube, consulte Permitir a los administradores de red gestionar una red en la nube.

Permitir que Container Instances extraiga imágenes de Container Registry

Tipo de acceso: permite al servicio Container Instances la capacidad de leer imágenes de repositorios privados de Container Registry.

Dónde crear la política: el enfoque más sencillo es colocar esta política en el arrendamiento.

  1. Cree un grupo dinámico con Container Instances como tipo de recurso. Agregue una regla con la siguiente sintaxis:
    ALL {resource.type='computecontainerinstance', resource.compartment.id = '<container-instance-compartment-ocid>'}
  2. Escriba la siguiente política para otorgar acceso al grupo dinámico:

    Allow dynamic-group ContainerInstanceDynamicGroup to read repos in compartment <container-registry-repo-compartment-name>

Selección de la imagen de contenedor mediante la consola

Tipo de acceso: al crear la instancia de contenedor en la consola, puede seleccionar la imagen de contenedor. Para generar la dirección correcta de la imagen de contenedor, debe agregar esta política para leer los espacios de nombres de Object Storage.

Dónde crear la política: el enfoque más sencillo es colocar esta política en el arrendamiento.

Allow group ContainerInstanceLaunchers to read objectstorage-namespaces in tenancy

Funciones avanzadas de políticas de IAM

Para obtener información sobre las funciones avanzadas de las políticas de IAM o sobre cómo reducir las políticas de Container Registry, consulte: