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).

bastion
Verbos Permissões APIs Totalmente Abrangidas APIs Parcialmente Abrangidas
inspect

BASTION_INSPECT

ListBastions

none

read

INSPECT +

BASTION_READ

INSPECT +

GetBastion

ListSessions (também precisa de inspect session)

use

READ +

BASTION_USE

no extra

 

CreateSession (também precisa de manage session, read instances, read subnets e read vcns)

UpdateSession (também precisa de manage session)

DeleteSession (também precisa de manage session)

manage

USE +

BASTION_CREATE

BASTION_UPDATE

BASTION_DELETE

BASTION_MOVE

USE +

UpdateBastion

ChangeBastionCompartment

CreateBastion (também precisa de manage vcns, manage subnets, manage route-tables, manage security-lists, manage dhcp-options, use network-security-groups e use vnics)

DeleteBastion (também precisa de manage vcns, use private-ips, use vnics, use subnets e use network-security-groups)

session
Verbos Permissões APIs Totalmente Abrangidas APIs Parcialmente Abrangidas
inspect

BASTION_SESSION_INSPECT

none

ListSessions (também precisa de read bastion)

read

INSPECT +

BASTION_SESSION_READ

INSPECT +

GetSession

none

use

READ +

BASTION_SESSION_UPDATE

READ +

no extra

UpdateSession (também precisa de use bastion)

manage

USE +

BASTION_SESSION_CREATE

BASTION_SESSION_DELETE

USE +

no extra

CreateSession (também precisa de use bastion, read instances, read subnets e read vcns)

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 compartimento 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

    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 compartimento 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> é 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 compartimento SalesApps:

    Allow group SecurityAuditors to read bastion-family in compartment SalesApps