IAM-Policys für Bastion

In diesem Thema werden Details zum Schreiben von Policys für die Kontrolle des Zugriffs auf den Bastion-Service beschrieben.

Individuelle Ressourcentypen

bastion

bastion-session

Aggregierter Ressourcentyp

bastion-family

Eine Policy, die <verb> bastion-family verwendet, entspricht dem Schreiben einer Policy mit einer separaten <verb> <individual resource-type>-Anweisung für die einzelnen Bastion-Ressourcentypen.

Eine detaillierte Aufgliederung der API-Vorgänge, die von jedem Verb für jeden individuellen Ressourcentyp in bastion-family abgedeckt werden, finden Sie in der Tabelle unter Details zu Kombinationen aus Verb und Ressourcentyp.

Unterstützte Variablen

Bastion unterstützt alle allgemeinen Variablen sowie die hier aufgeführten Variablen. Weitere Informationen zu allgemeinen Variablen, die von Oracle Cloud Infrastructure-Services unterstützt werden, finden Sie unter Details zu Kombinationen aus Verb und Ressourcentyp.

Variable Variablentyp Kommentare
target.bastion.ocid Entity (OCID) Mit dieser Variablen können Sie steuern, ob Vorgänge für eine bestimmte Bastion als Antwort auf eine Anforderung zum Lesen, Aktualisieren, Löschen oder Verschieben einer Bastion, zum Anzeigen von Informationen zu Arbeitsanforderungen für eine Bastion oder zum Erstellen einer Session auf einer Bastion zulässig sind.
target.bastion.name Zeichenfolge Mit dieser Variablen können Sie steuern, ob Vorgänge für eine bestimmte Bastion als Antwort auf eine Anforderung zum Lesen, Aktualisieren, Löschen oder Verschieben einer Bastion, zum Anzeigen von Informationen zu Arbeitsanforderungen für eine Bastion oder zum Erstellen einer Session auf einer Bastion zulässig sind.
target.bastion-session.username Zeichenfolge Mit dieser Variablen können Sie beim Erstellen einer Session, die eine Verbindung zu einer Compute-Instanz herstellt, einen bestimmten Betriebssystemnamen als Ziel festlegen.
target.resource.ocid Entity (OCID) Mit dieser Variablen können Sie beim Erstellen einer Session eine bestimmte Compute-Instanz anhand der Oracle Cloud-ID (OCID) als Ziel festlegen.

Details zu Kombinationen aus Verb und Ressourcentyp

Die Zugriffsebene ist kumulativ von inspect zu read zu use zu manage.

Ein Pluszeichen (+) in einer Tabellenzelle inkrementellen Zugriff im Vergleich zur Zelle direkt darüber an, während Keine zusätzlichen keinen inkrementellen Zugriff angibt.

Beispiel: Das Verb read für den Ressourcentyp bastion enthält dieselben Berechtigungen und API-Vorgänge wie das Verb inspect, zusätzlich aber auch den API-Vorgang GetBastion. Ebenso enthält das Verb manage für den Ressourcentyp bastion im Vergleich zur Berechtigung use noch weitere Berechtigungen. Für den Ressourcentyp bastion enthält das Verb manage dieselben Berechtigungen und API-Vorgänge wie das Verb use. Außerdem enthält es die Berechtigungen BASTION_CREATE, BASTION_UPDATE, BASTION_DELETE und BASTION_MOVE sowie eine Reihe von API-Vorgängen (CreateBastion, UpdateBastion, DeleteBastion und ChangeBastionCompartment).

bastion
Verben Berechtigungen Vollständig abgedeckte APIs Teilweise abgedeckte APIs
inspect

BASTION_INSPECT

ListBastions

keine

read

INSPECT +

BASTION_READ

INSPECT +

GetBastion

ListSessions (erfordert auch inspect session)

use

READ +

BASTION_USE

keine zusätzlichen

 

CreateSession (erfordert auch manage session, read instances, read subnets und read vcns)

UpdateSession (erfordert auch manage session)

DeleteSession (erfordert auch manage session)

manage

USE +

BASTION_CREATE

BASTION_UPDATE

BASTION_DELETE

BASTION_MOVE

USE +

UpdateBastion

ChangeBastionCompartment

CreateBastion (erfordert auch manage vcns, manage subnets, manage route-tables, manage security-lists, manage dhcp-options, use network-security-groups und use vnics)

DeleteBastion (erfordert auch manage vcns, use private-ips, use vnics, use subnets und use network-security-groups)

session
Verben Berechtigungen Vollständig abgedeckte APIs Teilweise abgedeckte APIs
inspect

BASTION_SESSION_INSPECT

keine

ListSessions (erfordert auch read bastion)

read

INSPECT +

BASTION_SESSION_READ

INSPECT +

GetSession

keine

use

READ +

BASTION_SESSION_UPDATE

READ +

keine zusätzlichen

UpdateSession (erfordert auch use bastion)

manage

USE +

BASTION_SESSION_CREATE

BASTION_SESSION_DELETE

USE +

keine zusätzlichen

CreateSession (erfordert auch use bastion, read instances, read subnets und read vcns)

Für jeden API-Vorgang erforderliche Berechtigungen

In der folgenden Tabelle werden die API-Vorgänge in einer logischen Reihenfolge nach Ressourcentyp gruppiert aufgeführt.

Informationen zu Berechtigungen finden Sie unter Berechtigungen.

API-Vorgang Für den Vorgang erforderliche Berechtigungen
ListBastions BASTION_INSPECT
GetBastion BASTION_READ
CreateBastion BASTION_CREATE und VCN_CREATE
UpdateBastion BASTION_UPDATE
DeleteBastion BASTION_DELETE und VCN_DELETE
ChangeBastionCompartment BASTION_MOVE
CreateSession

BASTION_USE, INSTANCE_READ, INSTANCE_INSPECT, VCN_READ, VNIC_ATTACHMENT_READ, VNIC_READ, BASTION_SESSION_CREATE, SUBNET_READ und INSTANCE_AGENT_PLUGIN_READ

Hinweis: INSTANCE_AGENT_PLUGIN_READ ist nur für verwaltete SSH-Sessions erforderlich.

GetSession BASTION_SESSION_READ
ListSessions BASTION_READ und BASTION_SESSION_INSPECT
UpdateSession BASTION_USE und BASTION_SESSION_UPDATE
DeleteSession BASTION_USE und BASTION_SESSION_DELETE

Policy-Beispiele

Hier finden Sie Beispiele für IAM-Policys für Bastionen.

Um eine Session zu erstellen, benötigen Benutzer die folgenden Berechtigungen für andere Oracle Cloud Infrastructure-Ressourcen:

  • Netzwerke verwalten
  • Compute-Instanzen lesen
  • Compute-Instanz-Agent-(Oracle Cloud Agent-)Plug-ins lesen
  • Arbeitsanforderungen prüfen

Weitere Informationen finden Sie unter Policy-Details für die Coreservices.

Policy-Beispiele für Bastion:

  • Benutzer in der Gruppe SecurityAdmins können alle Bastion-Ressourcen im gesamten Mandanten erstellen, aktualisieren und löschen:

    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
  • Benutzern in der Gruppe BastionUsers das Erstellen, Verbinden und Beenden von Sessions im gesamten Mandanten erlauben:

    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
  • Benutzern in der Gruppe BastionUsers das Erstellen, Verbinden und Beenden von Sessions im Compartment SalesApps erlauben:

    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

    Im Beispiel wird angenommen, dass sich die Netzwerke und Compute-Instanzen im selben Compartment wie die Bastion befinden.

  • Benutzern in der Gruppe SalesAdmins das Erstellen, Verbinden und Beenden von Sessions für einen bestimmten Zielhost im Compartment SalesApps erlauben:

    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> ist der spezifische Betriebssystemname beim Erstellen einer Session in der Compute-Instanz.

    Im Beispiel wird angenommen, dass sich die Netzwerke und Compute-Instanzen im selben Compartment wie die Bastion befinden.

  • Benutzer in der Gruppe SecurityAuditors können alle Bastionressourcen im Compartment SalesApps anzeigen:

    Allow group SecurityAuditors to read bastion-family in compartment SalesApps