Policys
Um zu kontrollieren, wer Zugriff auf Data Science hat und welchen Zugriffstyp die einzelnen Benutzergruppen haben, müssen Sie Policys erstellen.
Zum Überwachen von Data Science-Ressourcen müssen Ihnen die erforderlichen Zugriff in einer Policy erteilt werden. Dabei spielt es keine Rolle, ob Sie die Konsole oder die REST-API mit einem SDK, der CLI oder einem anderen Tool verwenden. Die Policy muss Ihnen Zugriff auf die Monitoringservices sowie auf die überwachten Ressourcen geben. Wenn Sie versuchen, eine Aktion auszuführen, und eine Meldung erhalten, dass Sie keine Berechtigung haben oder nicht autorisiert sind, fragen Sie einen Administrator, welcher Zugriffstyp Ihnen erteilt wurde und in welchem Compartment Sie arbeiten können. Weitere Informationen zu Benutzerautorisierungen für Monitoring finden Sie im Abschnitt "Authentifizierung und Autorisierung" für den zugehörigen Service, Monitoring oder Notifications.
Standardmäßig haben nur die Benutzer in der Gruppe Administrators
Zugriff auf alle Data Science-Ressourcen. Für alle anderen Personen, die mit Data Science arbeiten, müssen Sie neue Policys erstellen, die ihnen die entsprechenden Rechte für Data-Science-Ressourcen zuweisen.
Eine vollständige Liste der OCI-Policys finden Sie in der Policy-Referenz.
Ressourcentypen
Data Science bietet sowohl aggregierte als auch individuelle Ressourcentypen zum Schreiben von Policys.
Sie können aggregierte Ressourcentypen verwenden, um weniger Policys zu schreiben. Beispiel: Anstatt einer Gruppe die Verwaltung von data-science-projects
, data-science-notebook-sessions
, data-science-models
und data-science-work-requests
zu ermöglichen, können Sie eine Policy verwenden, mit der die Gruppe den aggregierten Ressourcentyp data-science-family
verwalten kann.
Aggregierter Ressourcentyp
data-science-family
Individueller Ressourcentyp
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-schedules
Unterstützte Variablen
Um Bedingungen zu Ihren Policys hinzuzufügen, können Sie allgemeine oder servicespezifische OCI-Variablen verwenden.
Data Science unterstützt die allgemeinen Variablen für alle Anforderungen zur Verwendung mit Ressourcen sowie diese servicespezifischen Variablen:
Ressourcentyp, für den Vorgänge ausgeführt werden |
Variablen, die verwendet werden können |
Variablentyp |
Kommentare |
---|---|---|---|
|
|
Entity (OCID) |
Nicht für die Verwendung mit |
|
Zeichenfolge |
Nicht für die Verwendung mit |
Der Benutzer, der ein Notizbuch erstellt, ist der einzige Benutzer, der es öffnen und verwenden kann.
Beispiele für verschiedene Vorgänge
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
Details für Kombinationen aus Verb und Ressourcentyp
Sie können eine Policy mit verschiedenen OCI-Verben und -Ressourcentypen erstellen.
Die Policy-Syntax sieht folgendermaßen aus:
allow <subject> to <verb> <resource_type> in <location> where <conditions>.
Im Folgenden werden die Berechtigungen und API-Vorgänge beschrieben, die von den einzelnen Verben für Data Science abgedeckt werden. Die Berechtigungen nehmen kumulativ von inspect
über read
und use
bis zu manage
zu. Ein Pluszeichen (+)
in einer Tabellenzelle gibt einen inkrementellen Zugriff im Vergleich zur direkt darüber liegenden Zelle an, während "keine zusätzlichen" keinen inkrementellen Zugriff angibt.
Die APIs für den Ressourcentyp data-science-projects
werden hier aufgeführt. Die APIs werden für jede Berechtigung alphabetisch angezeigt.
Verbs |
Berechtigungen |
Vollständig abgedeckte APIs |
Teilweise abgedeckte APIs |
---|---|---|---|
|
|
|
Kein weiterer Zugriff |
|
|
|
|
|
|
|
Kein weiterer Zugriff |
|
|
|
Kein weiterer Zugriff |
Die APIs für den Ressourcentyp data-science-notebook-sessions
werden hier aufgeführt. Die APIs werden für jede Berechtigung alphabetisch angezeigt.
Verbs |
Berechtigungen |
Vollständig abgedeckte APIs |
Teilweise abgedeckte APIs |
---|---|---|---|
|
|
|
Kein weiterer Zugriff |
|
|
|
Kein weiterer Zugriff |
|
|
|
Kein weiterer Zugriff |
|
|
|
|
Die APIs für den Ressourcentyp data-science-models
werden hier aufgeführt. Die APIs werden für jede Berechtigung alphabetisch angezeigt.
Verbs |
Berechtigungen |
Vollständig abgedeckte APIs |
Teilweise abgedeckte APIs |
---|---|---|---|
|
|
|
Kein weiterer Zugriff |
|
|
|
Kein weiterer Zugriff |
|
|
|
Kein weiterer Zugriff |
|
|
|
|
Die APIs für den Ressourcentyp data-science-work-requests
werden hier aufgeführt. Die APIs werden für jede Berechtigung alphabetisch angezeigt.
Verbs |
Berechtigungen |
Vollständig abgedeckte APIs |
Teilweise abgedeckte APIs |
---|---|---|---|
|
|
|
Kein weiterer Zugriff |
|
|
|
Kein weiterer Zugriff |
|
|
|
Kein weiterer Zugriff |
Hier werden die abgedeckten APIs für den Ressourcentyp data-science-model-deployments
aufgelistet. Die APIs werden für jede Berechtigung alphabetisch angezeigt.
Verbs |
Berechtigungen |
Vollständig abgedeckte APIs |
Teilweise abgedeckte APIs |
---|---|---|---|
|
|
|
Kein weiterer Zugriff |
|
|
|
Kein weiterer Zugriff |
|
|
|
Kein weiterer Zugriff |
|
|
|
Kein weiterer Zugriff |
Hier werden die abgedeckten APIs für den Ressourcentyp data-science-jobs
aufgelistet. Die APIs werden für jede Berechtigung alphabetisch angezeigt.
Verbs |
Berechtigungen |
Vollständig abgedeckte APIs |
Teilweise abgedeckte APIs |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hier werden die abgedeckten APIs für den Ressourcentyp data-science-job-runs
aufgelistet. Die APIs werden für jede Berechtigung alphabetisch angezeigt.
Verbs |
Berechtigungen |
Vollständig abgedeckte APIs |
Teilweise abgedeckte APIs |
---|---|---|---|
|
|
|
Kein weiterer Zugriff |
|
|
|
Kein weiterer Zugriff |
|
|
|
|
|
|
|
|
Hier werden die APIs für den Ressourcentyp data-science-pipelines
aufgelistet. Die APIs werden für jede Berechtigung alphabetisch angezeigt.
Verbs |
Berechtigungen |
Vollständig abgedeckte APIs |
Teilweise abgedeckte APIs |
---|---|---|---|
|
|
|
Kein weiterer Zugriff |
|
|
|
|
|
|
|
|
|
|
|
(Sie benötigen auch |
Hier werden die APIs für den Ressourcentyp data-science-pipelineruns
aufgelistet. Die APIs werden für jede Berechtigung alphabetisch angezeigt.
Verbs |
Berechtigungen |
Vollständig abgedeckte APIs |
Teilweise abgedeckte APIs |
---|---|---|---|
|
|
|
Kein weiterer Zugriff |
|
|
|
Kein weiterer Zugriff |
|
|
|
|
|
|
|
|
Hier werden die APIs für den Ressourcentyp data-science-private-endpoint
aufgelistet. Die APIs werden für jede Berechtigung alphabetisch angezeigt.
Verbs |
Berechtigungen |
Vollständig abgedeckte APIs |
Teilweise abgedeckte APIs |
---|---|---|---|
|
|
|
Kein weiterer Zugriff |
|
|
|
|
|
|
|
Kein weiterer Zugriff |
|
|
|
|
Hier werden die APIs für den Ressourcentyp data-science-schedule
aufgelistet. Die APIs werden für jede Berechtigung alphabetisch angezeigt.
Verbs |
Berechtigungen |
Vollständig abgedeckte APIs |
Teilweise abgedeckte APIs |
---|---|---|---|
|
|
|
Kein weiterer Zugriff |
|
|
|
|
|
|
|
Kein weiterer Zugriff |
|
|
|
Kein weiterer Zugriff |
Policy-Beispiele
Die APIs decken den Data Science-Aggregat data-science-family
und individuellen Ressourcentypen ab. Beispiel allow group <group_name> to manage data-science-family in compartment <compartment_name>
entspricht den folgenden vier Policys:
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>
Eine schrittweise Anleitung zum Konfigurieren von Policys finden Sie unter: 4. Policys erstellen im Tutorial "Data Science-Mandanten manuell konfigurieren".
Beispiel: Listenansicht
Ermöglicht einer Gruppe die Anzeige der Liste aller Data Science-Modelle in einem bestimmten Compartment:
allow group <group_name> to inspect data-science-models in compartment
<compartment_name>
Das Verb read
für data-science-models
deckt dieselben Berechtigungen und API-Vorgänge wie das Verb inspect
mit der Berechtigung DATA_SCIENCE_MODEL_READ
und den zugehörigen API-Vorgängen ab, wie GetModel
und GetModelArtifact
.
Beispiel: Alle Vorgänge
Ermöglicht einer Gruppe die Ausführung aller Vorgänge, die für DATA_SCIENCE_MODEL_READ
aufgeführt werden, in einem angegebenen Compartment:
allow group <group_name> to read data-science-models in compartment
<compartment_name>
Das Verb manage
für data-science-models
enthält dieselben Berechtigungen und API-Vorgänge wie das Verb read
sowie die APIs für die Berechtigungen DATA_SCIENCE_MODEL_CREATE
, DATA_SCIENCE_MODEL_MOVE
, DATA_SCIENCE_MODEL_UPDATE
und DATA_SCIENCE_MODEL_DELETE
. Beispiel: Ein Benutzer kann ein Modell nur mit der Berechtigung "manage" oder mit der spezifischen DATA_SCIENCE_MODEL_DELETE
-Berechtigung löschen. Mit der Berechtigung read
für data-science-models
kann ein Benutzer die Modelle nicht löschen.
Beispiel: Alle Ressourcen verwalten
Ermöglicht einer Gruppe die Verwaltung aller Ressourcen für Data Science:
allow group <group_name> to manage <data_science_family> in compartment
<compartment_name>
Ermöglicht einer Gruppe die Verwaltung aller Data Science-Ressourcen, mit Ausnahme des Löschens von Data Science-Projekten:
allow group <group_name> to manage <data_science_family> in compartment
<compartment_name> where request.permission !='DATA_SCIENCE_PROJECT_DELETE'
Die APIs für den Ressourcentyp data-science-projects
werden hier aufgeführt. Die APIs werden für jede Berechtigung alphabetisch angezeigt.
Policy-Beispiele
Wir haben diese Policy-Anweisungen identifiziert, die Sie wahrscheinlich in einem Mandanten für Modell-Deployments verwenden:
allow group <group-name> to manage data-science-models
in compartment <compartment-name>
manage
ändern, um die Aktionen der Benutzer einzuschränken.
allow group <group-name> to manage data-science-model-deployments
in compartment <compartment-name>
manage
kann geändert werden, um die für Ressourcen möglichen Aktionen einzuschränken.
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> }
Beispiele für Tätigkeiten und Jobläufe
(Optional) Sie können Logging für Jobs integrieren. Wenn diese Option aktiviert ist, benötigt die Joblaufressource Berechtigungen, um Logs an den Logging-Service zu senden. Sie müssen wie folgt eine dynamische Gruppe für Jobläufe erstellen:
all { resource.type='datasciencejobrun', resource.compartment.id='<job-run-compartment-ocid>' }
Lassen Sie dann zu, dass diese dynamische Gruppe in die Logs des Logging-Service schreiben kann:
allow dynamic-group <job-runs-dynamic-group> to use log-content in compartment <your-compartment-name>
Schließlich benötigt der Benutzer, der die Jobläufe startet, auch Zugriff auf Loggruppen und Logs:
Wenn Sie eine dynamische Instanz-Principal-Gruppe zum Erstellen und Starten von Jobläufen verwenden, müssen Sie Gruppen-Policys auf die dynamische Gruppe anwenden. Insbesondere muss die Policy des Instanz-Principals to manage log-groups
festgelegt sein.
allow group <group-name> to manage log-groups in compartment <compartment-name>
allow group <group-name> to use log-content in compartment <compartment-name>
(Optional) Für die Ausführung von Jobs mit einer Data Science-Conda-Umgebung sind keine zusätzlichen Policys erforderlich. Um Jobs mit einer veröffentlichten benutzerdefinierten Conda-Umgebung auszuführen, benötigt die Joblaufressource Berechtigungen zum Herunterladen der Conda-Umgebung aus dem Objektspeicher Ihres Mandanten. Sie müssen der dynamischen Gruppe für Jobläufe wie folgt den Zugriff auf Objekte in Ihrem Compartment erteilen:
allow dynamic-group <job-runs-dynamic-group> to read objects in compartment <compartment-name> where target.bucket.name='<bucket-name>'
Um das Containerimage aus OCIR abzurufen, fügen Sie die folgende Policy hinzu:
allow dynamic-group <your-dynamic-group> to read repos in compartment <compartment-name>
Wenn sich Ihr Repository im Root Compartment befindet, müssen Sie den Lesezugriff für den Mandanten zulassen mit:
allow dynamic-group <your-dynamic-group> to read repos in tenancy where all {target.repo.name=<repository-name>}
Beispiele für Pipelines
Data Science verwendet andere OCI-Services zur Ausführung von Pipelines, hauptsächlich Jobs. Um ordnungsgemäß zu funktionieren, benötigen Pipelines Berechtigungen, um diese Ressourcen in Ihrem Mandanten oder Compartment auszuführen. Sie müssen dynamische Gruppen und Policys erstellen, um Data Science-Pipelines verwenden zu können.
Erstellen Sie eine neue dynamische Gruppe, oder aktualisieren Sie eine vorhandene dynamische Gruppe, um die folgenden Zeilen hinzuzufügen:
So ermöglichen Sie Pipelineausführungen den Zugriff auf OCI-Services wie Logging, Networking, Object Storage usw.:
all {resource.type='datasciencepipelinerun',resource.compartment.id='ocid1.compartment.oc1..<>'}
Wenn Ihre Pipeline mindestens einen Job als Schritt enthält, müssen Sie zulassen, dass der Joblauf auf Ressourcen zugreift:
all {resource.type='datasciencejobrun',resource.compartment.id='ocid1.compartment.oc1..<>'}
Wenn Sie über Notizbuchsessions mit Resource Principal-Authentifizierung arbeiten, müssen Sie dem Notizbuch den Zugriff auf Ressourcen gestatten:
all {resource.type='datasciencenotebooksession',resource.compartment.id='ocid1.compartment.oc1..<>'}
Fügen Sie jetzt die relevanten Policys hinzu, damit Ihre dynamische Gruppe auf die Ressourcen in einem Compartment oder Mandanten zugreifen kann. Im Folgenden finden Sie einige nützliche Beispiel-Policys für Ihre dynamische Gruppe:
(Optional) Verwalten aller Data Science-Ressourcen wie Notizbücher, Jobs, Pipelines usw. zulassen:
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to manage data-science-family in compartment <YOUR_COMPARTMENT_NAME>
(Optional) Verwenden von Networking einschließlich der Verwendung von OCI Object Storage und File Storage Service zulassen:
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to use virtual-network-family in compartment <YOUR_COMPARTMENT_NAME>
(Optional) Verwalten von Object Storage zulassen:
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to manage objects in compartment <YOUR_COMPARTMENT_NAME>
(Optional) Log in Logging-Servicelogs zulassen:
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
gehören.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>