Configurer les politiques de gestion des identités et des accès

Le service de flux de données nécessite la configuration de politiques communes dans le service de gestion des identités et des accès (IAM) pour gérer et exécuter des applications Spark.

Vous pouvez utiliser les modèles de politique dans IAM ou créer manuellement les politiques. Pour plus d'informations sur le fonctionnement des politiques IAM, consultez la documentation sur le service Gestion des identités et des accès sans domaines d'identité ou la documentation sur le service Gestion des identités et des accès avec domaines d'identité. Créez les quatre politiques suivantes :
  • politique de niveau de service de flux de données
  • dataflow-admins-policy
  • dataflow-data-engineers-politique
  • dataflow-sql-users-policy

Modèles de politique du service de flux

Le service de flux de données fournit quatre modèles de politique commune. Ils sont répertoriés dans l'ordre dans lequel vous devez créer les politiques.

Permettre aux administrateurs du service de flux de données de gérer toutes les applications et exécutions
Pour les utilisateurs de type administrateur (ou superutilisateurs) du service qui peuvent effectuer n'importe quelle action sur le service, y compris gérer les applications détenues par d'autres utilisateurs et les exécutions démarrées par n'importe quel utilisateur dans leur location en fonction des politiques affectées au groupe
Permettre aux utilisateurs du service de flux de données de gérer leurs propres applications et exécutions.
Tous les autres utilisateurs autorisés à créer et à supprimer leurs propres applications. Ils peuvent toutefois exécuter n'importe quelle application dans leur location, et n'ont aucun autre droit d'administration, comme la suppression d'applications appartenant à d'autres utilisateurs ou l'annulation d'exécutions démarrées par d'autres utilisateurs.
Autoriser le service de flux de données à effectuer des actions au nom de l'utilisateur ou du groupe sur les objets de la location.
Le service de flux de données doit être autorisé à effectuer des actions au nom de l'utilisateur ou du groupe sur des objets de la location.
(Facultatif) Permettre aux utilisateurs du service de flux de données de créer, de modifier ou de créer des points d'extrémité privés.
Ce modèle de politique permet d'utiliser virtual-network-family, d'accéder à des ressources plus spécifiques et à des opérations spécifiques, et de modifier la configuration du réseau.

Création de politiques à l'aide de modèles IAM Policy Builder

Utilisez les modèles du générateur de politiques IAM pour créer vos politiques pour le service de flux de données.

À l'aide de modèles dans le générateur de politiques du service IAM sans domaines d'identité ou avec des domaines d'identité, suivez les étapes pour utiliser la console pour créer une politique :
  1. Dans le menu de navigation, sélectionnez Identité et sécurité.
  2. Sous Identité sélectionnez Politiques.
3. Créer une stratégie de niveau service-flux de données
  1. Dans la page Politiques, sélectionnez Créer une politique.
  2. Donnez à la politique le nom dataflow-service-level-policy.
  3. (Facultatif) Entrez une description pour vous aider à trouver la politique. N'incluez pas de renseignements confidentiels.
  4. Sélectionnez le compartiment à la racine de votre location.
  5. Dans Cas d'utilisation de politique, sélectionnez Data Flow.
  6. Dans Modèles de politique commune, sélectionnez Allow Data Flow service to perform common actions on behalf of users.
    Le service d'autorisation du service de flux de données pour effectuer des actions communes au nom de l'utilisateur est sélectionné et les énoncés de politique associés sont affichés.
  7. Sélectionnez Créer.
4. Création de dataflow-admins-policy
  1. Dans la page Politiques, sélectionnez Créer une politique.
  2. Donnez à la politique le nom dataflow-admins-policy.
  3. (Facultatif) Entrez une description pour vous aider à trouver la politique. N'incluez pas de renseignements confidentiels.
  4. Sélectionnez le compartiment à la racine de la location.
  5. Dans Cas d'utilisation de politique, sélectionnez Data Flow.
  6. Dans Modèles de politique commune, sélectionnez Let dataflow-admins perform common admin operations related to Data Flow service.
    La politique Permettre aux administrateurs de flux de données d'effectuer des opérations d'administration communes liées au service de flux de données est sélectionnée et les énoncés de politique associés sont affichés.
  7. Sélectionnez Créer.
5. Création de dataflow-data-engineers-policy
  1. Dans la page Politiques, sélectionnez Créer une politique.
  2. Donnez à la politique le nom dataflow-data-engineers-policy.
  3. (Facultatif) Entrez une description pour vous aider à trouver la politique. N'incluez pas de renseignements confidentiels.
  4. Pour Compartiment, sélectionnez dataflow-compartment.
  5. Dans Cas d'utilisation de politique, sélectionnez Data Flow.
  6. Dans Modèles de politique commune, sélectionnez Let dataflow-data-engineers perform common data engineering operations using Data Flow service.
    La politique Permettre aux ingénieurs de données de Dataflow-data d'effectuer des opérations d'ingénierie de données communes à l'aide du service de flux de données est sélectionnée et les énoncés de politique associés sont affichés.
  7. Sélectionner les 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. Dans la page Politiques, sélectionnez Créer une politique.
  2. Donnez à la politique le nom dataflow-sql-users-policy.
  3. (Facultatif) Entrez une description pour vous aider à trouver la politique. N'incluez pas de renseignements confidentiels.
  4. Pour Compartiment, sélectionnez dataflow-compartment.
  5. Dans Cas d'utilisation de politique, sélectionnez Data Flow.
  6. Dans Modèles de politique commune, sélectionnez Let dataflow-sql-users read and connect to Data Flow Interactive SQL clusters via JDBC or ODBC.
    La politique Permettre aux utilisateurs de SQL du service de flux de données de lire et de se connecter aux grappes de SQL interactif au moyen de JDBC ou d'ODBC est sélectionnée et les énoncés de politique associés sont affichés.
  7. Sélectionner les 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éer manuellement des politiques

Plutôt que d'utiliser les modèles GIA pour créer les politiques du service de flux de données, vous pouvez les créer vous-même dans le générateur de politiques GIA.

Pour créer manuellement les politiques suivantes, suivez les étapes décrites dans la section Gestion des politiques du service IAM avec des domaines d'identité ou sans domaines d'identité :

Politiques pour les utilisateurs du service de flux de données
Comme pratique générale, classez les utilisateurs du service de flux de données en deux groupes pour assurer une séparation claire de l'autorité :
  • Pour les utilisateurs de type administrateur (ou superutilisateurs) du service qui peuvent effectuer n'importe quelle action sur le service, y compris gérer les applications détenues par d'autres utilisateurs et les exécutions démarrées par n'importe quel utilisateur dans leur location en fonction des politiques affectées au groupe :
    • Créez un groupe dans votre service d'identité appelé dataflow-admin et ajoutez des utilisateurs à ce groupe.
    • Créez une politique nommée dataflow-admin et ajoutez les énoncés suivants :
      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 seau dataflow-logs.
  • La deuxième catégorie concerne tous les autres utilisateurs autorisés à créer et à supprimer leurs propres applications. Ils peuvent toutefois exécuter n'importe quelle application dans leur location, et n'ont aucun autre droit administratif, comme la suppression d'applications appartenant à d'autres utilisateurs ou l'annulation d'exécutions commencé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 politique nommée dataflow-users et ajoutez les énoncés suivants :
      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'}}
Politiques du service de journalisation pour Oracle Cloud Infrastructure

Ces politiques vous permettent d'utiliser le service de journalisation pour Oracle Cloud Infrastructure avec le service de flux de données.

Pour activer les journaux de service, vous devez accorder à l'utilisateur l'accès en gestion au 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 politiques 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 politique pour la diffusion en continu Spark

Pour utiliser le service de diffusion en continu Spark avec le service de flux de données, vous avez besoin de plus que des politiques communes.

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

Vous pouvez utiliser le générateur de politiques du service IAM pour gérer l'accès aux sources et aux puits vers lesquels vos applications de flux consomment ou produisent. Par exemple, le groupe de flux spécifique ou le seau de stockage d'objets spécifique qui se trouve à un emplacement que vous choisissez. Vous pouvez également suivre ces étapes pour créer manuellement une politique :

  1. Créez une politique nommée dataflow-streaming-policy à la racine de votre location.
  2. Ajoutez les énoncés suivants pour autoriser les exécutions de flux de données à partir du compartiment dataflow-compartment à consommer ou à produire à partir d'un groupe de flux spécifique. Le groupe de flux a un ID stream-pool-ocid1 et un seau de stockage d'objets 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>'}