Politiques
Pour contrôler qui a accès au service de science des données et le type d'accès de chaque groupe d'utilisateurs, vous devez créer des politiques.
Pour surveiller les ressources du service Science des données, l'accès requis doit vous avoir été accordé dans une politique. Cela s'applique que vous utilisiez la console ou l'API REST avec une trousse SDK, l'interface de ligne de commande ou un autre outil. La politique doit vous donner accès aux services de surveillance et aux ressources surveillées. Si vous essayez d'effectuer une action et obtenez un message indiquant que vous ne disposez pas de l'autorisation requise, vérifiez auprès d'un administrateur le type d'accès qui vous a été octroyé et le compartiment que vous pouvez utiliser. Pour plus d'informations sur les autorisations d'utilisateur pour la surveillance, voir la section Authentification et autorisation du service concerné, Surveillance ou Avis.
Par défaut, seuls les utilisateurs du groupe Administrators
ont l'accès à toutes les ressources du service de science des données. Pour toutes les autres qui sont impliquées dans le service de science des données, vous devez créer de nouvelles politiques qui leur affectent les droits appropriés sur les ressources du service de science des données.
Pour une liste complète des politiques OCI, voir Informations de référence sur les politiques.
Types de ressource
Le service des sciences des données propose des types de ressource individuels et globaux pour l'écriture de politiques.
Vous pouvez utiliser des types de ressource agrégés pour réduire le nombre de politiques à rédiger. Par exemple, au lieu de permettre à un groupe de gérer data-science-projects
, data-science-notebook-sessions
, data-science-models
et data-science-work-requests
, vous pouvez définir une politique qui autorise le groupe à gérer le type de ressource agrégé, data-science-family
.
Type de ressource agrégé
data-science-family
Types de ressource individuels
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 politiques, vous pouvez utiliser des variables générales OCI ou des variables propres à des services.
Le service Science des données prend en charge les variables générales pour toutes les demandes à utiliser avec les ressources et les variables propres au service suivantes :
Opérations pour ce type de ressource... |
Peut utiliser ces variables... |
Type de variable |
Commentaires |
---|---|---|---|
|
|
Entité (OCID) |
Non disponible pour utilisation avec |
|
Chaîne |
Non disponible pour utilisation avec |
Seuls les utilisateurs qui créent un carnet peuvent 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
Informations détaillées sur les combinaisons Verbe + Type de ressource
Différents verbes et types de ressource OCI peuvent être utilisés pour créer une politique.
La syntaxe d'une politique se présente ainsi :
allow <subject> to <verb> <resource_type> in <location> where <conditions>.
Ce qui suit décrit les autorisations et les opérations d'API couvertes par chaque verbe pour le service de science des données. Le niveau d'accès est cumulatif, de inspect
à read
, use
et enfin à manage
. Un signe plus (+)
dans une cellule de tableau indique un accès incrémentiel comparé à la cellule directement au-dessus, alors que "aucun accès supplémentaire" indique qu'il n'y a aucun accès incrémentiel.
Les API couvertes par le type de ressource data-science-projects
sont indiquées ici. Les API sont affichées par ordre alphabétique pour chaque autorisation.
Verbes |
Autorisations |
API entièrement couvertes |
API partiellement couvertes |
---|---|---|---|
|
|
|
aucun accès supplémentaire |
|
|
|
|
|
|
|
aucun accès supplémentaire |
|
|
|
aucun accès supplémentaire |
Les API couvertes par le type de ressource data-science-notebook-sessions
sont listées ici. Les API sont affichées par ordre alphabétique pour chaque autorisation.
Verbes |
Autorisations |
API entièrement couvertes |
API partiellement couvertes |
---|---|---|---|
|
|
|
aucun accès supplémentaire |
|
|
|
aucun accès supplémentaire |
|
|
|
aucun accès supplémentaire |
|
|
|
|
Les API couvertes par le type de ressource data-science-models
sont indiquées ici. Les API sont affichées par ordre alphabétique pour chaque autorisation.
Verbes |
Autorisations |
API entièrement couvertes |
API partiellement couvertes |
---|---|---|---|
|
|
|
aucun accès supplémentaire |
|
|
|
aucun accès supplémentaire |
|
|
|
aucun accès supplémentaire |
|
|
|
|
Les API couvertes par le type de ressource data-science-work-requests
sont listées ici. Les API sont affichées par ordre alphabétique pour chaque autorisation.
Verbes |
Autorisations |
API entièrement couvertes |
API partiellement couvertes |
---|---|---|---|
|
|
|
aucun accès supplémentaire |
|
|
|
aucun accès supplémentaire |
|
|
|
aucun accès supplémentaire |
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 autorisation.
Verbes |
Autorisations |
API entièrement couvertes |
API partiellement couvertes |
---|---|---|---|
|
|
|
aucun accès supplémentaire |
|
|
|
aucun accès supplémentaire |
|
|
|
aucun accès supplémentaire |
|
|
|
aucun accès supplémentaire |
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 autorisation.
Verbes |
Autorisations |
API entièrement couvertes |
API partiellement couvertes |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 autorisation.
Verbes |
Autorisations |
API entièrement couvertes |
API partiellement couvertes |
---|---|---|---|
|
|
|
aucun accès supplémentaire |
|
|
|
aucun accès supplémentaire |
|
|
|
|
|
|
|
|
Les API couvertes par le type de ressource data-science-pipelines
sont indiquées ici. Les API sont affichées par ordre alphabétique pour chaque autorisation.
Verbes |
Autorisations |
API entièrement couvertes |
API partiellement couvertes |
---|---|---|---|
|
|
|
aucun accès supplémentaire |
|
|
|
|
|
|
|
|
|
|
|
(Vous avez également besoin de |
Les API couvertes par le type de ressource data-science-pipelineruns
sont indiquées ici. Les API sont affichées par ordre alphabétique pour chaque autorisation.
Verbes |
Autorisations |
API entièrement couvertes |
API partiellement couvertes |
---|---|---|---|
|
|
|
aucun accès supplémentaire |
|
|
|
aucun accès supplémentaire |
|
|
|
|
|
|
|
|
Les API couvertes par le type de ressource data-science-private-endpoint
sont indiquées ici. Les API sont affichées par ordre alphabétique pour chaque autorisation.
Verbes |
Autorisations |
API entièrement couvertes |
API partiellement couvertes |
---|---|---|---|
|
|
|
aucun accès supplémentaire |
|
|
|
|
|
|
|
aucun accès supplémentaire |
|
|
|
|
Les API couvertes par le type de ressource data-science-schedule
sont indiquées ici. Les API sont affichées par ordre alphabétique pour chaque autorisation.
Verbes |
Autorisations |
API entièrement couvertes |
API partiellement couvertes |
---|---|---|---|
|
|
|
aucun accès supplémentaire |
|
|
|
|
|
|
|
aucun accès supplémentaire |
|
|
|
aucun accès supplémentaire |
Exemples de politiques
Les API couvrent les types de ressource agrégés data-science-family
et individuels du service Science des données. Par exemple, allow group <group_name> to manage data-science-family in compartment <compartment_name>
est identique aux quatre politiques 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>
Pour un guide étape par étape sur la configuration des politiques, voir : 4. Création de politiques dans le tutoriel Configuration manuelle d'une location du service de science des données.
Exemple : Vue de liste
Permet à un groupe de consulter la liste de tous les modèles du service Science des données 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 autorisations et opérations d'API que le verbe inspect
avec l'autorisation DATA_SCIENCE_MODEL_READ
et les opérations d'API couvertes, par exemple GetModel
et GetModelArtifact
.
Exemple : Toutes les opérations
Permet à un groupe d'effectuer toutes les opérations listées pour DATA_SCIENCE_MODEL_READ
dans un compartiment spécifique :
allow group <group_name> to read data-science-models in compartment
<compartment_name>
Le verbe manage
pour data-science-models
inclut les mêmes autorisations et opérations d'API que le verbe read
, plus les API pour les autorisations DATA_SCIENCE_MODEL_CREATE
, DATA_SCIENCE_MODEL_MOVE
, DATA_SCIENCE_MODEL_UPDATE
et DATA_SCIENCE_MODEL_DELETE
. Par exemple, un utilisateur ne peut supprimer un modèle qu'avec l'autorisation "manage" ou l'autorisation DATA_SCIENCE_MODEL_DELETE
spécifique. Avec l'autorisation 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 à utiliser dans le service Science des données :
allow group <group_name> to manage <data_science_family> in compartment
<compartment_name>
Permet à un groupe de gérer toutes les ressources du service de science des données, mais pas de supprimer les projets de science des données :
allow group <group_name> to manage <data_science_family> in compartment
<compartment_name> where request.permission !='DATA_SCIENCE_PROJECT_DELETE'
Les API couvertes par le type de ressource data-science-projects
sont indiquées ici. Les API sont affichées par ordre alphabétique pour chaque autorisation.
Exemples de politiques
Nous avons identifié les énoncés de politique que vous êtes susceptible d'adopter dans une location pour les déploiements de modèle :
allow group <group-name> to manage data-science-models
in compartment <compartment-name>
manage
pour limiter ce que les utilisateurs peuvent faire.
allow group <group-name> to manage data-science-model-deployments
in compartment <compartment-name>
manage
peut être modifié pour limiter ce que les ressources peuvent faire.
allow dynamic-group <dynamic-group-name> to manage data-science-model-deployments
in compartment <compartment-name>
allow dynamic-group <dynamic-group-name-2> to {DATA_SCIENCE_MODEL_DEPLOYMENT_PREDICT}
in compartment <compartment-name>
allow any-user to read objects in compartment <compartment-name>
where ALL { request.principal.type='datasciencemodeldeployment',
target.bucket.name=<published-conda-envs-bucket-name> }
allow any-user to use log-content in tenancy
where ALL {request.principal.type = 'datasciencemodeldeployment'}
allow any-user to read objects in compartment <compartment-name>
where ALL { request.principal.type='datasciencemodeldeployment', target.bucket.name=<bucket-name> }
Exemples pour les travaux et les exécutions de travail
(Facultatif) Vous pouvez intégrer la journalisation pour les travaux. Lorsque cette option est activée, la ressource d'exécution de travail nécessite des autorisations pour émettre des journaux dans le service Journalisation. Vous devez créer un groupe dynamique d'exécutions de travail avec :
all { resource.type='datasciencejobrun', resource.compartment.id='<job-run-compartment-ocid>' }
Autorisez ensuite ce groupe dynamique à écrire dans les journaux du service de journalisation :
allow dynamic-group <job-runs-dynamic-group> to use log-content in compartment <your-compartment-name>
Enfin, l'utilisateur qui démarre les exécutions de travail doit également avoir accès aux groupes de journaux et aux journaux :
Si vous utilisez un groupe dynamique de principal d'instance pour créer et démarrer des exécutions de travail, vous devez lui appliquer des politiques de groupe. Plus précisément, la politique 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 politique supplémentaire n'est requise pour exécuter des travaux avec un environnement Conda du service de science des données. Pour exécuter des travaux avec un environnement Conda personnalisé publié, la ressource d'exécution de travail nécessite des autorisations pour télécharger celui-ci à partir du stockage d'objets de votre location. Vous devez autoriser le groupe dynamique d'exécutions de travail à accéder aux objets de votre compartiment avec :
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 d'OCIR, ajoutez cette politique :
allow dynamic-group <your-dynamic-group> to read repos in compartment <compartment-name>
Si votre référentiel se trouve dans le compartiment racine, vous devez autoriser l'accès en lecture à la location avec :
allow dynamic-group <your-dynamic-group> to read repos in tenancy where all {target.repo.name=<repository-name>}
Exemples pour Pipelines
Le service de science des données utilise d'autres services OCI pour exécuter des pipelines, principalement des tâches. Pour fonctionner correctement, les pipelines nécessitent des autorisations pour utiliser ces ressources sur votre location ou votre compartiment. Vous devez créer des groupes dynamiques et des politiques pour utiliser les pipelines du service de science des données.
Créez un groupe dynamique ou mettez à jour un groupe dynamique existant pour ajouter les rangées suivantes :
Pour permettre aux exécutions de pipeline d'accéder aux services OCI tels que la journalisation, le réseau, le stockage d'objets, etc. :
all {resource.type='datasciencepipelinerun',resource.compartment.id='ocid1.compartment.oc1..<>'}
Si votre pipeline inclut au moins une tâche en tant qu'étape, vous devez autoriser l'exécution de la tâche à accéder aux ressources :
all {resource.type='datasciencejobrun',resource.compartment.id='ocid1.compartment.oc1..<>'}
Lorsque vous travaillez à partir de sessions de carnet à l'aide de l'authentification avec le principal de ressource, vous devez autoriser le carnet à accéder aux ressources :
all {resource.type='datasciencenotebooksession',resource.compartment.id='ocid1.compartment.oc1..<>'}
Ajoutez maintenant les politiques pertinentes pour permettre à votre groupe dynamique d'accéder aux ressources d'un compartiment ou d'une location. Voici quelques exemples de politiques utiles pour votre groupe dynamique :
(Facultatif) Autoriser à gérer toutes les ressources du service de science des données telles que les carnets, les tâches, les pipelines, etc. :
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to manage data-science-family in compartment <YOUR_COMPARTMENT_NAME>
(Facultatif) Autoriser à utiliser le réseau, y compris l'utilisation du service de stockage d'objets et de stockage de fichiers OCI :
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to use virtual-network-family in compartment <YOUR_COMPARTMENT_NAME>
(Facultatif) Autoriser à gérer le stockage d'objets :
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to manage objects in compartment <YOUR_COMPARTMENT_NAME>
(Facultatif) Autoriser la connexion aux journaux du service de journalisation :
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to use log-content in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to read repos in compartment <YOUR COMPARTMENT NAME>
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>
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>
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>
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>