Debe crear un grupo de usuarios autorizados para trabajar con despliegues de modelo para poder desplegar un modelo con un recurso de despliegue de modelo.
O bien, puede crear un grupo dinámico de recursos (como las sesiones de Notebook) autorizado para crear un despliegue. En este caso, cualquier persona que pueda acceder a la sesión de bloc de notas puede tomar la identidad de la sesión de bloc de notas y crear un despliegue de modelo. El método de autenticación de la sesión de bloc de notas utiliza principales de recurso.
El mismo patrón se aplica al llamar al punto final del modelo después del despliegue. Se debe autorizar a un grupo de usuarios o recursos para llamar al modelo.
Creemos que los siguientes ejemplos son las sentencias de política más comunes para su uso con un despliegue de modelo. Además, la sección sobre políticas de despliegue de modelo de ejemplo contiene más ejemplos.
Gestión de políticas de despliegue de modelo
Permite a un grupo de usuarios, <group-name>, realizar todas las operaciones de creación, actualización y supresión (CRUD) en los modelos almacenados en el catálogo de modelos. Cualquier usuario que desee desplegar un modelo a través de un despliegue de modelo también debe acceder al modelo que desee desplegar.
Copiar
allow group <group-name> to manage data-science-models
in compartment <compartment-name>
Permite a un grupo de usuarios, <group-name>, realizar todas las operaciones de CRUD, incluida la llamada al punto final de predicción, en recursos de despliegue de modelo en un compartimento concreto. Puede cambiar el verbo manage para limitar lo que los usuarios pueden hacer.
Copiar
allow group <group-name> to manage data-science-model-deployments
in compartment <compartment-name>
Permite a un grupo dinámico de recursos (como las sesiones de Notebook) realizar todas las operaciones de CRUD, incluida la llamada al punto final de predicción, en recursos de despliegue de modelos en un compartimento concreto. El verbo manage se puede cambiar para limitar lo que pueden hacer los recursos.
Copiar
allow dynamic-group <dynamic-group-name> to manage data-science-model-deployments
in compartment <compartment-name>
Los ejemplos de políticas anteriores son permisivos. Puede crear políticas más restrictivas. Un ejemplo común es restringir quién o qué recursos pueden llamar al punto final de predicción del despliegue de modelo.
Autorización de acceso para predecir la política de punto final 🔗
Permite a un grupo de usuarios, <group-name>, realizar todas las operaciones de CRUD, incluida la llamada al punto final de predicción, en recursos de despliegue de modelo en un compartimento concreto. Puede cambiar el verbo manage para limitar lo que los usuarios pueden hacer.
Copiar
allow group <group-name> to manage data-science-model-deployments
in compartment <compartment-name>
O bien, puede autorizar a los recursos a hacer lo mismo. Solo el grupo dinámico de recursos del grupo dinámico especificado puede llamar al punto final del modelo para los recursos de despliegue de modelo creados en un compartimento específico.
Copiar
allow dynamic-group <dynamic-group-name-2> to {DATA_SCIENCE_MODEL_DEPLOYMENT_PREDICT}
in compartment <compartment-name>
Cómo otorgar al despliegue de modelo acceso a un cubo conda publicado 🔗
(Opcional) Permite que un despliegue de modelo acceda a los entornos conda publicados almacenados en un cubo de Object Storage. Esto es necesario si desea utilizar entornos conda publicados para capturar las dependencias de terceros de un modelo.
Copiar
allow any-user to read objects in compartment <compartment-name>
where ALL { request.principal.type='datasciencemodeldeployment',
target.bucket.name=<published-conda-envs-bucket-name> }
Cómo otorgar al despliegue de modelo acceso al servicio Logging 🔗
(Opcional) Permite que un despliegue de modelo emita logs al servicio Logging. Necesita esta política si va a utilizar Logging en un despliegue de modelo. Esta sentencia es permanente. Por ejemplo, puede restringir el permiso para utilizar el contenido de log en un compartimento específico.
Copiar
allow any-user to use log-content in tenancy
where ALL {request.principal.type = 'datasciencemodeldeployment'}
Cómo otorgar al despliegue de modelo acceso a un cubo de Object Storage 🔗
(Opcional) Permite que un despliegue de modelo acceda a un cubo de Object Storage que reside en un arrendamiento. Por ejemplo, un modelo desplegado que lea archivos (un archivo CSV de consulta) de un cubo de Object Storage que gestione.
Copiar
allow any-user to read objects in compartment <compartment-name>
where ALL { request.principal.type='datasciencemodeldeployment', target.bucket.name=<bucket-name> }
Asignación de acceso de despliegue de modelo a un contenedor personalizado mediante la entidad de recurso 🔗
Las políticas se pueden configurar de la siguiente manera:
Configuración de grupos dinámicos y creación de políticas en el grupo dinámico
Crear un grupo dinámico:
ALL { resource.type = 'datasciencemodeldeployment' }
Permite a un grupo dinámico leer un contenedor personalizado.
Copiar
allow dynamic-group <dynamic-group-name> to read repos in compartment <compartment-name> where ANY {
request.operation='ReadDockerRepositoryMetadata',
request.operation='ReadDockerRepositoryManifest',
request.operation='PullDockerLayer'
Si el repositorio está en el compartimento raíz, permita la lectura para el arrendamiento:
Copiar
allow dynamic-group <dynamic-group-name> to read repos in tenancy where ANY {
request.operation='ReadDockerRepositoryMetadata',
request.operation='ReadDockerRepositoryManifest',
request.operation='PullDockerLayer'
}
Otros métodos de autenticación y autorización 🔗
El despliegue del modelo solo soporta la autorización y la autenticación definidas por el servicio OCI Identity and Access Management (IAM). El despliegue del modelo no soporta otros métodos de autorización y autenticación, como OAuth o la autenticación de acceso básica.