Políticas de IAM de Bastion
En este tema, se tratan los detalles de la escritura de políticas para controlar el acceso al servicio Bastion.
Tipos de recursos individuales
bastion
bastion-session
Tipo de recurso agregado
bastion-family
Una política que utiliza <verb> bastion-family
es equivalente a escribir una política con una sentencia <verb> <individual resource-type>
independiente para cada uno de los tipos de recursos bastion individuales.
Consulte la tabla Detalles de las combinaciones de verbo + tipo de recurso para obtener un desglose detallado de las operaciones de API que cubre cada verbo, para cada tipo de recurso individual incluido en bastion-family
.
Variables soportadas
Bastion soporta todas las variables generales, además de las que se muestran aquí. Para obtener más información sobre las variables generales soportadas por los servicios de Oracle Cloud Infrastructure, consulte Detalles de las combinaciones de verbos y tipos de recursos.
Variable | Tipo de variable | Comentarios |
---|---|---|
target.bastion.ocid
|
Entidad (OCID) | Utilice esta variable para controlar si se permiten operaciones en un bastión específico en respuesta a una solicitud para leer, actualizar, suprimir o mover un bastión, ver información relacionada con las solicitudes de trabajo de un bastion o crear una sesión en un bastion. |
target.bastion.name
|
Cadena | Utilice esta variable para controlar si se permiten operaciones en un bastión específico en respuesta a una solicitud para leer, actualizar, suprimir o mover un bastión, ver información relacionada con las solicitudes de trabajo de un bastion o crear una sesión en un bastion. |
target.bastion-session.username
|
Cadena | Utilice esta variable para dirigir un nombre de usuario específico del sistema operativo al crear una sesión que se conecte a una instancia de Compute. |
target.resource.ocid
|
Entidad (OCID) | Utilice esta variable para dirigir una instancia de Compute específica por su identificador de Oracle Cloud (OCID) al crear una sesión. |
Detalles de las combinaciones de verbo + tipo de recurso
El nivel de acceso es acumulativo a medida que pasa de inspect
a read
a use
a manage
.
Un signo más (+)
en una celda de la tabla indica un acceso incremental en comparación con la celda anterior, mientras que no extra
indica que no hay un acceso incremental.
Por ejemplo, el verbo read
para el tipo de recurso bastion
incluye los mismos permisos y operaciones de API que el verbo inspect
, pero también agrega la operación de API GetBastion
. Asimismo, el verbo manage
para el tipo de recurso bastion
permite aún más permisos en comparación con el permiso use
. Para el tipo de recurso bastion
, el verbo manage
incluye los mismos permisos y operaciones de API que el verbo use
, además de los permisos BASTION_CREATE
, BASTION_UPDATE
, BASTION_DELETE
y BASTION_MOVE
y una serie de operaciones de API (CreateBastion
, UpdateBastion
, DeleteBastion
y ChangeBastionCompartment
).
Verbos | Permisos | API totalmente cubiertas | API parcialmente cubiertas |
---|---|---|---|
inspect | BASTION_INSPECT |
|
ninguna |
read | INSPECT + BASTION_READ |
INSPECT +
|
|
use | READ + BASTION_USE |
no extra |
|
manage | USE + BASTION_CREATE BASTION_UPDATE BASTION_DELETE BASTION_MOVE |
USE +
|
|
Verbos | Permisos | API totalmente cubiertas | API parcialmente cubiertas |
---|---|---|---|
inspect | BASTION_SESSION_INSPECT |
ninguna |
|
read | INSPECT + BASTION_SESSION_READ |
INSPECT +
|
ninguna |
use | READ + BASTION_SESSION_UPDATE |
READ + no extra |
|
manage | USE + BASTION_SESSION_CREATE BASTION_SESSION_DELETE |
USE + no extra |
|
Permisos necesarios para cada operación de API
En la siguiente tabla se muestran las operaciones de API en un orden lógico, agrupadas por tipo de recurso.
Para obtener información sobre los permisos, consulte Permisos.
Operación de API | Permisos necesarios para utilizar la operación |
---|---|
ListBastions
|
BASTION_INSPECT |
GetBastion
|
BASTION_READ |
CreateBastion
|
BASTION_CREATE y VCN_CREATE |
UpdateBastion
|
BASTION_UPDATE |
DeleteBastion
|
BASTION_DELETE y VCN_DELETE |
ChangeBastionCompartment
|
BASTION_MOVE |
CreateSession
|
BASTION_USE, INSTANCE_READ, INSTANCE_INSPECT, VCN_READ, VNIC_ATTACHMENT_READ, VNIC_READ, BASTION_SESSION_CREATE, SUBNET_READ y INSTANCE_AGENT_PLUGIN_READ Nota: INSTANCE_AGENT_PLUGIN_READ solo es necesario para sesiones de SSH gestionadas. |
GetSession
|
BASTION_SESSION_READ |
ListSessions
|
BASTION_READ y BASTION_SESSION_INSPECT |
UpdateSession
|
BASTION_USE y BASTION_SESSION_UPDATE |
DeleteSession
|
BASTION_USE y BASTION_SESSION_DELETE |
Ejemplos de políticas
Obtenga más información sobre las políticas de Bastion IAM mediante ejemplos.
Para crear un bastión o una sesión, los usuarios necesitan los siguientes permisos para otros recursos de Oracle Cloud Infrastructure:
- Gestión de redes
- Leer instancias informáticas
- Leer plugins de agente de instancia informática (Oracle Cloud Agent)
- Inspeccionar solicitudes de trabajo
Para obtener más información, consulte Detalles de políticas para los servicios principales.
Ejemplos de política de Bastion:
-
Permitir a los usuarios del grupo
SecurityAdmins
crear, actualizar y suprimir todos los recursos de Bastion de todo el arrendamiento: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
-
Permitir a los usuarios del grupo
BastionUsers
crear, conectarse y terminar sesiones de todo el arrendamiento: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
-
Permitir a los usuarios del grupo
BastionUsers
crear, conectarse y terminar sesiones del compartimentoSalesApps
: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
En el ejemplo, se asume que las redes y las instancias informáticas están en el mismo compartimento que el bastión.
-
Permitir a los usuarios del grupo
SalesAdmins
crear, conectarse y terminar sesiones para un host de destino específico del compartimentoSalesApps
: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> es el nombre de usuario específico del sistema operativo al crear una sesión en la instancia de Compute.
En el ejemplo, se asume que las redes y las instancias informáticas están en el mismo compartimento que el bastión.
-
Permita a los usuarios del grupo
SecurityAuditors
ver todos los recursos de Bastion del compartimentoSalesApps
:Allow group SecurityAuditors to read bastion-family in compartment SalesApps