Politiques GIA pour le service d'hôte bastion
Cette rubrique présente des informations détaillées sur l'écriture de politiques pour contrôler l'accès au service d'hôte bastion.
Types de ressource individuels
bastion
bastion-session
Type de ressource agrégé
bastion-family
Une politique utilisant <verb> bastion-family
équivaut à écrire une politique ayant un énoncé <verb> <individual resource-type>
distinct pour chacun des types de ressource d'hôte bastion individuels.
Voir le tableau sous Informations détaillées sur les combinaisons Verbe + Type de ressource pour obtenir une description détaillée des opérations d'API couvertes par chaque verbe, pour chaque type de ressource individuel inclus dans bastion-family
.
Variables prises en charge
Le service Hôte bastion prend en charge toutes les variables générales, plus les variables listées ici. Pour plus d'informations sur les variables générales prises en charge par les services Oracle Cloud Infrastructure, voir Détails des combinaisons Verbe + Type de ressource.
Variable | Type de variable | Commentaires |
---|---|---|
target.bastion.ocid
|
Entité (OCID) | Utilisez cette variable pour contrôler si les opérations sur un hôte 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 hôte bastion, d'affichage des informations relatives aux demandes de travail pour un hôte bastion ou de création d'une session sur un hôte bastion. |
target.bastion.name
|
Chaîne | Utilisez cette variable pour contrôler si les opérations sur un hôte 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 hôte bastion, d'affichage des informations relatives aux demandes de travail pour un hôte bastion ou de création d'une session sur un hôte bastion. |
target.bastion-session.username
|
Chaîne | Utilisez cette variable pour cibler un nom d'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) | Utilisez cette variable pour cibler une instance de calcul spécifique par OCID (OCID) de son identificateur Oracle Cloud lors de la création d'une session. |
Informations détaillées sur les combinaisons Verbe + Type de ressource
Le niveau d'accès est cumulatif au fur et à mesure que vous progressez depuis inspect
à read
, use
et manage
.
Un signe plus (+)
dans une cellule de tableau indique un accès incrémentiel par rapport à la cellule précédente, alors que la mention no extra
indique qu'il n'y a aucun accès incrémentiel.
Par exemple, le verbe read
pour le type de ressource bastion
inclut les mêmes autorisations et opérations d'API que le verbe inspect
, mais ajoute également l'opération d'API GetBastion
. De même, le verbe manage
pour le type de ressource bastion
autorise encore plus d'autorisations que l'autorisation use
. Pour le type de ressource bastion
, le verbe manage
inclut les mêmes autorisations et opérations d'API que le verbe use
, plus les autorisations 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 | Autorisations | API entièrement couvertes | API partiellement couvertes |
---|---|---|---|
inspect | BASTION_INSPECT |
|
aucune |
read | INSPECT + BASTION_READ |
INSPECT +
|
|
use | READ + BASTION_USE |
no extra |
|
manage | USE + BASTION_CREATE BASTION_UPDATE BASTION_DELETE BASTION_MOVE |
USE +
|
|
Verbes | Autorisations | API entièrement couvertes | API partiellement couvertes |
---|---|---|---|
inspect | BASTION_SESSION_INSPECT |
aucune |
|
read | INSPECT + BASTION_SESSION_READ |
INSPECT +
|
aucune |
use | READ + BASTION_SESSION_UPDATE |
READ + no extra |
|
manage | USE + BASTION_SESSION_CREATE BASTION_SESSION_DELETE |
USE + no extra |
|
Autorisations requises pour chaque opération d'API
Le tableau suivant liste les opérations d'API dans un ordre logique, regroupées par type de ressource.
Pour plus d'informations sur les autorisations, voir Autorisations.
Opération d'API | Autorisations requises 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 Note : 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 politique
Découvrez les politiques IAM du service d'hôte bastion à partir d'exemples.
Pour créer un hôte bastion ou une session, les utilisateurs ont besoin des autorisations suivantes pour d'autres ressources Oracle Cloud Infrastructure :
- Gérer les réseaux
- Lire les instances de calcul
- Lire les plugiciels d'agent d'instance de calcul (Oracle Cloud Agent)
- Inspecter les demandes de travail
Pour en savoir plus, voir Informations détaillées sur les politiques pour les services de base.
Exemples de politique pour le service d'hôte bastion :
-
Autoriser les utilisateurs du groupe
SecurityAdmins
à créer, mettre à jour et supprimer toutes les ressources du service Hôte bastion dans 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
-
Autoriser les utilisateurs du groupe
BastionUsers
à créer des sessions, à s'y connecter et à y mettre fin dans toute 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
-
Autoriser 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 l'hôte bastion.
-
Autoriser 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 d'utilisateur de système d'exploitation indiqué 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 l'hôte bastion.
-
Autoriser les utilisateurs du groupe
SecurityAuditors
à voir toutes les ressources du service Hôte bastion dans le compartimentSalesApps
:Allow group SecurityAuditors to read bastion-family in compartment SalesApps