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
).
Verbes | Droits d'accès | API entièrement couvertes | API partiellement couvertes |
---|---|---|---|
inspect | BASTION_INSPECT |
|
néant |
read | INSPECT + BASTION_READ |
INSPECT +
|
|
use | READ + BASTION_USE |
no extra |
|
manage | USE + BASTION_CREATE BASTION_UPDATE BASTION_DELETE BASTION_MOVE |
USE +
|
|
Verbes | Droits d'accès | API entièrement couvertes | API partiellement couvertes |
---|---|---|---|
inspect | BASTION_SESSION_INSPECT |
néant |
|
read | INSPECT + BASTION_SESSION_READ |
INSPECT +
|
néant |
use | READ + BASTION_SESSION_UPDATE |
READ + no extra |
|
manage | USE + BASTION_SESSION_CREATE BASTION_SESSION_DELETE |
USE + no extra |
|
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 compartimentSalesApps
: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 compartimentSalesApps
: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 compartimentSalesApps
:Allow group SecurityAuditors to read bastion-family in compartment SalesApps