Identity and Access Management-Policys einrichten

Für Data Flow müssen allgemeine Policys in Identity and Access Management (IAM) eingerichtet werden, um Spark-Anwendungen zu verwalten und auszuführen.

Sie können die Policy-Vorlagen in IAM verwenden oder die Policys manuell erstellen. Weitere Informationen zur Funktionsweise von IAM-Policys finden Sie in der Dokumentation Identity and Access Management ohne Identitätsdomains oder in der Dokumentation Identity and Access Management mit Identitätsdomains. Erstellen Sie die folgenden vier Policys:
  • dataflow-service-level-policy
  • dataflow-admins-policy
  • Data Flow-Data Engineers-Policy
  • dataflow-sql-users-policy

Policy-Vorlagen für Data Flow

Data Flow enthält vier häufige Policy-Vorlagen. Sie werden in der Reihenfolge aufgeführt, in der Sie die Policys erstellen müssen.

Verwalten aller Anwendungen und Ausführungen durch Data Flow-Administratoren zulassen
Für Benutzer mit Administratorrechten (oder Superuser) des Service, die beliebige Aktionen für den Service ausführen können, einschließlich der Verwaltung von Anwendungen, die anderen Benutzern gehören, und der von beliebigen Benutzern im Mandanten gestarteten Ausführungen gemäß den Policys, die der Gruppe zugewiesen sind
Verwalten der eigenen Anwendungen und Ausführungen durch Data Flow-Benutzer zulassen.
Alle anderen Benutzer, die nur zum Erstellen und Löschen ihrer eigenen Anwendungen berechtigt sind. Sie können jedoch jede Anwendung in ihrem Mandanten ausführen, haben jedoch keine anderen Administratorrechte, wie das Löschen von Anwendungen, die anderen Benutzern gehören, oder das Abbrechen von Ausführungen, die von anderen Benutzern gestartet wurden.
Lassen Sie zu, dass der Data Flow-Service Aktionen mit Objekten im Mandanten im Namen des Benutzers oder der Gruppe ausführt.
Der Data-Flow-Service benötigt Berechtigungen, um Aktionen im Namen von Benutzern oder Gruppen für Objekte innerhalb des Mandanten auszuführen.
(Optional) Erstellen, bearbeiten oder ändern Sie private Endpunkte durch Data Flow-Benutzer.
Diese Policy-Vorlage ermöglicht die Verwendung von virtual-network-family und ermöglicht den Zugriff auf spezifischere Ressourcen, den Zugriff auf bestimmte Vorgänge und das Ändern der Netzwerkkonfiguration.

Policys mit IAM Policy Builder-Vorlagen erstellen

Mit den IAM-Policy Builder-Vorlagen können Sie Ihre Policys für Data Flow erstellen.

Führen Sie mit Vorlagen im Policy Builder in IAM ohne Identitätsdomains oder mit Identitätsdomains die Schritte aus, um mit der Konsole eine Policy zu erstellen:
  1. Wählen Sie im Navigationsmenü Identität und Sicherheit aus.
  2. Wählen Sie unter Identität die Option Policys aus.
3. Data Flow-Service-Level Policy wird erstellt
  1. Wählen Sie auf der Seite "Policys" die Option Policy erstellen aus.
  2. Geben Sie der Policy den Namen dataflow-service-level-policy an.
  3. (Optional) Geben Sie eine Beschreibung ein, um die Policy zu finden. Geben Sie keine vertraulichen Informationen an.
  4. Wählen Sie das Compartment im Root-Verzeichnis Ihres Mandanten aus.
  5. Wählen Sie unter Policy-Anwendungsfälle die Option Data Flow aus.
  6. Wählen Sie unter Allgemeine Policy-Vorlagen die Option Allow Data Flow service to perform common actions on behalf of users aus.
    Die Policy "Data Flow-Service darf gemeinsame Aktionen im Namen des Benutzers ausführen" ist ausgewählt, und die entsprechenden Policy-Anweisungen werden angezeigt.
  7. Klicken Sie auf Erstellen.
4. Datenfluss-Admins-Policy wird erstellt
  1. Wählen Sie auf der Seite "Policys" die Option Policy erstellen aus.
  2. Geben Sie der Policy den Namen dataflow-admins-policy an.
  3. (Optional) Geben Sie eine Beschreibung ein, um die Policy zu finden. Geben Sie keine vertraulichen Informationen an.
  4. Wählen Sie das Compartment im Root-Verzeichnis des Mandanten aus.
  5. Wählen Sie unter Policy-Anwendungsfälle die Option Data Flow aus.
  6. Wählen Sie unter Allgemeine Policy-Vorlagen die Option Let dataflow-admins perform common admin operations related to Data Flow service aus.
    Die Policy "Dass dataflow-admins allgemeine Admin-Vorgänge im Zusammenhang mit dem Data Flow-Service ausführen" ist ausgewählt, und die Policy-Anweisungen dafür werden angezeigt.
  7. Klicken Sie auf Erstellen.
5. Data Flow-Data Engineers-Policy wird erstellt
  1. Wählen Sie auf der Seite "Policys" die Option Policy erstellen aus.
  2. Geben Sie der Policy den Namen dataflow-data-engineers-policy an.
  3. (Optional) Geben Sie eine Beschreibung ein, um die Policy zu finden. Geben Sie keine vertraulichen Informationen an.
  4. Wählen Sie unter Compartment die Option dataflow-compartment aus.
  5. Wählen Sie unter Policy-Anwendungsfälle die Option Data Flow aus.
  6. Wählen Sie unter Allgemeine Policy-Vorlagen die Option Let dataflow-data-engineers perform common data engineering operations using Data Flow service aus.
    Die Policy "Datenfluss-Data Engineers gemeinsame Data Engineering-Vorgänge mit dem Data Flow-Service ausführen lassen" ist ausgewählt, und die Policy-Anweisungen dafür werden angezeigt.
  7. Wählen Sie Gruppen aus.
  8. Wählen Sie aus der Liste der Gruppen die Option dataflow-data-engineers aus.
  9. Wählen Sie unter Speicherort die Option dataflow-compartment aus.
  10. Klicken Sie auf Erstellen.
6. Erstellen von dataflow-sql-users-policy
  1. Wählen Sie auf der Seite "Policys" die Option Policy erstellen aus.
  2. Geben Sie der Policy den Namen dataflow-sql-users-policy an.
  3. (Optional) Geben Sie eine Beschreibung ein, um die Policy zu finden. Geben Sie keine vertraulichen Informationen an.
  4. Wählen Sie unter Compartment die Option dataflow-compartment aus.
  5. Wählen Sie unter Policy-Anwendungsfälle die Option Data Flow aus.
  6. Wählen Sie unter Allgemeine Policy-Vorlagen die Option Let dataflow-sql-users read and connect to Data Flow Interactive SQL clusters via JDBC or ODBC aus.
    Die Policy {\b Let dataflow-SQL-users read and connect to Data Flow Interactive SQL cluster via JDBC oder ODBC} ist gewählt, und die entsprechenden Policy-Anweisungen werden angezeigt.
  7. Wählen Sie Gruppen aus.
  8. Wählen Sie aus der Liste der Gruppen die Option dataflow-sql-users aus.
  9. Wählen Sie unter Speicherort die Option dataflow-compartment aus.
  10. Klicken Sie auf Erstellen.

Policys manuell erstellen

Sie können die Policys für Data Flow statt mit den Vorlagen in IAM auch selbst in IAM Policy Builder erstellen.

Führen Sie die Schritte zum Verwalten von Policys in IAM mit Identitätsdomains oder ohne Identitätsdomains aus, um die folgenden Policys manuell zu erstellen:

Policys für Data Flow-Benutzer
Kategorisieren Sie grundsätzlich die Data Flow-Benutzer in zwei Gruppen, um die Berechtigungen klar zu trennen:
  • Für Benutzer mit Administratorrechten (oder Superuser) des Service, die beliebige Aktionen für den Service ausführen können, einschließlich der Verwaltung von Anwendungen, die anderen Benutzern gehören, und der von beliebigen Benutzern im Mandanten gestarteten Ausführungen gemäß den Policys, die der Gruppe zugewiesen sind:
    • Erstellen Sie eine Gruppe in Ihrem Identity Service mit dem Namen dataflow-admin, und fügen Sie dieser Gruppe Benutzer hinzu.
    • Erstellen Sie eine Policy mit dem Namen dataflow-admin, und fügen Sie die folgenden Anweisungen hinzu:
      ALLOW GROUP dataflow-admin TO READ buckets IN <TENANCY>
      ALLOW GROUP dataflow-admin TO MANAGE dataflow-family IN <TENANCY>
      ALLOW GROUP dataflow-admin TO MANAGE objects IN <TENANCY> WHERE ALL
                {target.bucket.name='dataflow-logs', any {request.permission='OBJECT_CREATE',
                request.permission='OBJECT_INSPECT'}}
    Sie umfasst Zugriff auf den Bucket dataflow-logs.
  • Die zweite Kategorie gilt für alle anderen Benutzer, die nur zum Erstellen und Löschen ihrer eigenen Anwendungen autorisiert sind. Sie können jedoch jede Anwendung in ihrem Mandanten ausführen und haben keine weiteren Administratorrechte, wie das Löschen von Anwendungen, die anderen Benutzern gehören, oder das Abbrechen von Ausführungen, die von anderen Benutzern gestartet wurden.
    • Erstellen Sie eine Gruppe in Ihrem Identity Service mit dem Namen dataflow-users, und fügen Sie dieser Gruppe Benutzer hinzu.
    • Erstellen Sie eine Policy mit dem Namen dataflow-users, und fügen Sie die folgenden Anweisungen hinzu:
      ALLOW GROUP dataflow-users TO READ buckets IN <TENANCY>
      ALLOW GROUP dataflow-users TO USE dataflow-family IN <TENANCY>
      ALLOW GROUP dataflow-users TO MANAGE dataflow-family IN <TENANCY> WHERE ANY 
      {request.user.id = target.user.id, request.permission = 'DATAFLOW_APPLICATION_CREATE', 
      request.permission = 'DATAFLOW_RUN_CREATE'}
      ALLOW GROUP dataflow-users TO MANAGE objects IN <TENANCY> WHERE ALL 
      {target.bucket.name='dataflow-logs', any {request.permission='OBJECT_CREATE', 
      request.permission='OBJECT_INSPECT'}}
Oracle Cloud Infrastructure Logging-Policys

Mit diesen Policys können Sie Oracle Cloud Infrastructure Logging mit Data Flow verwenden.

Um Servicelogs zu aktivieren, müssen Sie dem Benutzer Verwaltungszugriff auf die Loggruppe sowie Zugriff auf die Ressource erteilen. Logs und Loggruppen verwenden den Ressourcentyp log-group. Damit Sie den Inhalt von Logs durchsuchen können, müssen Sie jedoch den Ressourcentyp log-content verwenden. Fügen Sie die folgenden Policys hinzu:
allow group dataflow-users to manage log-groups in compartment <compartment_name>
allow group dataflow-users to manage log-content in compartment <compartment_name>

Policy für Spark-Streaming einrichten

Um Spark Streaming mit Data Flow zu verwenden, benötigen Sie mehr als die allgemeinen Policys.

Sie müssen die allgemeinen Policys entweder mit den IAM-Policy Builder-Vorlagen oder manuell erstellt haben.

Mit IAM Policy Builder können Sie den Zugriff auf die Quellen verwalten und Ihre Streaminganwendungen senken, von denen Ihre Streaminganwendungen konsumieren oder in die sie produzieren. Beispiel: Der spezifische Streampool oder der spezifische Objektspeicher-Bucket, der sich an einem von Ihnen ausgewählten Ort befindet. Sie können auch die folgenden Schritte ausführen, um eine Policy manuell zu erstellen:

  1. Erstellen Sie eine Policy namens dataflow-streaming-policy im Root-Verzeichnis Ihres Mandanten.
  2. Fügen Sie die folgenden Anweisungen hinzu, damit Data Flow-Ausführungen aus dem Compartment dataflow-compartment einen bestimmten Streampool konsumieren oder daraus produzieren können. Der Streampool hat die ID stream-pool-ocid1 und einen Objektspeicher-Bucket mit dem Namen stream-bucket-1.
    ALLOW ANY-USER TO {STREAM_INSPECT, STREAM_READ, STREAM_CONSUME, STREAM_PRODUCE} IN TENANCY WHERE ALL
    {request.principal.type='dataflowrun', request.resource.compartment.id = '<compartment_id>', target.streampool.id = 'stream-pool-ocid1'}
    ALLOW ANY-USER TO MANAGE OBJECTS IN TENANCY WHERE ALL 
    {request.principal.type='dataflowrun', request.resource.compartment.id = '<compartment_id>', target.bucket.name = '<bucket_name>'}