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.
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.
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
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>
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>'
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.
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>'}
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
oderbucketB
innerhalb eines Mandanten zugreifenallow 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
oderbucketB
in einem beliebigen Compartment zugreifenallow 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
oderbucketB
in einem beliebigen Compartment zuallow 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.
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 Gruppedynamic-group-name1
an, umobject-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 Siedynamic-group-name2
mit der OCID vondynamic-group-name1
, die im Katalogmandanten erstellt wurde, und geben Sie danndynamic-group-name2
zu, umobject-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.
Define tenancy <tenancy-name2> as <object-storage-tenancy-OCID>
Endorse dynamic group <dynamic-group-name1> to manage object-family in compartment <compartment-name>
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.
Damit Data Catalog-Benutzer private Netzwerke konfigurieren können, müssen Sie Policys erstellen.
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
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
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
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'
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>'
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>'
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>'
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>'
Weitere Informationen finden Sie unter Erforderliche IAM-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'