Policy-Beispiele

Im Folgenden finden Sie einige Beispiele für Policys für Data Catalog.

Eine Policy-Syntax sieht folgendermaßen aus:

allow <subject> to <verb> <resource-type> in <location> where <conditions>

Vollständige Details finden Sie unter Policy-Syntax. Weitere Informationen zum Erstellen von Policys finden Sie unter Funktionsweise von Policys, Policy-Referenz und Policy-Details für Object Storage.

Beispiele für Data Catalog-Policys

Sie können Policys erstellen, um zu definieren, wie Benutzer auf die Datenkatalogressourcen zugreifen sollen. Entscheiden Sie anhand der Verben für Berechtigungszuordnungen für Datenkataloge, welches Verb den erforderlichen Zugriffsanforderungen entspricht.

Das Verb read für data-catalogs deckt dieselben Berechtigungen und API-Vorgänge ab wie das Verb inspect, plus die Berechtigungen CATALOG_READ, CATALOG_JOB_DEFINITION_READ, CATALOG_JOB_READ und CATALOG_WORK_REQUEST_READ sowie die API-Vorgänge, die sie abdecken, wie ListGlossaries, GetCatalog usw.

Zugriff für das Anzeigen von Datenkatalogen im Mandanten zulassen

Erstellen Sie diese Policy, damit eine Gruppe die Liste aller Datenkataloge im Mandanten anzeigen kann:

allow group <group-name> to inspect data-catalogs in tenancy
Zugriff in einem angegebenen Compartment zulassen

Erstellen Sie diese Policy, damit eine Gruppe alle Vorgänge, die für CATALOG_READ aufgeführt werden, in einem angegebenen Compartment ausführen kann:

allow group <group-name> to read data-catalogs in compartment <x>
Zugriff für die Verwaltung von Datenkatalogen zulassen

Das Verb manage deckt dieselben Berechtigungen und API-Vorgänge ab wie das Verb use, plus die Berechtigungen CATALOG_CREATE, CATALOG_DELETE und CATALOG_MOVE, die die API-Vorgänge CreateCatalog, DeleteCatalog bzw. MoveCatalog umfassen.

Erstellen Sie diese Policy, damit eine Gruppe alle Datenkataloge in einem bestimmten Compartment verwalten kann:

allow group <group-name> to manage data-catalog-family in compartment <x>

Erstellen Sie diese Policy, damit eine Gruppe alle Datenkataloge verwalten kann, mit Ausnahme des Löschens der Datenkataloge:

allow group <group-name> to manage data-catalog-family in compartment <x>
 where request.permission !='CATALOG_DELETE'

Erstellen Sie diese Policy, damit eine Gruppe alle Ressourcen in einem angegebenen Datenkatalog verwalten kann:

allow group <group-name> to manage data-catalog-family in tenancy
 where target.catalog.id = 'ocid.datacatalog.oc1..<unique_ID>'
Beispiele für eine Oracle Object Storage-Policy

Bevor Sie Oracle Object Storage-Datenassets erstellen, erstellen Sie Policys, um den Zugriff auf die erforderlichen Datenobjekte zu aktivieren. Nachdem Sie diese Policys erstellt haben und das Harvesting des Object Storage-Datenassets ausführen, werden nur die Datenentitys aufgelistet, auf die Ihre Data Catalog-Instanz Zugriff hat. Sie können die Datenobjekte, für die Sie das Harvesting ausführen möchten, in der angezeigten Liste auswählen.

Sie benötigen mindestens die READ-Berechtigung für jeden der Ressourcentypen objectstorage-namespaces, buckets und objects oder für den aggregierten Object Storage-Ressourcentyp object-family. Schritt-für-Schritt-Anweisungen finden Sie im Tutorial Harvesting in Oracle Object Storage ausführen.

Beispiele für Resource Principal Policys

Erstellen Sie als Voraussetzung eine dynamische Gruppe, die die spezifische Datenkatalog-OCID als Ressource enthält.

Beispiel:

Any {resource.id = 'ocid.datacatalog.oc1..<unique_ID>'}
Zugriff auf Mandanten zulassen

Verwenden Sie die folgenden Policys, wenn sich Ihre Data Catalog-Instanz und der Object Storage im selben Mandanten befinden:

Zugriff auf Mandanten zulassen

  • Erstellen Sie diese Policy nur für die root_compartment, um den Zugriff auf jedes Objekt in einem beliebigen Bucket in einem beliebigen Compartment im Mandanten zuzulassen. Da diese Policy für den gesamten Mandanten gilt, erhält ein untergeordnetes Compartment keinen Zugriff auf das Root-Verzeichnis oder die übergeordneten Compartments.
    allow dynamic-group <dynamic-group-name> to read object-family in tenancy

Zugriff auf bestimmte Buckets zulassen

  • Auf ein beliebiges Objekt in bucketA oder bucketB innerhalb eines Mandanten zugreifen
    allow dynamic group <dynamic-group-name> to read object-family in tenancy 
    where any {target.bucket.name='bucketA', target.bucket.name='bucketB'}
  • Auf ein beliebiges Objekt in bucketA oder bucketB in einem beliebigen Compartment zugreifen
    allow dynamic group <dynamic-group-name> to read object-family in compartment <compartment-name>
    where any {target.bucket.name='bucketA', target.bucket.name='bucketB'}
  • Greifen Sie mit der Compartment-OCID auf ein beliebiges Objekt in bucketA oder bucketB in einem beliebigen Compartment zu
    allow dynamic group <dynamic-group-name> to read object-family in compartment id <compartment_ocid>
    where any {target.bucket.name='bucketA', target.bucket.name='bucketB'}

    Um die Compartment-OCID in der Konsole anzuzeigen, öffnen Sie das Navigationsmenü, und klicken Sie auf Identität und Sicherheit. Klicken Sie unter Identität auf Compartments. Klicken Sie auf den Compartment-Link für die Object Storage-Ressource. Kopieren Sie auf der Seite Compartment-Details die OCID unter Compartment-Informationen.

Zugriff auf bestimmtes Compartment zulassen

  • Auf einen beliebigen Bucket innerhalb eines bestimmten Compartments zugreifen

    allow dynamic-group <dynamic-group-name> to read object-family in compartment <compartment-name>

    Beim Harvesting eines Object Storage-Datenassets werden Datenentitys aus allen Buckets im angegebenen Compartment aufgeführt. Sie können die Datenobjekte dann aus diesen Buckets für das Harvesting auswählen.

  • Mit der Compartment-OCID auf jeden Bucket in einem Compartment zugreifen
    allow dynamic-group <dynamic-group-name> to read object-family in compartment id <compartment_ocid>

    Um die Compartment-OCID in der Konsole anzuzeigen, öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Compartments aus. Klicken Sie auf den Compartment-Link für die Object Storage-Ressource. Kopieren Sie auf der Seite Compartment-Details die OCID unter Compartment-Informationen.

Zugriff auf einen anderen Mandanten zulassen

Erstellen Sie die folgenden Policys als Voraussetzung, wenn sich die Data Catalog-Instanz und der Object Storage in unterschiedlichen Mandanten befinden.

Im Katalogmandanten:

  • Definieren Sie einen Mandanten tenancy-name1, um die Object Storage-OCID zu identifizieren, und geben Sie dann die dynamische Gruppe dynamic-group-name1 an, um object-family in <tenancy-name1> zu verwalten.
    Define tenancy <tenancy-name1> as <object-storage-tenancy-OCID>
    Endorse dynamic-group <dynamic-group-name1> to manage object-family in tenancy <tenancy-name1>

In Object Storage-Mandanten:

  • Definieren Sie einen Mandanten tenancy-name2 mit der OCID des Katalogmandanten. Definieren Sie dynamic-group-name2 mit der OCID von dynamic-group-name1, die im Katalogmandanten erstellt wurde, und geben Sie dann dynamic-group-name2 zu, um object-family im Object Storage-Mandanten zu verwalten.
    Define tenancy <tenancy-name2> as <catalog-tenancy-OCID>
    Define dynamic-group <dynamic-group-name2> as <dynamic-group-name1-OCID>
    Admit dynamic-group <dynamic-group-name2> of tenancy <tenancy-name2> to manage object-family in tenancy

Zugriff auf bestimmte Buckets zulassen

Zugriff auf bestimmte Buckets wie BucketA oder BucketB in einem Compartment.

Im Katalogmandanten:

Define tenancy <tenancy-name2> as <object-storage-tenancy-OCID>
Endorse dynamic group <dynamic-group-name1> to manage object-family in compartment <compartmentA> where any {target.bucket.name='bucketA', target.bucket.name='bucketB'}

In Object Storage-Mandanten:

Define tenancy <tenancy-name1> as <catalog-tenancy-OCID>
Define dynamic-group <dynamic-group-name2> as <dynamic-group-name1-OCID>
Admit dynamic group <dynamic-group-name2> of tenancy <tenancy-name1> to manage object-family in compartment compartmentA where any {target.bucket.name='bucketA', target.bucket.name='bucketB'}

Ebenso können Sie auch mit der Compartment-ID auf Buckets in einem Compartment zugreifen.

Zugriff auf ein bestimmtes Compartment zulassen

Greifen Sie mit dem Compartment-Namen auf einen beliebigen Bucket in einem bestimmten Compartment zu.

Im Katalogmandanten:
Define tenancy <tenancy-name2> as <object-storage-tenancy-OCID>
Endorse dynamic group <dynamic-group-name1> to manage object-family in compartment <compartment-name>
In Object Storage-Mandanten:
Define tenancy <tenancy-name1> as <catalog-tenancy-OCID>
Define dynamic group <dynamic-group-name2> as <dynamic-group-name1-OCID>
admit dynamic group <dynamic-group-name2> of tenancy <tenancy-name1> to manage object-family in compartment <compartment-name>

Auf jeden Bucket in einem bestimmten Compartment können Sie mit der Compartment-OCID zugreifen.

Policy-Beispiele für private Endpunkte

Damit Data Catalog-Benutzer private Netzwerke konfigurieren können, müssen Sie Policys erstellen.

Zulassen, dass Benutzer private Endpunkte in Data Catalog verwalten

Erstellen Sie diese Policy, damit eine Gruppe alle Aktionen für private Endpunkte in Data Catalog ausführen kann.

allow group <group-name> to manage data-catalog-private-endpoints in tenancy
Zulassen, dass Benutzer Netzwerkressourcen verwalten

Erstellen Sie diese Policy, damit eine Gruppe alle netzwerkbezogenen Vorgänge im Mandanten ausführen kann.

allow group <group-name> to manage virtual-network-family in tenancy
Zulassen, dass Benutzer Fehlermeldungen privater Endpunkte anzeigen

Wenn Sie die private Endpunktressource in Data Catalog verwalten, wird empfohlen, dass Sie auch über die Berechtigung zum Verwalten von Arbeitsanforderungen verfügen. Dadurch wird sichergestellt, dass Sie die Logs und Fehlermeldungen anzeigen können, die bei der Arbeit mit privaten Endpunkten generiert werden.

allow group <group-name> to manage work-requests in tenancy
Verhindern, dass Benutzer private Endpunkte in Data Catalog löschen

Erstellen Sie diese Policy, damit eine Gruppe alle Aktionen für private Endpunkte in Data Catalog ausführen kann, außer sie zu löschen.

allow group <group-name> to manage data-catalog-private-endpoints in tenancy
 where request.permission!='CATALOG_PRIVATE_ENDPOINT_DELETE'
Beispiele für Glossar-Policys

Sie können Policys erstellen, um zu definieren, wie Benutzer auf die Glossarressourcen zugreifen sollen. Entscheiden Sie anhand der Verben für Berechtigungszuordnungen für Glossare, welches Verb den Zugriffsanforderungen entspricht. Beispiel: Mit INSPECT können Benutzer die Liste der verfügbaren Glossare anzeigen. Mit READ können Benutzer die Details eines Glossars anzeigen und außerdem das Glossar exportieren.

Erstellen Sie diese Policy, damit eine Gruppe alle Vorgänge für alle Glossare, Kategorien und Begriffe ausführen kann, die im Mandanten verfügbar sind:

allow group <group-name> to manage data-catalog-glossaries in tenancy

Erstellen Sie diese Policy, damit eine Gruppe Begriffe, Kategorien und Beziehungen innerhalb eines bestimmten Glossars erstellen, aktualisieren und löschen kann:

allow group <group-name> to use data-catalog-glossaries in tenancy where target.glossary.key = '<glossary-key>'
Hinweis

Sie können den Glossarschlüssel für das erforderliche Glossar auf der Seite mit den Glossardetails der Benutzeroberfläche kopieren.

Erstellen Sie diese Policy, damit eine Gruppe Glossare und Glossardetails in einem bestimmten Compartment anzeigen kann:

allow group <group-name> to read data-catalog-glossaries in compartment <x>

Erstellen Sie diese Policy, damit eine Gruppe die Liste aller Glossare anzeigen kann, die in einem bestimmten Datenkatalog im Mandanten verfügbar sind:

allow group <group-name> to inspect data-catalog-glossaries in tenancy where target.catalog.id = 'ocid.datacatalog.oc1..<unique_ID>'
Beispiele für Datenasset-Policys

Sie können Policys erstellen, um zu definieren, wie Sie auf die Datenassets zugreifen möchten. Entscheiden Sie anhand der Verben für Berechtigungszuordnungen für Datenassets, welches Verb den erforderlichen Zugriffsanforderungen entspricht. Beispiel: Mit INSPECT können Benutzer die Liste der verfügbaren Datenassets anzeigen. Mit READ können Benutzer Details der Datenassets anzeigen.

Erstellen Sie diese Policy, damit eine Gruppe alle Vorgänge für alle Datenassets ausführen kann, die in einem Mandanten verfügbar sind:

allow group <group-name> to manage data-catalog-data-assets in tenancy

Erstellen Sie diese Policy, damit eine Gruppe ein bestimmtes Datenasset in einem Mandanten verwenden kann:

allow group <group-name> to use data-catalog-data-assets in tenancy where target.data-asset.key='<data-asset-key>'
Hinweis

Sie können den Datenassetschlüssel für das erforderliche Datenasset auf der Seite mit den Datenassetdetails der Benutzeroberfläche kopieren.

Erstellen Sie diese Policy, damit eine Gruppe alle Datenassets anzeigen kann, die in einem bestimmten Compartment verfügbar sind (wie Verbindungen, Ordner, Datenentitys, Attribute usw.):

allow group <group-name> to read data-catalog-data-assets in compartment <x>

Erstellen Sie diese Policy, damit eine Gruppe die Liste der Datenassets anzeigen kann, die in einem bestimmten Datenkatalog in einem bestimmten Compartment verfügbar sind:

allow group <group-name> to inspect data-catalog-data-assets in compartment <x> where target.catalog.id = 'ocid.datacatalog.oc1..<unique_ID>'
Beispiele für Metastore-Policys

Weitere Informationen finden Sie unter Erforderliche IAM-Policys.

Beispiele für Sicherheits-Policys

Benutzer am Löschen von Data Catalog-Instanzen hindern

Erstellen Sie diese Policy, damit die Gruppe DataCatalogUsers alle Aktionen mit Datenkatalogen ausführen kann, mit Ausnahme von Löschaktionen.

allow group DataCatalogUsers to manage data-catalog-family in tenancy
 where request.permission!='CATALOG_DELETE'