Criteri IAM del bastion

In questo argomento vengono descritti i dettagli per la scrittura dei criteri per controllare l'accesso al servizio Bastion.

Singola risorsa-tipi

bastion

bastion-session

Tipo di risorsa aggregata

bastion-family

Un criterio che utilizza <verb> bastion-family equivale a scriverne uno con un'istruzione <verb> <individual resource-type> separata per ogni singolo tipo di risorsa bastion.

Per un'analisi dettagliata delle operazioni API coperte da ciascun verbo, per ogni singolo tipo di risorsa incluso in bastion-family, vedere la tabella in Dettagli per combinazioni Verb + Tipo di risorsa.

Variabili supportate

Bastion supporta tutte le variabili generali, oltre a quelle elencate qui. Per ulteriori informazioni sulle variabili generali supportate dai servizi Oracle Cloud Infrastructure, vedere Dettagli per combinazioni Verb + Resource-Type.

Variabile Tipo di variabile commenti
target.bastion.ocid Entità (OCID) Utilizzare questa variabile per controllare se consentire operazioni su un bastion specifico in risposta a una richiesta di lettura, aggiornamento, eliminazione o spostamento di un bastion, per visualizzare le informazioni relative alle richieste di lavoro per un bastion o per creare una sessione su un bastion.
target.bastion.name Stringa Utilizzare questa variabile per controllare se consentire operazioni su un bastion specifico in risposta a una richiesta di lettura, aggiornamento, eliminazione o spostamento di un bastion, per visualizzare le informazioni relative alle richieste di lavoro per un bastion o per creare una sessione su un bastion.
target.bastion-session.username Stringa Utilizzare questa variabile per definire come destinazione un nome utente del sistema operativo specifico quando si crea una sessione che si connette a un'istanza di computazione.
target.resource.ocid Entità (OCID) Utilizzare questa variabile per definire la destinazione di un'istanza di computazione specifica in base all'OCID (Oracle Cloud Identifier) quando si crea una sessione.

Dettagli per le combinazioni verbo-tipo di risorsa

Il livello di accesso è cumulativo quando si passa da inspect a read a use a manage.

Un segno più (+) in una cella di tabella indica un accesso incrementale rispetto alla cella precedente, mentre no extra non indica alcun accesso incrementale.

Ad esempio, il verbo read per il tipo di risorsa bastion include le stesse autorizzazioni e le stesse operazioni API del verbo inspect, ma aggiunge anche l'operazione API GetBastion. Analogamente, il verbo manage per il tipo di risorsa bastion consente ancora più autorizzazioni rispetto all'autorizzazione use. Per il tipo di risorsa bastion, il verbo manage include le stesse autorizzazioni e le stesse operazioni API del verbo use, oltre alle autorizzazioni BASTION_CREATE, BASTION_UPDATE, BASTION_DELETE e BASTION_MOVE e a una serie di operazioni API (CreateBastion, UpdateBastion, DeleteBastion e ChangeBastionCompartment).

bastion
Verbi Autorizzazioni API completamente coperte API parzialmente coperte
ispezionare

BASTION_INSPECT

ListBastions

nessuno

letto

ISPEZIONA +

BASTION_READ

ISPEZIONA +

GetBastion

ListSessions (ha bisogno anche di inspect session)

utilizzare

LETTO +

BASTION_USE

nessun altro

 

CreateSession (ha bisogno anche di manage session, read instances, read subnets e read vcns)

UpdateSession (ha bisogno anche di manage session)

DeleteSession (ha bisogno anche di manage session)

gestisci

USE +

BASTION_CREATE

BASTION_UPDATE

BASTION_DELETE

BASTION_MOVE

USE +

UpdateBastion

ChangeBastionCompartment

CreateBastion (deve anche manage vcns, manage subnets, manage route-tables, manage security-lists, manage dhcp-options, use network-security-groups e use vnics)

DeleteBastion (deve anche manage vcns, use private-ips, use vnics, use subnets e use network-security-groups)

session
Verbi Autorizzazioni API completamente coperte API parzialmente coperte
ispezionare

BASTION_SESSION_INSPECT

nessuno

ListSessions (ha bisogno anche di read bastion)

letto

ISPEZIONA +

BASTION_SESSION_READ

ISPEZIONA +

GetSession

nessuno

utilizzare

LETTO +

BASTION_SESSION_UPDATE

LETTO +

nessun altro

UpdateSession (ha bisogno anche di use bastion)

gestisci

USE +

BASTION_SESSION_CREATE

BASTION_SESSION_DELETE

USE +

nessun altro

CreateSession (ha bisogno anche di use bastion, read instances, read subnets e read vcns)

Autorizzazioni necessarie per ogni operazione API

Nella tabella seguente sono elencate le operazioni API in ordine logico, raggruppate per tipo di risorsa.

Per informazioni sulle autorizzazioni, vedere Autorizzazioni.

Operazione API Autorizzazioni necessarie per utilizzare l'operazione
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

Nota: INSTANCE_AGENT_PLUGIN_READ è obbligatorio solo per le sessioni SSH gestite.

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

Esempi di criteri

Esempi di informazioni sui criteri IAM bastion.

Per creare un bastion o una sessione, gli utenti richiedono le seguenti autorizzazioni per altre risorse di Oracle Cloud Infrastructure:

  • Gestisci reti
  • Leggi istanze di computazione
  • Lettura dei plugin agente istanza di computazione (agente Oracle Cloud)
  • Esaminare le richieste di lavoro

Per ulteriori informazioni, consulta Dettagli criteri per i servizi di base.

Esempi di criteri bastion:

  • Consentire agli utenti del gruppo SecurityAdmins di creare, aggiornare ed eliminare tutte le risorse Bastion nell'intera tenancy:

    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
  • Consentire agli utenti del gruppo BastionUsers di creare, connettersi e terminare le sessioni nell'intera 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
  • Consentire agli utenti del gruppo BastionUsers di creare, connettersi e terminare le sessioni nel 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

    L'esempio presuppone che le reti e le istanze di computazione si trovino nello stesso compartimento del bastion.

  • Consentire agli utenti del gruppo SalesAdmins di creare, connettersi e terminare le sessioni per un host di destinazione specifico nel 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> è il nome utente del sistema operativo specifico quando si crea una sessione nell'istanza di computazione.

    L'esempio presuppone che le reti e le istanze di computazione si trovino nello stesso compartimento del bastion.

  • Consentire agli utenti del gruppo SecurityAuditors di visualizzare tutte le risorse bastion nel compartimento SalesApps:

    Allow group SecurityAuditors to read bastion-family in compartment SalesApps