Políticas do IAM Bastion
Este tópico abrange detalhes de gravação de políticas para controlar o acesso ao serviço Bastion.
Resource-Types Individuais
bastion
bastion-session
Resource-Type Agregado
bastion-family
Uma política que usa <verb> bastion-family
é equivalente a gravar uma instrução <verb> <individual resource-type>
separada para cada um dos resource-types bastion individuais.
Consulte a tabela em Detalhes para Combinações de Verbo + Resource-Type para obter um detalhamento das operações da API abrangidas por cada verbo, para cada resource-type individual incluído em bastion-family
.
Variáveis com Suporte
Bastion suporta todas as variáveis gerais, além das listadas aqui. Para obter mais informações sobre variáveis gerais suportadas pelos serviços Oracle Cloud Infrastructure, consulte Detalhes para Combinações de Verbo + Resource-Type.
Variável | Tipo de Variável | Comentários |
---|---|---|
target.bastion.ocid
|
Entidade (OCID) | Use esta variável para controlar se as operações devem ser permitidas em um bastion específico em resposta a uma solicitação para ler, atualizar, excluir ou mover um bastion, para exibir informações relacionadas a solicitações de serviço de um bastion ou para criar uma sessão em um bastion. |
target.bastion.name
|
String | Use esta variável para controlar se as operações devem ser permitidas em um bastion específico em resposta a uma solicitação para ler, atualizar, excluir ou mover um bastion, para exibir informações relacionadas a solicitações de serviço de um bastion ou para criar uma sessão em um bastion. |
target.bastion-session.username
|
String | Use esta variável para direcionar um nome de usuário específico do sistema operacional ao criar uma sessão que se conecte a uma instância do serviço Compute. |
target.resource.ocid
|
Entidade (OCID) | Use esta variável para direcionar uma instância específica do Compute por seu OCID (Oracle Cloud Identifier) ao criar uma sessão. |
Detalhes das Combinações de Verbo + Tipo de Recurso
O nível de acesso é cumulativo conforme você vai de inspect
a read
a use
a manage
.
Um sinal de adição (+)
em uma célula da tabela indica acesso incremental em comparação com a célula diretamente acima, enquanto no extra
indica nenhum acesso incremental.
Por exemplo, o verbo read
do resource-type bastion
inclui as mesmas permissões e operações de API que o verbo inspect
, mas também adiciona a operação de API GetBastion
. Da mesma forma, o verbo manage
do resource-type bastion
permite ainda mais permissões em comparação com a permissão use
. Para o resource-type bastion
, o verbo manage
inclui as mesmas permissões e operações de API que o verbo use
, além das permissões BASTION_CREATE
, BASTION_UPDATE
, BASTION_DELETE
e BASTION_MOVE
e diversas operações de API (CreateBastion
, UpdateBastion
, DeleteBastion
e ChangeBastionCompartment
).
Verbos | Permissões | APIs Totalmente Abrangidas | APIs Parcialmente Abrangidas |
---|---|---|---|
inspect | BASTION_INSPECT |
|
none |
read | INSPECT + BASTION_READ |
INSPECT +
|
|
use | READ + BASTION_USE |
no extra |
|
manage | USE + BASTION_CREATE BASTION_UPDATE BASTION_DELETE BASTION_MOVE |
USE +
|
|
Verbos | Permissões | APIs Totalmente Abrangidas | APIs Parcialmente Abrangidas |
---|---|---|---|
inspect | BASTION_SESSION_INSPECT |
none |
|
read | INSPECT + BASTION_SESSION_READ |
INSPECT +
|
none |
use | READ + BASTION_SESSION_UPDATE |
READ + no extra |
|
manage | USE + BASTION_SESSION_CREATE BASTION_SESSION_DELETE |
USE + no extra |
|
Permissões Exigidas para cada Operação de API
A tabela a seguir lista as operações de API em uma ordem lógica, agrupadas por tipo de recurso.
Para obter informações sobre permissões, consulte Permissões.
Operação de API | Permissões Obrigatórias para Usar a Operação |
---|---|
ListBastions
|
BASTION_INSPECT |
GetBastion
|
BASTION_READ |
CreateBastion
|
BASTION_CREATE e VCN_CREATE |
UpdateBastion
|
BASTION_UPDATE |
DeleteBastion
|
BASTION_DELETE e VCN_DELETE |
ChangeBastionCompartment
|
BASTION_MOVE |
CreateSession
|
BASTION_USE, INSTANCE_READ, INSTANCE_INSPECT, VCN_READ, VNIC_ATTACHMENT_READ, VNIC_READ, BASTION_SESSION_CREATE, SUBNET_READ e INSTANCE_AGENT_PLUGIN_READ Observação: INSTANCE_AGENT_PLUGIN_READ só é necessário para sessões SSH Gerenciadas. |
GetSession
|
BASTION_SESSION_READ |
ListSessions
|
BASTION_READ e BASTION_SESSION_INSPECT |
UpdateSession
|
BASTION_USE e BASTION_SESSION_UPDATE |
DeleteSession
|
BASTION_USE e BASTION_SESSION_DELETE |
Exemplos de Política
Saiba mais sobre políticas do serviço IAM Bastion com base em exemplos.
Para criar um bastion ou sessão, os usuários precisam das seguintes permissões para outros recursos do Oracle Cloud Infrastructure:
- Gerenciar redes
- Ler instâncias de computação
- Ler plug-ins do agente da instância de computação (Oracle Cloud Agent)
- Inspecionar solicitações de serviço
Para saber mais, consulte Detalhes da Política para os Serviços Principais.
Exemplos de política do Bastion:
-
Permita que os usuários do grupo
SecurityAdmins
criem, atualizem e excluam todos os recursos do Bastion na tenancy inteira: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
-
Permita que os usuários do grupo
BastionUsers
criem, estabeleçam conexão e encerrem sessões em toda a tenancy: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
-
Permita que os usuários do grupo
BastionUsers
criem, estabeleçam conexão e encerrem sessões no 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
O exemplo assume que as redes e as instâncias de computação estão no mesmo compartimento que o bastion.
-
Permita que os usuários do grupo
SalesAdmins
criem, estabeleçam conexão e encerrem sessões para um host de destino específico no 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> é o nome de usuário específico do sistema operacional ao criar uma sessão na instância do serviço Compute.
O exemplo assume que as redes e as instâncias de computação estão no mesmo compartimento que o bastion.
-
Permita que os usuários do grupo
SecurityAuditors
exibam todos os recursos do Bastion no compartimentoSalesApps
:Allow group SecurityAuditors to read bastion-family in compartment SalesApps