Stratégies IAM pour Container Instances

Cette rubrique traite des détails relatifs à l'écriture de stratégies visant à contrôler l'accès à Oracle Cloud Infrastructure Container Instances.

Pour plus d'informations sur IAM, reportez-vous à Présentation d'IAM.

Types de ressource

Types individuels de ressource

compute-container-instances

compute-containers

Type agrégé de ressource

compute-container-family

Commentaires

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

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

Les tableaux suivants indiquent les droits d'accès et les opérations d'API que couvre chaque verbe. Le niveau d'accès est cumulatif à mesure que vous passez d'un verbe à l'autre, dans l'ordre suivant : inspect > read > use > manage. Le signe plus (+) dans une cellule du tableau indique un accès incrémentiel par rapport à la cellule directement au-dessus, alors que la mention "aucun élément supplémentaire" n'indique aucun accès incrémentiel.

Par exemple, les verbes read et use pour le type de ressource vcns ne couvrent aucune opération d'API ni aucun droit d'accès supplémentaire par rapport au verbe inspect. Cependant, le verbe manage inclut plusieurs opérations d'API et droits d'accès supplémentaires.

Pour les types de ressource compute-container-family

Le tableau suivant répertorie les droits d'accès et les opérations d'API couverts par chaque type individuel de ressource inclus dans compute-container-family.

compute-container-instances
Verbes Autorisations API entièrement couvertes API partiellement couvertes
inspecter

COMPUTE_CONTAINER_INSTANCE_INSPECT

ListContainerInstanceShapes

ListContainerInstances

ListWorkRequests

ListWorkRequestErrors

ListWorkRequestLogs

aucun

lu

INSPECTION +

COMPUTE_CONTAINER_INSTANCE_READ

GetWorkRequest

GetContainerInstance (requiert également inspect compute-container)

utiliser

LU +

COMPUTE_CONTAINER_INSTANCE_UPDATE

COMPUTE_CONTAINER_INSTANCE_START

COMPUTE_CONTAINER_INSTANCE_STOP

COMPUTE_CONTAINER_INSTANCE_RESTART

UpdateContainerInstance

StartContainerInstance

StopContainerInstance

RestartContainerInstance

aucun élément supplémentaire

gérer

UTILISER +

COMPUTE_CONTAINER_INSTANCE_CREATE

COMPUTE_CONTAINER_INSTANCE_DELETE

COMPUTE_CONTAINER_INSTANCE_MOVE

ChangeContainerInstanceCompartment

CreateContainerInstance (requiert également use vnics, use subnets et manage compute-container)

DeleteContainerInstance (requiert également use vnics, use subnets et manage compute-container)

compute-container
Verbes Autorisations API entièrement couvertes API partiellement couvertes
inspecter

COMPUTE_CONTAINER_INSPECT

ListContainers

GetContainerInstance (requiert également read compute-container-instances)

lu

INSPECTION +

COMPUTE_CONTAINER_READ

GetContainer

aucun élément supplémentaire

utiliser

LU +

COMPUTE_CONTAINER_UPDATE

COMPUTE_CONTAINER_LOG_RETRIEVE

UpdateContainer

RetrieveLogs

aucun élément supplémentaire

gérer

UTILISER +

COMPUTE_CONTAINER_CREATE

COMPUTE_CONTAINER_DELETE

aucun élément supplémentaire

CreateContainerInstance (requiert également use vnics, use subnets et manage compute-container-instances)

DeleteContainerInstance (requiert également use vnics, use subnets et manage compute-container-instances)

Droits d'accès requis pour chaque opération d'API

Le tableau suivant présente les opérations d'API regroupées par type de ressource. Les types de ressource sont répertoriés dans l'ordre alphabétique.

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

Opération d'API Droits d'accès requis pour utiliser l'opération
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 et COMPUTE_CONTAINER_CREATE
GetContainerInstance COMPUTE_CONTAINER_INSTANCE_READ et 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 et COMPUTE_CONTAINER_DELETE
GetWorkRequest COMPUTE_CONTAINER_INSTANCE_READ
ListWorkRequestLogs COMPUTE_CONTAINER_INSTANCE_INSPECT
ListWorkRequestErrors COMPUTE_CONTAINER_INSTANCE_INSPECT
ListWorkRequests COMPUTE_CONTAINER_INSTANCE_INSPECT

Exemples de stratégie

Utilisez l'exemple suivant pour construire des stratégies pour la location.
Remarque

Les exemples suivants permettent de configurer rapidement votre location. Pour plus de personnalisation des stratégies de votre location, reportez-vous à Fonctionnalités avancées des stratégies IAM.

Autoriser les utilisateurs à créer des instances de conteneur

Type d'accès : autorisez les utilisateurs à créer des instances de conteneur dans le compartiment <container-instance-compartment-name> et à utiliser des sous-réseaux dans le compartiment <subnet-compartment-name>.

Emplacement de création de la stratégie : l'approche la plus simple consiste à placer cette stratégie dans la location. Si vous souhaitez que les administrateurs de chaque compartiment contrôlent les différentes instructions de stratégie pour leur compartiment, reportez-vous à Attachement de stratégie.

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

Pour permettre aux utilisateurs de créer des réseaux cloud et des sous-réseaux, reportez-vous à Autoriser les administrateurs réseau à gérer un réseau cloud.

Autoriser les instances de conteneur à extraire des images de Container Registry

Type d'accès : permet au service Container Instances de lire des images à partir de référentiels privés Container Registry.

Emplacement de création de la stratégie : l'approche la plus simple consiste à placer cette stratégie dans la location.

  1. Créez un groupe dynamique avec des instances de conteneur comme type de ressource. Ajoutez une règle avec la syntaxe suivante :
    ALL {resource.type='computecontainerinstance', resource.compartment.id = '<container-instance-compartment-ocid>'}
  2. Ecrivez la stratégie suivante pour accorder l'accès au groupe :

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

Sélection de l'image de conteneur à l'aide de la console

Type d'accès : lorsque vous créez l'instance de conteneur dans la console, vous pouvez sélectionner l'image de conteneur. Pour générer l'adresse correcte de l'image de conteneur, vous devez ajouter cette stratégie afin de lire les espaces de noms Object Storage.

Emplacement de création de la stratégie : l'approche la plus simple consiste à placer cette stratégie dans la location.

Allow group ContainerInstanceLaunchers to read objectstorage-namespaces in tenancy

Fonctionnalités avancées des stratégies IAM

Pour plus d'informations sur les fonctionnalités avancées des stratégies IAM ou sur le redimensionnement des stratégies Container Registry, reportez-vous aux sections suivantes :