Modell-Deployment-Policys

Sie müssen eine Gruppe von Benutzern erstellen, die zum Arbeiten mit Modell-Deployments autorisiert sind, bevor Sie ein Modell mit einer Modell-Deployment-Ressource bereitstellen können.

Sie können auch eine dynamische Gruppe von Ressourcen (wie Notizbuchsessions) erstellen, die zum Erstellen eines Deployments autorisiert sind. In diesem Fall kann jeder Benutzer, der auf die Notizbuchsession zugreifen kann, die Identität der Notizbuchsession annehmen und ein Modell-Deployment erstellen. Die Authentifizierungsmethode aus der Notizbuchsession verwendet Resource Principals.

Dasselbe Muster gilt beim Aufrufen des Modellendpunkts nach dem Deployment. Eine Gruppe von Benutzern oder Ressourcen muss zum Aufrufen des Modells autorisiert werden.

Die folgenden Beispiele sind die gängigsten Policy-Anweisungen für ein Modell-Deployment. Weitere Beispiele finden Sie unter Beispiele für Modell-Deployment-Policys.

Modell-Deployment-Policys verwalten

Ermöglicht einer Gruppe von Benutzern (<group-name>), alle CRUD-Vorgänge für im Modellkatalog gespeicherte Modelle auszuführen. Jeder Benutzer, der ein Modell durch Modell-Deployment bereitstellen möchte, muss auch auf das bereitzustellende Modell zugreifen.
allow group <group-name> to manage data-science-models 
in compartment <compartment-name>
Ermöglicht einer Gruppe von Benutzern (<group-name>), alle CRUD-Vorgänge auszuführen, einschließlich Aufruf des Inferenzendpunkts, für Modell-Deployment-Ressourcen in einem bestimmten Compartment. Sie können das Verb manage ändern, um die Aktionen der Benutzer einzuschränken.
allow group <group-name> to manage data-science-model-deployments 
in compartment <compartment-name>
Ermöglicht einer dynamischen Gruppe von Ressourcen (wie Notizbuchsessions) die Ausführung aller CRUD-Vorgänge, einschließlich des Aufrufs des Inferenzendpunkts, in Modell-Deployment-Ressourcen in einem bestimmten Compartment. Das Verb 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>

Die vorstehenden Policy-Beispiele erteilen mehrere Berechtigungen. Sie können restriktivere Policys erstellen. Sie könnten beispielsweise einschränken, welche Personen oder Ressourcen den Inferenzendpunkt des Modell-Deployments aufrufen können.

Zugriff auf Vorhersage- oder Streamingendpunkt-Policy autorisieren

Ermöglicht einer Gruppe von Benutzern (<group-name>), alle CRUD-Vorgänge auszuführen, einschließlich Aufruf des Inferenzendpunkts, für Modell-Deployment-Ressourcen in einem bestimmten Compartment. Sie können das Verb manage ändern, um die Aktionen der Benutzer einzuschränken.
allow group <group-name> to manage data-science-model-deployments 
in compartment <compartment-name>
Sie können Ressourcen auch dieselben Berechtigungen erteilen. Nur die dynamische Gruppe von Ressourcen in der angegebenen dynamischen Gruppe kann den Modellendpunkt für die in einem bestimmten Compartment erstellten Modell-Deployment-Ressourcen aufrufen.
allow dynamic-group <dynamic-group-name-2> to {DATA_SCIENCE_MODEL_DEPLOYMENT_PREDICT} 
in compartment <compartment-name>

Modell-Deployment-Zugriff auf einen veröffentlichten Conda-Bucket erteilen

(Optional) Ermöglicht einem Modell-Deployment den Zugriff auf die veröffentlichten Conda-Umgebungen, die in einem Objektspeicher-Bucket gespeichert sind. Dies ist erforderlich, wenn Sie veröffentlichte Conda-Umgebungen verwenden möchten, um die Drittanbieterabhängigkeiten eines Modells zu erfassen.
allow any-user to read objects in compartment <compartment-name>
where ALL { request.principal.type='datasciencemodeldeployment', 
target.bucket.name=<published-conda-envs-bucket-name> }

Modell-Deployment-Zugriff auf den Logging-Service erteilen

(Optional) Lässt zu, dass ein Modell-Deployment Logs an den Logging-Service ausgibt. Sie benötigen diese Policy, wenn Sie Logging in einem Modell-Deployment verwenden. Diese Aussage ist zulässig. Beispiel: Sie könnten die Berechtigung zur Verwendung von Loginhalt (log-content) auf ein bestimmtes Compartment einschränken.
allow any-user to use log-content in tenancy 
where ALL {request.principal.type = 'datasciencemodeldeployment'}

Modell-Deployment-Zugriff auf einen Objektspeicher-Bucket erteilen

(Optional) Ermöglicht einem Modell-Deployment den Zugriff auf einen Objektspeicher-Bucket, der sich in einem Mandanten befindet. Beispiel: Ein bereitgestelltes Modell, das Dateien (eine CSV-Lookup-Datei) aus einem von Ihnen verwalteten Objektspeicher-Bucket liest.
allow any-user to read objects in compartment <compartment-name> 
where ALL { request.principal.type='datasciencemodeldeployment', target.bucket.name=<bucket-name> }

Modell-Deployment-Zugriff auf einen benutzerdefinierten Container mit Resource Principal erteilen

Policys können wie folgt konfiguriert werden:

Dynamische Gruppen konfigurieren und Policys in der dynamischen Gruppe erstellen

Dynamische Gruppe erstellen:

ALL { resource.type = 'datasciencemodeldeployment' }

Ermöglicht einer dynamischen Gruppe das Lesen eines benutzerdefinierten Containers.

allow dynamic-group <dynamic-group-name> to read repos in compartment <compartment-name> where ANY {
    request.operation='ReadDockerRepositoryMetadata',
    request.operation='ReadDockerRepositoryManifest',
    request.operation='PullDockerLayer'

Wenn sich das Repository im Root Compartment befindet, Lesezugriff für den Mandanten zulassen:

allow dynamic-group <dynamic-group-name> to read repos in tenancy where ANY {
    request.operation='ReadDockerRepositoryMetadata',
    request.operation='ReadDockerRepositoryManifest',
    request.operation='PullDockerLayer'
}

Andere Methoden der Authentifizierung und Autorisierung

Das Modell-Deployment unterstützt nur die vom OCI Identity and Access Management-(IAM-)Service definierte Autorisierung und Authentifizierung. Das Modell-Deployment unterstützt keine anderen Autorisierungs- und Authentifizierungsmethoden wie OAuth oder Basiszugriffsauthentifizierung.