Stratégies

Pour contrôler qui a accès à Data Science et le type d'accès de chaque groupe d'utilisateurs, vous devez créer des stratégies.

Pour surveiller les ressources Data Science, vous devez disposer de l'accès requis dans une stratégie. Cela s'applique que vous utilisiez la console ou l'API REST avec un kit SDK, l'interface de ligne de commande ou un autre outil. La stratégie doit vous donner accès aux services de surveillance ainsi qu'aux ressources surveillées. Si vous essayez d'effectuer une action et qu'un message indique que vous n'y êtes pas autorisé, vérifiez avec un administrateur le type d'accès qui vous a été accordé et le compartiment dans lequel vous pouvez travailler. Pour plus d'informations sur les autorisations utilisateur liées à la surveillance, reportez-vous à la section Authentification et autorisation du service associé , Monitoring ou Notifications.

Par défaut, seuls les utilisateurs du groupe Administrators ont accès à toutes les ressources Data Science. Pour les autres utilisateurs de Data Science, vous devez créer des stratégies qui leur accordent les droits appropriés sur les ressources Data Science.

Pour obtenir la liste complète des stratégies OCI, reportez-vous à Référence de stratégie.

Types de ressource

Le service Data Science offre des types individuels et agrégés de ressource pour l'élaboration des stratégies.

Vous pouvez utiliser des types de ressource agrégés pour écrire moins de stratégies. Par exemple, au lieu d'autoriser un groupe à gérer data-science-projects, data-science-notebook-sessions, data-science-models et data-science-work-requests, vous pouvez disposer d'une stratégie permettant au groupe de gérer le type agrégé de ressource data-science-family.

Type de ressource agrégé

data-science-family

Types individuels de ressource

data-science-projects

data-science-notebook-sessions

data-science-models

data-science-model-deployments

data-science-work-requests

data-science-jobs

data-science-job-runs

data-science-pipelines

data-science-pipeline-runs

data-science-private-endpoint

data-science-schedule

Variables prises en charge

Pour ajouter des conditions à vos stratégies, vous pouvez utiliser des variables générales ou propres à un service OCI.

Data Science prend en charge les variables générales pour toutes les demandes avec les ressources et les variables propres au service suivantes :

Variables de stratégie Data Science

Opérations pour ce type de ressource...

Variables pouvant être utilisées

Type de variable

Commentaires

data-science-notebook-sessions

target.notebook-session.id

Entité (OCID)

Non disponible pour une utilisation avec CreateNotebookSession

target.notebook-session.createdBy

Chaîne

Non disponible pour une utilisation avec CreateNotebookSession

L'utilisateur qui crée un bloc-notes est le seul à pouvoir l'ouvrir et l'utiliser.

Exemples d'opérations diverses

allow group <data_science_hol_users> to manage data_science_projects 
in compartment <datascience_hol>
allow group <data_science_hol_users> to manage data_science_models
in compartment <datascience_hol>
allow group <data_science_hol_users> to manage data_science_work_requests
in compartment <datascience_hol>
allow group <data_science_hol_users> to inspect data_science_notebook_sessions
in compartment <datascience_hol>
allow group <data_science_hol_users> to read data_science_notebook_sessions
in compartment <datascience_hol>
allow group <data_science_hol_users> to {DATA_SCIENCE_NOTEBOOK_SESSION_CREATE} 
in compartment <datascience_hol>
allow group <data_science_hol_users> to 
{DATA_SCIENCE_NOTEBOOK_SESSION_DELETE,DATA_SCIENCE_NOTEBOOK_SESSION_UPDATE,DATA_SCIENCE_NOTEBOOK
_SESSION_OPEN,DATA_SCIENCE_NOTEBOOK_SESSION_ACTIVATE,DATA_SCIENCE_NOTEBOOK_SESSION_DEACTIVATE} 
in compartment <datascience_hol> 
where target.notebook-session.createdBy = request.user.id

Détails des combinaisons de verbe et de type de ressource

Vous pouvez utiliser différents verbes et types de ressource OCI pour créer une stratégie.

La syntaxe d'une stratégie est la suivante :

allow <subject> to <verb> <resource_type> in <location> where <conditions>.

Voici une description des droits d'accès et des opérations d'API couvertes par chaque verbe dans Data Science. Le niveau d'accès est cumulatif à mesure que vous passez d'un verbe à l'autre, dans l'ordre suivant : inspect, read, use et manage. La présence d'un signe plus (+) dans une cellule du tableau indique un accès incrémentiel par rapport à la cellule située directement au-dessus, tandis que la mention "aucun élément supplémentaire" indique l'absence d'accès incrémentiel.

data-science-projects

Les API couvertes pour le type de ressource data-science-projects sont répertoriées ici. Les API sont affichées par ordre alphabétique pour chaque droit d'accès.

Verbes

Droits d'accès

API complètement couvertes

API partiellement couvertes

inspect

DATA_SCIENCE_PROJECT_INSPECT

ListProjects

ListWorkRequests

Aucun élément supplémentaire

read

inspect +

DATA_SCIENCE_PROJECT_READ

inspect +

GetProject

GetWorkRequest

CreateNotebookSession (Vous avez également besoin de manage data-science-notebook-sessions.)

CreateModel (Vous avez également besoin de manage data-science-models.)

CreateJob

CreateJobRun (Vous avez également besoin de create data-science-job.)

use

read +

DATA_SCIENCE_PROJECT_UPDATE

read +

UpdateProject

Aucun élément supplémentaire

manage

use +

DATA_SCIENCE_PROJECT_CREATE

DATA_SCIENCE_PROJECT_DELETE

DATA_SCIENCE_PROJECT_MOVE

use +

CreateProject

DeleteProject

ChangeProjectCompartment

Aucun élément supplémentaire

data-science-notebook-sessions

Les API couvertes pour le type de ressource data-science-notebook-sessions sont répertoriées ici. Les API sont affichées par ordre alphabétique pour chaque droit d'accès.

Verbes

Droits d'accès

API entièrement couvertes

API partiellement couvertes

inspect

DATA_SCIENCE_NOTEBOOK_

SESSION_INSPECT

ListNotebookSessions

ListNotebookSessionShapes

ListWorkRequests

Aucun élément supplémentaire

read

inspect +

DATA_SCIENCE_NOTEBOOK_

SESSION_READ

inspect +

GetNotebookSession

GetWorkRequest

ActivateNotebookSession

DeactivateNotebookSession

Aucun élément supplémentaire

use

read +

DATA_SCIENCE_NOTEBOOK_SESSION_OPEN

DATA_SCIENCE_NOTEBOOK_SESSION_UPDATE

read +

OpenNotebookSession

UpdateNotebookSession

ActivateNotebookSession

DeactivateNotebookSession

Aucun élément supplémentaire

manage

use+

DATA_SCIENCE_NOTEBOOK_SESSION_CREATE

DATA_SCIENCE_NOTEBOOK_SESSION_DELETE

DATA_SCIENCE_NOTEBOOK_SESSION_MOVE

DATA_SCIENCE_PRIVATE_ENDPOINT_READ

DATA_SCIENCE_PRIVATE_ENDPOINT_ATTACH

use+

CreateNotebookSession

DeleteNotebookSession

ChangeNotebookSessionCompartment

ActivateNotebookSession

CreateNotebookSession (Vous avez également besoin de read data-science-projects.)

data-science-models

Les API couvertes pour le type de ressource data-science-models sont répertoriées ici. Les API sont affichées par ordre alphabétique pour chaque droit d'accès.

Verbes

Droits d'accès

API entièrement couvertes

API partiellement couvertes

inspect

DATA_SCIENCE_MODEL_INSPECT

ListModels

ListWorkRequests

Aucun élément supplémentaire

read

inspect +

DATA_SCIENCE_MODEL_READ

inspect +

GetModel

GetModelProvenance

GetModelArtifact

GetWorkRequest

Aucun élément supplémentaire

use

read +

DATA_SCIENCE_MODEL_UPDATE

read +

ActivateModel

DeactivateModel

UpdateModel

UpdateModelProvenance

Aucun élément supplémentaire

manage

use +

DATA_SCIENCE_MODEL_CREATE

DATA_SCIENCE_MODEL_DELETE

DATA_SCIENCE_MODEL_MOVE

use +

CreateModelArtifact

CreateModelProvenance

DeleteModel

ChangeModelCompartment

CreateModel (nécessite également read data-science-projects )

data-science-work-requests
data-science-model-deployments

Les API couvertes pour le type de ressource data-science-model-deployments sont répertoriées ici. Les API sont affichées par ordre alphabétique pour chaque droit d'accès.

Verbes

Droits d'accès

API entièrement couvertes

API partiellement couvertes

inspect

DATA_SCIENCE_MODEL_DEPLOYMENT_INSPECT

ListModelDeployment

ListWorkRequests

ListModelDeploymentShapes

Aucun élément supplémentaire

read

inspect +

DATA_SCIENCE_MODEL_DEPLOYMENT_READ

inspect +

GetModelDeployment

GetWorkRequest

Aucun élément supplémentaire

use

read +

DATA_SCIENCE_MODEL_DEPLOYMENT_UPDATE

DATA_SCIENCE_MODEL_DEPLOYMENT_PREDICT

read +

ActivateModelDeployment

DeactivateModelDeployment

UpdateModelDeployment

PredictModelDeployment

Aucun élément supplémentaire

manage

use +

DATA_SCIENCE_MODEL_DEPLOYMENT_CREATE

DATA_SCIENCE_MODEL_DEPLOYMENT_DELETE

DATA_SCIENCE_MODEL_DEPLOYMENT_MOVE

DATA_SCIENCE_PRIVATE_ENDPOINT_READ

DATA_SCIENCE_PRIVATE_ENDPOINT_ATTACH

use +

CreateModelDeployment

DeleteModelDeployment

ChangeModelDeploymentCompartment

Aucun élément supplémentaire

data-science-jobs

Les API couvertes pour le type de ressource data-science-jobs sont répertoriées ici. Les API sont affichées par ordre alphabétique pour chaque droit d'accès.

Verbes

Droits d'accès

API entièrement couvertes

API partiellement couvertes

inspect

DATA_SCIENCE_JOB_INSPECT

ListJobs

ListJobShapes

ListWorkRequests

CreateJobRun

read

inspect +

DATA_SCIENCE_JOB_READ

inspect +

GetWorkRequest

CreateJobRun (Vous avez également besoin de read data-science-job et de create data-science-job-run.)

use

read +

DATA_SCIENCE_JOB_UPDATE

read +

UpdateJob

CreateJobRun (Vous avez également besoin de DATA_SCIENCE_JOB_READ.)

manage

use +

DATA_SCIENCE_JOB_CREATE

DATA_SCIENCE_JOB_DELETE

DATA_SCIENCE_JOB_MOVE

use +

DeleteJob

ChangeJobCompartment

CreateJob

data-science-job-runs

Les API couvertes pour le type de ressource data-science-job-runs sont répertoriées ici. Les API sont affichées par ordre alphabétique pour chaque droit d'accès.

Verbes

Droits d'accès

API entièrement couvertes

API partiellement couvertes

inspect

DATA_SCIENCE_JOB_RUN_INSPECT

ListJobRuns

Aucun élément supplémentaire

read

inspect +

DATA_SCIENCE_JOB_RUN_READ

inspect +

GetJobRun

Aucun élément supplémentaire

use

read +

DATA_SCIENCE_JOB_RUN_UPDATE

read +

UpdateJobRun

CancelJobRun (Vous avez également besoin de DATA_SCIENCE_JOB_RUN_READ.)

manage

use +

DATA_SCIENCE_JOB_RUN_CREATE

DATA_SCIENCE_JOB_RUN_DELETE

DATA_SCIENCE_JOB_RUN_MOVE

use +

CreateJobRun

DeleteJobRun

ChangeJobRunCompartment

CreateJob

data-science-pipelines

Les API couvertes pour le type de ressource data-science-pipelines sont répertoriées ici. Les API sont affichées par ordre alphabétique pour chaque droit d'accès.

Verbes

Droits d'accès

API entièrement couvertes

API partiellement couvertes

inspect

DATA_SCIENCE_PIPELINE_INSPECT

ListPipelines

Aucun élément supplémentaire

read

inspect +

DATA_SCIENCE_PIPELINE_READ

inspect +

GetPipeline

CreatePipelineRun (Vous avez également besoin de read data-science-projects, read data-science-pipeline et create data-science-pipeline-run.)

use

read +

DATA_SCIENCE_PIPELINE_UPDATE

read +

UpdatePipeline

CreatePipelineRun, GetPipeline (Vous avez également besoin de DATA_SCIENCE_PROJECT_READ et de DATA_SCIENCE_PIPELINE_READ.)

manage

use +

DATA_SCIENCE_PIPELINE_CREATE

DATA_SCIENCE_PIPELINE_DELETE

DATA_SCIENCE_PIPELINE_MOVE

use +

CreatePipeline

DeletePipeline

ChangePipelineCompartment

CreatePipeline

(Vous avez également besoin de read data-science-projects.)

data-science-pipelineruns

Les API couvertes pour le type de ressource data-science-pipelineruns sont répertoriées ici. Les API sont affichées par ordre alphabétique pour chaque droit d'accès.

Verbes

Droits d'accès

API entièrement couvertes

API partiellement couvertes

inspect

DATA_SCIENCE_PIPELINE_RUN_INSPECT

ListPipelineRuns

Aucun élément supplémentaire

read

inspect +

DATA_SCIENCE_PIPELINE_RUN_READ

inspect +

GetPipelineRun

Aucun élément supplémentaire

use

read +

DATA_SCIENCE_PIPELINE_RUN_UPDATE

read +

UpdatePipelineRun

CancelPipelineRun (Vous avez également besoin de DATA_SCIENCE_PIPELINE_RUN_READ.)

manage

use +

DATA_SCIENCE_PIPELINE_RUN_CREATE

DATA_SCIENCE_PIPELINE_RUN_DELETE

DATA_SCIENCE_PIPELINE_RUN_MOVE

use +

CreatePipelineRun

DeletePipelineRun

ChangePipelineRunCompartment

CreatePipeline

data-science-private-endpoint

Les API couvertes pour le type de ressource data-science-private-endpoint sont répertoriées ici. Les API sont affichées par ordre alphabétique pour chaque droit d'accès.

Verbes

Droits d'accès

API entièrement couvertes

API partiellement couvertes

inspect

DATA_SCIENCE_PRIVATE_ENDPOINT_INSPECT

ListDataSciencePrivateEndpoint

Aucun élément supplémentaire

read

inspect +

DATA_SCIENCE_PRIVATE_ENDPOINT_READ

inspect +

GetDataSciencePrivateEndpoint

CreateNotebookSession

ActivateNotebookSession

DeactivateNotebookSession

CreateModelDeployment

ActivateModelDeployment

DeactivateModelDeployment

use

read +

DATA_SCIENCE_PRIVATE_ENDPOINT_ATTACH

DATA_SCIENCE_PRIVATE_ENDPOINT_DETACH

read +

UpdateDataSciencePrivateEndpoint

Aucun élément supplémentaire

manage

use +

DATA_SCIENCE_PRIVATE_ENDPOINT_CREATE

DATA_SCIENCE_PRIVATE_ENDPOINT_UPDATE

DATA_SCIENCE_PRIVATE_ENDPOINT_DELETE

DATA_SCIENCE_PRIVATE_ENDPOINT_MOVE

use +

CreateDataSciencePrivateEndpoint

DeleteDataSciencePrivateEndpoint

ChangePrivateEndpointCompartment

AttachPrivateEndpoint

DetachPrivateEndpoint

CreatePrivateEndpoint

CreateNotebookSession

ActivateNotebookSession

DeactivateNotebookSession

CreateModelDeployment

ActivateModelDeployment

DeactivateModelDeployment

data-science-schedule

Les API couvertes pour le type de ressource data-science-schedule sont répertoriées ici. Les API sont affichées par ordre alphabétique pour chaque droit d'accès.

Verbes

Droits d'accès

API complètement couvertes

API partiellement couvertes

inspect

DATA_SCIENCE_SCHEDULE_INSPECT

ListSchedule

ListWorkRequests

Aucun élément supplémentaire

read

inspect +

DATA_SCIENCE_SCHEDULE_READ

inspect +

GetSchedule

GetWorkRequest

CreateNotebookSession (Vous avez également besoin de manage data-science-notebook-sessions.)

CreateModel (Vous avez également besoin de manage data-science-models.)

CreateJob

CreateJobRun (Vous avez également besoin de create data-science-job.)

use

read +

DATA_SCIENCE_SCHEDULE_USE

read +

UseSchedule

Aucun élément supplémentaire

manage

use +

DATA_SCIENCE_SCHEDULE_UPDATE

DATA_SCIENCE_SCHEDULE_CREATE

DATA_SCIENCE_SCHEDULE_DELETE

DATA_SCIENCE_SCHEDULE_MOVE

use +

UpdateSchedule

CreateSchedule

DeleteSchedule

ChangeScheduleCompartment

Aucun élément supplémentaire

Exemples de stratégie

Remarque

Les API couvrent les types de ressource individuels et le type agrégé data-science-family Data Science. Par exemple, allow group <group_name> to manage data-science-family in compartment <compartment_name> revient à écrire les quatre stratégies suivantes :

allow group <group_name>> to manage <data_science_projects> in compartment 
<compartment_name>
allow group <group_name> to manage data-science-notebook-sessions in compartment 
<compartment_name>
allow group <group_name> to manage data-science-models in compartment 
<compartment_name>
allow group <group_name> to manage data-science-work-requests in compartment 
<compartment_name>
Remarque

Pour obtenir un guide pas à pas sur la configuration des stratégies, reportez-vous à : 4. Création de stratégies dans le tutoriel Configuration manuelle d'une location Data Science.

Exemple : vue de liste

Permet à un groupe d'afficher simplement la liste de tous les modèles Data Science dans un compartiment spécifique :

allow group <group_name> to inspect data-science-models in compartment 
<compartment_name>

Le verbe read pour data-science-models couvre les mêmes droits d'accès et opérations d'API que le verbe inspect avec le droit d'accès DATA_SCIENCE_MODEL_READ et les opérations d'API qu'il couvre, comme GetModel et GetModelArtifact.

Exemple : toutes les opérations

Permet à un groupe d'effectuer toutes les opérations répertoriées pour DATA_SCIENCE_MODEL_READ dans un compartiment indiqué :

allow group <group_name> to read data-science-models in compartment 
<compartment_name>

Le verbe manage pour data-science-models inclut les mêmes droits d'accès et opérations d'API que le verbe read, ainsi que les API pour les droits d'accès DATA_SCIENCE_MODEL_CREATE, DATA_SCIENCE_MODEL_MOVE, DATA_SCIENCE_MODEL_UPDATE et DATA_SCIENCE_MODEL_DELETE. Par exemple, un utilisateur peut supprimer un modèle uniquement avec le droit d'accès manage ou le droit d'accès DATA_SCIENCE_MODEL_DELETE spécifique. Avec un droit d'accès read pour data-science-models, un utilisateur ne peut pas supprimer les modèles.

Exemples : gérer toutes les ressources

Permet à un groupe de gérer toutes les ressources pour Data Science :

allow group <group_name> to manage <data_science_family> in compartment 
<compartment_name>

Permet à un groupe de gérer toutes les ressources Data Science, à l'exception de la suppression des projets Data Science :

allow group <group_name> to manage <data_science_family> in compartment 
<compartment_name> where request.permission !='DATA_SCIENCE_PROJECT_DELETE'

Les API couvertes pour le type de ressource data-science-projects sont répertoriées ici. Les API sont affichées par ordre alphabétique pour chaque droit d'accès.

Exemples de stratégie

Nous avons identifié les instructions de stratégie que vous êtes susceptible d'adopter dans une location pour les déploiements de modèle :

Permet au groupe d'utilisateurs <group-name> d'effectuer toutes les opérations CRUD sur les modèles stockés dans le catalogue de modèles. Tout utilisateur voulant déployer un modèle via le déploiement de modèle doit également accéder au modèle à déployer.
allow group <group-name> to manage data-science-models 
in compartment <compartment-name>
Permet à un groupe d'utilisateurs <group-name> d'effectuer toutes les opérations CRUD, y compris l'appel de l'adresse d'inférence, sur des ressources de déploiement du modèle dans un compartiment particulier. Vous pouvez modifier le verbe manage pour limiter ce que les utilisateurs peuvent faire.
allow group <group-name> to manage data-science-model-deployments 
in compartment <compartment-name>
Permet à un groupe dynamique de ressources (comme une session de bloc-notes) d'effectuer toutes les opérations CRUD, y compris l'appel de l'adresse d'inférence, sur la ressource de déploiement d'un modèle dans un compartiment particulier. Le verbe manage peut être modifié pour limiter les actions que les ressources peuvent effectuer.
allow dynamic-group <dynamic-group-name> to manage  data-science-model-deployments 
in compartment <compartment-name>
Vous pouvez également autoriser les ressources à faire de même. Seul le groupe dynamique de ressources dans le groupe dynamique indiqué peut appeler l'adresse de modèle pour les ressources de déploiement de modèle créées dans un compartiment spécifique.
allow dynamic-group <dynamic-group-name-2> to {DATA_SCIENCE_MODEL_DEPLOYMENT_PREDICT} 
in compartment <compartment-name>
(Facultatif) Permet à un déploiement de modèle d'accéder aux environnements conda publiés stockés dans un bucket Object Storage. Cela est requis si vous voulez utiliser les environnements conda publiés pour capturer les dépendances tierces d'un modèle.
allow any-user to read objects in compartment <compartment-name>
where ALL { request.principal.type='datasciencemodeldeployment', 
target.bucket.name=<published-conda-envs-bucket-name> }
(Facultatif) Permet à un déploiement de modèle d'émettre des journaux vers le service Logging. Vous avez besoin de cette stratégie si vous utilisez la journalisation dans un déploiement de modèle. Cette instruction est permissive. Vous pouvez, par exemple, restreindre le droit d'utilisation du contenu de journal dans un compartiment spécifique.
allow any-user to use log-content in tenancy 
where ALL {request.principal.type = 'datasciencemodeldeployment'}
(Facultatif) Permet à un déploiement de modèle d'accéder à un bucket Object Storage qui réside dans une location. Par exemple, un modèle déployé va lire des fichiers (notamment un fichier CSV de recherche) à partir d'un bucket Object Storage que vous gérez.
allow any-user to read objects in compartment <compartment-name> 
where ALL { request.principal.type='datasciencemodeldeployment', target.bucket.name=<bucket-name> }

Exemples de travaux et d'exécutions de travaux

(Facultatif) Vous pouvez intégrer la journalisation pour les travaux. Lorsque cette fonction est activée, la ressource de traitement de travail requiert des droits d'accès pour émettre des journaux au service Logging. Vous devez créer un groupe dynamique de traitements de travail avec la commande suivante :

all { resource.type='datasciencejobrun', resource.compartment.id='<job-run-compartment-ocid>' }

Autorisez ensuite ce groupe dynamique à écrire dans les journaux du service Logging :

allow dynamic-group <job-runs-dynamic-group> to use log-content in compartment <your-compartment-name>

Enfin, l'utilisateur qui démarre les traitements de travail doit également avoir accès aux groupes de journaux et aux journaux :

Remarque

Si vous utilisez un groupe dynamique de principal d'instance pour créer et démarrer des traitements de travail, vous devez lui appliquer des stratégies de groupe. Plus précisément, la stratégie to manage log-groups doit être définie pour le principal d'instance.

allow group <group-name> to manage log-groups in compartment <compartment-name>
allow group <group-name> to use log-content in compartment <compartment-name> 

(Facultatif) Aucune stratégie supplémentaire n'est requise pour exécuter des travaux avec un environnement conda Data Science. Pour exécuter des travaux avec un environnement conda personnalisé publié, la ressource de traitement de travail nécessite des droits d'accès permettant de télécharger l'environnement conda à partir de l'instance Object Storage de votre location. Vous devez autoriser le groupe dynamique du traitement de travail à accéder aux objets de votre compartiment avec la commande suivante :

allow dynamic-group <job-runs-dynamic-group> to read objects in compartment <compartment-name> where target.bucket.name='<bucket-name>'

Pour extraire l'image de conteneur à partir d'OCIR, ajoutez la stratégie suivante :

allow dynamic-group <your-dynamic-group> to read repos in compartment <compartment-name>

Si le référentiel se trouve dans le compartiment racine, vous devez autoriser la lecture pour la location avec la commande suivante :

allow dynamic-group <your-dynamic-group> to read repos in tenancy where all {target.repo.name=<repository-name>}

Exemples pour les pipelines

Data Science utilise d'autres services OCI pour exécuter des pipelines, principalement des travaux. Pour fonctionner correctement, les pipelines nécessitent des droits d'accès permettant d'utiliser ces ressources sur votre location ou compartiment. Vous devez créer des groupes dynamiques et des stratégies pour utiliser les pipelines Data Science.

Créez un groupe dynamique ou mettez à jour un groupe dynamique existant pour ajouter les lignes suivantes :

Pour autoriser les exécutions de pipeline à accéder aux services OCI tels que Logging, Networking, Object Storage, etc., procédez comme suit :

all {resource.type='datasciencepipelinerun',resource.compartment.id='ocid1.compartment.oc1..<>'}

Si le pipeline inclut au moins un travail en tant qu'étape, vous devez autoriser l'exécution du travail à accéder aux ressources :

all {resource.type='datasciencejobrun',resource.compartment.id='ocid1.compartment.oc1..<>'}

Lorsque vous travaillez à partir de sessions de bloc-notes à l'aide de l'authentification de principal de ressource, vous devez autoriser le bloc-notes à accéder aux ressources :

all {resource.type='datasciencenotebooksession',resource.compartment.id='ocid1.compartment.oc1..<>'}

A présent, ajoutez les stratégies appropriées pour permettre à votre groupe dynamique d'accéder aux ressources d'un compartiment ou d'une location. Voici quelques exemples de stratégies utiles pour votre groupe dynamique :

(Facultatif) Autorisez à gérer toutes les ressources Data Science, telles que les blocs-notes, les travaux, les pipelines, etc. :

allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to manage data-science-family in compartment <YOUR_COMPARTMENT_NAME>

(Facultatif) Autorisez l'utilisation du réseau, y compris l'utilisation d'OCI Object Storage et du service File Storage :

allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to use virtual-network-family in compartment <YOUR_COMPARTMENT_NAME>

(Facultatif) Autorisez la gestion d'Object Storage :

allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to manage objects in compartment <YOUR_COMPARTMENT_NAME>

(Facultatif) Autorisez la connexion aux journaux du service Logging :

allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to use log-content in compartment <YOUR_COMPARTMENT_NAME>
(Facultatif) Autoriser la lecture des référentiels :
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to read repos in compartment <YOUR COMPARTMENT NAME>
(Facultatif) Autorisez l'utilisation des buckets Object Storage en tant que montages de stockage :
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to use object-family in compartment <YOUR_COMPARTMENT_NAME>
allow service datascience to use object-family in compartment <YOUR_COMPARTMENT_NAME>
(Facultatif) Autorisez l'utilisation de File Storage en tant que montages de stockage :
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> use file-systems in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> use mount-targets in compartment <YOUR_COMPARTMENT_NAME>
allow service datascience to use file-systems in compartment <YOUR_COMPARTMENT_NAME>
allow service datascience to use mount-targets in compartment <YOUR_COMPARTMENT_NAME>
(Facultatif) Si vous utilisez des applications Data Flow comme étapes dans les pipelines :
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> manage dataflow-run in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> read dataflow-application in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> read object-family in compartment <YOUR_COMPARTMENT_NAME>
Assurez-vous que les utilisateurs travaillant avec les pipelines disposent des privilèges appropriés. La stratégie suivante suppose que les utilisateurs appartiennent au groupe datascienceusers.
allow group datascienceusers to inspect compartments in tenancy
allow group datascienceusers in tenancy where all {target.rule.type='managed', target.event.source in ('dataflow')}
allow group datascienceusers to read dataflow-application in compartment <YOUR_COMPARTMENT_NAME>