Stratégies IAM pour Bastion

Cette rubrique traite des détails relatifs à l'écriture de stratégies visant à contrôler l'accès au service Bastion.

Types individuels de ressource

bastion

bastion-session

Type agrégé de ressource

bastion-family

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

Reportez-vous au tableau dans Détails des combinaisons de verbe et de type de ressource afin d'obtenir la répartition détaillée des opérations d'API couvertes par chaque verbe, pour chaque type individuel de ressource inclus dans bastion-family.

Variables prises en charge

Le service Bastion prend en charge toutes les variables générales, ainsi que celles répertoriées ici. Pour plus d'informations sur les variables générales prises en charge par les services Oracle Cloud Infrastructure, reportez-vous à Détails des combinaisons de verbes et de type de ressource.

Variable Type de variable Commentaires
target.bastion.ocid Entité (OCID) Utilisez cette variable pour déterminer si les opérations sur un bastion spécifique doivent être autorisées en réponse à une demande de lecture, de mise à jour, de suppression ou de déplacement d'un bastion, afin d'afficher les informations relatives aux demandes de travail pour un bastion ou de créer une session sur un bastion.
target.bastion.name Chaîne Utilisez cette variable pour déterminer si les opérations sur un bastion spécifique doivent être autorisées en réponse à une demande de lecture, de mise à jour, de suppression ou de déplacement d'un bastion, afin d'afficher les informations relatives aux demandes de travail pour un bastion ou de créer une session sur un bastion.
target.bastion-session.username Chaîne Utilisez cette variable afin de cibler un nom utilisateur de système d'exploitation spécifique lors de la création d'une session qui se connecte à une instance de calcul.
target.resource.ocid Entité (OCID) Lorsque vous créez une session, utilisez cette variable pour cibler une instance de calcul spécifique par son OCID (Oracle Cloud Identifier).

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

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 précédente, tandis que la mention no extra n'indique aucun accès incrémentiel.

Par exemple, le verbe read pour le type de ressource bastion inclut les mêmes droits d'accès et opérations d'API que le verbe inspect, mais ajoute l'opération d'API GetBastion. De même, le verbe manage pour le type de ressource bastion accorde encore plus de droits d'accès que use. Pour le type de ressource bastion, le verbe manage inclut les mêmes droits d'accès et opérations d'API que le verbe use, plus les droits d'accès BASTION_CREATE, BASTION_UPDATE, BASTION_DELETE et BASTION_MOVE, ainsi qu'un certain nombre d'opérations d'API (CreateBastion, UpdateBastion, DeleteBastion et ChangeBastionCompartment).

bastion
Verbes Droits d'accès API entièrement couvertes API partiellement couvertes
inspect

BASTION_INSPECT

ListBastions

néant

read

INSPECT +

BASTION_READ

INSPECT +

GetBastion

ListSessions (inspect session est également requis)

use

READ +

BASTION_USE

no extra

 

CreateSession ( manage session, read instances, read subnets et read vcns sont également requis)

UpdateSession (manage session est également requis)

DeleteSession (manage session est également requis)

manage

USE +

BASTION_CREATE

BASTION_UPDATE

BASTION_DELETE

BASTION_MOVE

USE +

UpdateBastion

ChangeBastionCompartment

CreateBastion (manage vcns, manage subnets, manage route-tables, manage security-lists, manage dhcp-options, use network-security-groups et use vnics sont également requis)

DeleteBastion (manage vcns, use private-ips, use vnics, use subnets et use network-security-groups sont également requis)

session
Verbes Droits d'accès API entièrement couvertes API partiellement couvertes
inspect

BASTION_SESSION_INSPECT

néant

ListSessions (read bastion est également requis)

read

INSPECT +

BASTION_SESSION_READ

INSPECT +

GetSession

néant

use

READ +

BASTION_SESSION_UPDATE

READ +

no extra

UpdateSession (use bastion est également requis)

manage

USE +

BASTION_SESSION_CREATE

BASTION_SESSION_DELETE

USE +

no extra

CreateSession (use bastion, read instances, read subnets et read vcns sont également requis)

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

Le tableau suivant présente les opérations d'API dans un ordre logique, regroupées par type de ressource.

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
ListBastions BASTION_INSPECT
GetBastion BASTION_READ
CreateBastion BASTION_CREATE et VCN_CREATE
UpdateBastion BASTION_UPDATE
DeleteBastion BASTION_DELETE et VCN_DELETE
ChangeBastionCompartment BASTION_MOVE
CreateSession

BASTION_USE, INSTANCE_READ, INSTANCE_INSPECT, VCN_READ, VNIC_ATTACHMENT_READ, VNIC_READ, BASTION_SESSION_CREATE, SUBNET_READ et INSTANCE_AGENT_PLUGIN_READ

Remarque : INSTANCE_AGENT_PLUGIN_READ est requis uniquement pour les sessions SSH gérées.

GetSession BASTION_SESSION_READ
ListSessions BASTION_READ et BASTION_SESSION_INSPECT
UpdateSession BASTION_USE et BASTION_SESSION_UPDATE
DeleteSession BASTION_USE et BASTION_SESSION_DELETE

Exemples de stratégie

Découvrez les stratégies Bastion IAM à partir d'exemples.

Afin de créer un bastion ou une session, les utilisateurs doivent disposer des droits d'accès suivants pour les autres ressources Oracle Cloud Infrastructure :

  • Gérer les réseaux
  • Lire les instances de calcul
  • Lire l'agent d'instance de calcul (agent Oracle Cloud)
  • Inspecter des demandes de travail

Pour en savoir plus, reportez-vous à Détails de stratégie pour les services de base.

Exemples de stratégie Bastion :

  • Autorisez les utilisateurs du groupe SecurityAdmins à créer, mettre à jour et supprimer toutes les ressources bastion de l'ensemble de la location :

    Allow group SecurityAdmins to manage bastion-family in tenancy
    Allow group SecurityAdmins to manage virtual-network-family in tenancy
    Allow group SecurityAdmins to read instance-family in tenancy
    Allow group SecurityAdmins to read instance-agent-plugins in tenancy
    Allow group SecurityAdmins to inspect work-requests in tenancy
  • Autorisez les utilisateurs du groupe BastionUsers à créer des sessions, à s'y connecter et à y mettre fin dans l'ensemble de la location :

    Allow group BastionUsers to use bastions in tenancy
    Allow group BastionUsers to read instances in tenancy
    Allow group BastionUsers to read vcn in tenancy
    Allow group BastionUsers to manage bastion-session in tenancy
    Allow group BastionUsers to read subnets in tenancy
    Allow group BastionUsers to read instance-agent-plugins in tenancy
    Allow group BastionUsers to read vnic-attachments in tenancy
    Allow group BastionUsers to read vnics in tenancy
  • Autorisez les utilisateurs du groupe BastionUsers à créer des sessions, à s'y connecter et à y mettre fin dans le compartiment SalesApps :

    Allow group BastionUsers to use bastion in compartment SalesApps
    Allow group BastionUsers to read instances in compartment SalesApps
    Allow group BastionUsers to read vcn in compartment SalesApps
    Allow group BastionUsers to manage bastion-session in compartment SalesApps
    Allow group BastionUsers to read subnets in compartment SalesApps
    Allow group BastionUsers to read instance-agent-plugins in compartment SalesApps
    Allow group BastionUsers to read vnic-attachments in compartment SalesApps
    Allow group BastionUsers to read vnics in compartment SalesApps

    L'exemple suppose que les réseaux et les instances de calcul se trouvent dans le même compartiment que le bastion.

  • Autorisez les utilisateurs du groupe SalesAdmins à créer des sessions, à s'y connecter et à y mettre fin pour un hôte cible spécifique dans le compartiment SalesApps :

    Allow group SalesAdmins to use bastion in compartment SalesApps
    Allow group BastionUsers to read instances in compartment SalesApps
    Allow group BastionUsers to read vcn in compartment SalesApps
    Allow group SalesAdmins to manage bastion-session in compartment SalesApps where ALL {target.resource.ocid='<instance_OCID>', target.bastion-session.username='<session_username>'}
    Allow group SalesAdmins to read subnets in compartment SalesApps
    Allow group SalesAdmins to read instance-agent-plugins in compartment SalesApps
    Allow group BastionUsers to read vnic-attachments in compartment SalesApps
    Allow group BastionUsers to read vnics in compartment SalesApps

    <session_username> est le nom utilisateur de système d'exploitation spécifique lors de la création d'une session sur l'instance de calcul.

    L'exemple suppose que les réseaux et les instances de calcul se trouvent dans le même compartiment que le bastion.

  • Autorisez les utilisateurs du groupe SecurityAuditors à visualiser toutes les ressources bastion du compartiment SalesApps :

    Allow group SecurityAuditors to read bastion-family in compartment SalesApps