Configuation de stratégies Identity and Access Management

Data Flow requiert la configuration de stratégies communes dans Identity and Access Management (IAM) pour gérer et exécuter des applications Spark.

Vous pouvez utiliser les modèles de stratégie dans IAM ou les créer manuellement. Pour plus d'informations sur le fonctionnement des stratégies IAM, reportez-vous à la documentation Identity and Access Management without Identity Domains ou à la documentation Identity and Access Management with Identity Domains. Créez les quatre stratégies suivantes :
  • dataflow-service-level-policy
  • dataflow-admins-policy
  • dataflow-data-engineers-policy
  • dataflow-sql-users-policy

Modèles de stratégie Data Flow

Data Flow compte quatre modèles de stratégie courante. Ils sont répertoriés dans l'ordre dans lequel vous devez créer les stratégies.

Autoriser les administrateurs de Data Flow à gérer toutes les applications et exécutions
Pour les administrateurs (ou superutilisateurs) du service pouvant exécuter n'importe quelle action sur le service, y compris la gestion des applications appartenant à d'autres utilisateurs et des exécutions démarrées par les utilisateurs dans leur location, en fonction des stratégies affectées au groupe
Autoriser les utilisateurs de Data Flow à gérer toutes les applications et exécutions.
Tous les autres utilisateurs uniquement autorisés à créer et à supprimer leurs propres applications. Mais ils peuvent exécuter n'importe quelle application dans leur location et ne disposent d'aucun autre droit d'administration, tel que la suppression d'applications appartenant à d'autres utilisateurs ou l'annulation d'exécutions démarrées par d'autres utilisateurs.
Autorisez le service Data Flow à effectuer des actions au nom de l'utilisateur ou du groupe sur des objets de la location.
Le service Data Flow doit disposer de droits d'accès permettant d'effectuer des actions pour le compte de l'utilisateur ou du groupe sur les objets dans la location.
(Facultatif) Autoriser les utilisateurs de Data Flow à créer ou à modifier des adresses privées
Ce modèle de stratégie permet l'utilisation de virtual-network-family, l'accès à des ressources plus spécifiques, l'accès à des opérations spécifiques et la modification de la configuration réseau.

Création de stratégies à l'aide de modèles de générateur de stratégies IAM

Utilisez les modèles de générateur de stratégies IAM afin de créer vos stratégies pour Data Flow.

A l'aide des modèles du générateur de stratégies dans IAM sans domaines d'identité ou avec domaines d'identité, procédez comme suit pour utiliser la console afin de créer une stratégie :
  1. Dans le menu de navigation, sélectionnez Identité et sécurité.
  2. Sous Identité sélectionnez Stratégies.
3. Création de dataflow-service-level-policy
  1. Sur la page Stratégies, sélectionnez Créer une stratégie.
  2. Attribuez à la stratégie le nom dataflow-service-level-policy.
  3. (Facultatif) Entrez une description pour vous aider à trouver la stratégie. N'incluez pas d'informations confidentielles.
  4. Sélectionnez le compartiment à la racine de la location.
  5. Dans Cas d'emploi de stratégie, sélectionnez Data Flow.
  6. Dans Modèles de stratégie communs, sélectionnez Allow Data Flow service to perform common actions on behalf of users.
    La stratégie Autoriser le service Data Flow à effectuer des actions courantes pour le compte de l'utilisateur est sélectionnée et les instructions de stratégie correspondantes sont affichées.
  7. Sélectionnez Créer.
4. Création de dataflow-admins-policy
  1. Sur la page Stratégies, sélectionnez Créer une stratégie.
  2. Attribuez à la stratégie le nom dataflow-admins-policy.
  3. (Facultatif) Entrez une description pour vous aider à trouver la stratégie. N'incluez pas d'informations confidentielles.
  4. Sélectionnez le compartiment à la racine de la location.
  5. Dans Cas d'emploi de stratégie, sélectionnez Data Flow.
  6. Dans Modèles de stratégie communs, sélectionnez Let dataflow-admins perform common admin operations related to Data Flow service.
    La stratégie Autoriser dataflow-admins à effectuer des opérations d'administration courantes liées au service Data Flow est sélectionnée et les instructions de stratégie correspondantes sont affichées.
  7. Sélectionnez Créer.
5. Créer une stratégie Dataflow-data-engineers
  1. Sur la page Stratégies, sélectionnez Créer une stratégie.
  2. Attribuez à la stratégie le nom dataflow-data-engineers-policy.
  3. (Facultatif) Entrez une description pour vous aider à trouver la stratégie. N'incluez pas d'informations confidentielles.
  4. Pour Compartiment, sélectionnez dataflow-compartment.
  5. Dans Cas d'emploi de stratégie, sélectionnez Data Flow.
  6. Dans Modèles de stratégie communs, sélectionnez Let dataflow-data-engineers perform common data engineering operations using Data Flow service.
    La stratégie Autoriser dataflow-data-engineers à effectuer des opérations courantes d'ingénierie des données à l'aide du service Data Flow est sélectionnée, et les instructions de stratégie correspondantes sont affichées.
  7. Sélectionnez Groupes.
  8. Dans la liste des groupes, sélectionnez dataflow-data-engineers.
  9. Dans Emplacement, sélectionnez dataflow-compartment.
  10. Sélectionnez Créer.
6. Création de dataflow-sql-users-policy
  1. Sur la page Stratégies, sélectionnez Créer une stratégie.
  2. Attribuez à la stratégie le nom dataflow-sql-users-policy.
  3. (Facultatif) Entrez une description pour vous aider à trouver la stratégie. N'incluez pas d'informations confidentielles.
  4. Pour Compartiment, sélectionnez dataflow-compartment.
  5. Dans Cas d'emploi de stratégie, sélectionnez Data Flow.
  6. Dans Modèles de stratégie communs, sélectionnez Let dataflow-sql-users read and connect to Data Flow Interactive SQL clusters via JDBC or ODBC.
    La stratégie Autoriser dataflow-SQL-users à lire les clusters SQL interactifs Data Flow via JDBC ou ODBC est sélectionnée, et les instructions de stratégie correspondantes sont affichées.
  7. Sélectionnez Groupes.
  8. Dans la liste des groupes, sélectionnez dataflow-sql-users.
  9. Dans Emplacement, sélectionnez dataflow-compartment.
  10. Sélectionnez Créer.

Création manuelle de stratégies

Plutôt que d'utiliser les modèles IAM afin de créer des stratégies pour Data Flow, vous pouvez les créer vous-même dans le générateur de stratégies IAM.

Suivez les étapes de gestion des stratégies dans IAM avec des domaines d'identité ou sans domaines d'identité pour créer manuellement les stratégies suivantes :

Stratégies utilisateur dans Data Flow
En règle générale, classez les utilisateurs Data Flow en deux groupes pour séparer les rôles :
  • Pour les administrateurs (ou superutilisateurs) du service pouvant exécuter n'importe quelle action sur le service, y compris la gestion des applications appartenant à d'autres utilisateurs et des exécutions démarrées par les utilisateurs dans leur location, en fonction des stratégies affectées au groupe :
    • Créez un groupe dans votre service d'identité nommé dataflow-admin et ajoutez des utilisateurs à ce groupe.
    • Créez une stratégie nommée dataflow-admin et ajoutez les instructions suivantes :
      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'}}
    Elle inclut l'accès au bucket dataflow-logs.
  • La deuxième catégorie est destinée à tous les autres utilisateurs uniquement autorisés à créer et à supprimer leurs propres applications. Ils peuvent exécuter n'importe quelle application dans leur location, mais ne disposent d'aucun autre droit d'administration, tel que la suppression d'applications appartenant à d'autres utilisateurs ou l'annulation d'exécutions démarrées par d'autres utilisateurs.
    • Créez un groupe dans votre service d'identité nommé dataflow-users et ajoutez des utilisateurs à ce groupe.
    • Créez une stratégie nommée dataflow-users et ajoutez les instructions suivantes :
      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'}}
Stratégies Oracle Cloud Infrastructure Logging

Ces stratégies permettent d'utiliser Oracle Cloud Infrastructure Logging avec Data Flow.

Pour activer les journaux de service, vous devez accorder à l'utilisateur l'accès en gestion sur le groupe de journaux et l'accès à la ressource. Les journaux et les groupes de journaux utilisent le type de ressource log-group, mais pour effectuer des recherches dans le contenu des journaux, vous devez utiliser le type de ressource log-content. Ajoutez les stratégies suivantes :
allow group dataflow-users to manage log-groups in compartment <compartment_name>
allow group dataflow-users to manage log-content in compartment <compartment_name>

Configuration d'une stratégie pour Spark Streaming

Pour utiliser Spark Streaming avec Data Flow, vous avez besoin de plus que les stratégies courantes.

Vous devez avoir créé les stratégies communes à l'aide des modèles de générateur de stratégies IAM ou manuellement.

Vous pouvez utiliser le générateur de stratégies IAM pour gérer l'accès aux sources et aux puits à partir desquels vos applications de transmission en continu utilisent ou produisent. Par exemple, le pool de flux de données spécifique ou le bucket Object Storage spécifique se trouvant à l'emplacement que vous sélectionnez. Vous pouvez également suivre les étapes suivantes pour créer une stratégie manuellement :

  1. Créez une stratégie nommée dataflow-streaming-policy à la racine de votre location.
  2. Ajoutez les instructions suivantes pour autoriser les exécutions Data Flow à partir du compartiment dataflow-compartment à consommer ou produire à partir d'un pool de flux de données spécifique. Le pool de flux de données a l'ID stream-pool-ocid1 et un bucket Object Storage nommé 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>'}