Politiques de principal de ressource
Si vous utilisez un principal de ressource, par exemple avec la diffusion en continu Spark, vous avez besoin de politiques spécifiques dans le service de flux de données.
Vous pouvez ajouter ces politiques pour le principal de ressource de trois façons :
Utiliser les modèles du service de flux de données du générateur de politiques pour le principal de ressource
Utilisez les modèles du service de flux de données du générateur de politiques pour définir vos politiques pour les principaux de ressource.
- Permettre aux ressources de flux de données d'utiliser le stockage d'objets
- Permettre à un groupe dynamique de créer et d'utiliser des objets dans un emplacement de stockage d'objets spécifié. Créez la politique dans la location.
- Permettre au service de flux de données de consommer des ressources Oracle Streaming
- Autorisez un groupe dynamique à consommer des ressources Oracle Streaming. Créez la politique dans la location.
- Permettre à une ressource de flux de données d'écrire dans Oracle Streaming
- Autorisez un groupe dynamique à écrire des données dans Oracle Streaming. Créez la politique dans la location.
Utiliser un groupe dynamique
Les groupes dynamiques vous permettent d'écrire des politiques plus concises et de réutiliser le même groupe. Vous pouvez également référencer des marqueurs et limiter un groupe à une application de flux de données particulière.
- Spécifiez le compartiment à partir duquel autoriser toutes les exécutions du service de flux de données :(Facultatif) Vous pouvez limiter cette autorisation à une application de flux de données spécifique dans un compartiment :
ALL {resource.type='dataflowrun', resource.compartment.id='<compartment_id>'}
ALL {resource.type='dataflowrun', resource.compartment.id='<compartment_id>', tag.oci-dataflow.application-id.value='<application_id>'}
- Autorisez le principal de ressource du service de flux de données à consommer des ressources d'un groupe de flux du service de diffusion en continu et d'un seau de stockage d'objets :
ALLOW DYNAMIC-GROUP DF-IN-ROOT TO {STREAM_INSPECT, STREAM_READ, STREAM_CONSUME} IN TENANCY WHERE ANY {target.streampool.id = '<streampool_id>'} ALLOW DYNAMIC-GROUP DF-IN-ROOT TO MANAGE OBJECTS IN TENANCY WHERE ANY {target.bucket.name = '<bucket_name>', target.bucket.name = '<bucket_name>'}
Utiliser une politique tout-en-un
Toutes les exécutions de flux de données d'un compartiment spécifique consomment des ressources d'un groupe de flux et d'un seau de stockage d'objets spécifiques.
ALLOW ANY-USER TO {STREAM_INSPECT, STREAM_READ, STREAM_CONSUME} IN TENANCY WHERE ALL
{request.principal.type='dataflowrun', request.resource.compartment.id = '<compartment_id>', target.streampool.id = '<streampool_id>'}
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>'}