Políticas
Para controlar quem tem acesso ao serviço Data Science e o tipo de acesso de cada grupo de usuários, você deve criar políticas.
Para monitorar recursos do Serviço Data Science, você deve receber o acesso necessário em uma política. Isso se aplica quando você está usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. A política deve fornecer acesso aos serviços de monitoramento, bem como aos recursos que estão sendo monitorados. Se você tentar executar uma ação e receber uma mensagem de que não tem permissão ou está não autorizado, confirme com um administrador o tipo de acesso ao qual você recebeu e em qual compartimento você pode trabalhar. Para obter mais informações sobre autorizações de usuário para monitoramento, consulte a seção Autenticação e Autorização do serviço relacionado, Monitoring ou Notifications.
Por padrão, somente os usuários do grupo Administrators
têm acesso a todos os recursos do Data Science. Para todos os outros que estejam envolvidos com o serviço Data Science, você deverá criar novas políticas que designe a eles direitos apropriados para acessar os recursos do Data Science.
Para obter uma lista completa das políticas do OCI, consulte a Referência de Políticas.
Tipos de Recursos
O serviço Data Science oferece tipos de recursos agregados e individuais para gravação de políticas.
Você pode usar tipos de recursos agregados para criar menos políticas. Por exemplo, em vez de permitir que um grupo gerencie data-science-projects
, data-science-notebook-sessions
, data-science-models
e data-science-work-requests
, você pode ter uma política que permita ao grupo gerenciar o tipo de recurso agregado data-science-family
.
Tipo de Recurso Agregado
data-science-family
Tipos de Recurso Individual
data-science-projects
data-science-notebook-sessions
data-science-models
data-science-modelversionsets
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
data-science-model-groups
data-science-model-group-version-histories
Variáveis Suportadas
Para adicionar condições a suas políticas, você pode usar as variáveis gerais do OCI ou as variáveis específicas do serviço.
O serviço Data Science suporta as Variáveis Gerais para Todas as Solicitações para uso com recursos e estas variáveis específicas do serviço:
Operações para Este Tipo de Recurso... |
Podem Usar Essas Variáveis... |
Tipo de Variável |
Comentários |
---|---|---|---|
|
|
Entidade (OCID) |
Não disponível para uso com |
|
String |
Não disponível para uso com |
O usuário que cria um notebook é o único usuário que pode abrir e usá-lo.
Exemplos de Várias Operações
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
Detalhes para Combinações de Verbos + Tipo de Recurso
Há diversos verbos e tipos de recursos do OCI que podem ser usados para criar uma política.
Uma sintaxe da política é semelhante a esta:
allow <subject> to <verb> <resource_type> in <location> where <conditions>.
Veja a seguir uma descrição das permissões e operações de API incluídas por cada verbo do serviço Data Science. O nível de acesso é cumulativo à medida que você passa de inspect
para read
, use
e manage
. Um sinal de mais (+)
em uma célula da tabela indica o acesso incremental comparado à célula diretamente acima dela, enquanto "sem extra" indica que não há acesso incremental.
As APIs incluídas para o tipo de recurso data-science-projects
estão listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Completas |
APIs Parcialmente Cobertas |
---|---|---|---|
|
|
|
Sem extra |
|
|
|
|
|
|
|
Sem extra |
|
|
|
Sem extra |
As APIs incluídas para o tipo de recurso data-science-notebook-sessions
estão listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Totalmente Incluídas |
APIs Parcialmente Incluídas |
---|---|---|---|
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
|
As APIs incluídas para o tipo de recurso data-science-models
estão listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Totalmente Incluídas |
APIs Parcialmente Incluídas |
---|---|---|---|
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
|
As APIs cobertas para o tipo de recurso data-science-modelversionsets
estão listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Totalmente Incluídas |
APIs Parcialmente Incluídas |
---|---|---|---|
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
|
As APIs abrangidas para o tipo de recurso data-science-model-deployments
são listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Totalmente Incluídas |
APIs Parcialmente Incluídas |
---|---|---|---|
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
Sem extra |
As APIs incluídas para o tipo de recurso data-science-work-requests
estão listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Totalmente Incluídas |
APIs Parcialmente Incluídas |
---|---|---|---|
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
Sem extra |
As APIs abrangidas para o tipo de recurso data-science-jobs
são listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Totalmente Incluídas |
APIs Parcialmente Incluídas |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
As APIs abrangidas para o tipo de recurso data-science-job-runs
são listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Totalmente Incluídas |
APIs Parcialmente Incluídas |
---|---|---|---|
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
|
|
|
|
|
As APIs incluídas para o tipo de recurso data-science-pipelines
estão listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Totalmente Incluídas |
APIs Parcialmente Incluídas |
---|---|---|---|
|
|
|
Sem extra |
|
|
|
|
|
|
|
|
|
|
|
(Você também precisa de |
As APIs incluídas para o tipo de recurso data-science-pipelineruns
estão listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Totalmente Incluídas |
APIs Parcialmente Incluídas |
---|---|---|---|
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
|
|
|
|
|
As APIs incluídas para o tipo de recurso data-science-private-endpoint
estão listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Totalmente Incluídas |
APIs Parcialmente Incluídas |
---|---|---|---|
|
|
|
Sem extra |
|
|
|
|
|
|
|
Sem extra |
|
|
|
|
As APIs incluídas para o tipo de recurso data-science-schedule
estão listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Completas |
APIs Parcialmente Cobertas |
---|---|---|---|
|
|
|
Sem extra |
|
|
|
|
|
|
|
Sem extra |
|
|
|
Sem extra |
As APIs cobertas para o tipo de recurso data-science-model-groups
estão listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Totalmente Incluídas |
APIs Parcialmente Incluídas |
---|---|---|---|
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
|
As APIs abrangidas para o tipo de recurso data-science-model-group-version-histories
são listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Verbos |
Permissões |
APIs Totalmente Incluídas |
APIs Parcialmente Incluídas |
---|---|---|---|
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
Sem extra |
|
|
|
|
Exemplos de Política
As APIs abrangem os tipos de recursos agregados data-science-family
e individuais do Data Science. Por exemplo, allow group <group_name> to manage data-science-family in compartment <compartment_name>
é o mesmo que gravar as quatro políticas a seguir:
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>
Para obter um guia passo a passo para configurar políticas, consulte: 4. Criando Políticas no tutorial Configurando Manualmente uma Tenancy do Serviço Data Science.
Exemplo: View de Lista
Permite que um grupo simplesmente exibir a lista de todos os modelos do serviço Data Science em um compartimento específico:
allow group <group_name> to inspect data-science-models in compartment
<compartment_name>
O verbo read
para data-science-models
abrange as mesmas permissões e operações de API do verbo inspect
com a permissão DATA_SCIENCE_MODEL_READ
e as operações de API que ele abrange, como GetModel
e GetModelArtifact
.
Exemplo: Todas as Operações
Permite que um grupo execute todas as operações listadas para DATA_SCIENCE_MODEL_READ
em um compartimento especificado:
allow group <group_name> to read data-science-models in compartment
<compartment_name>
O verbo manage
para data-science-models
inclui as mesmas permissões e operações de API que o verbo read
, além das APIs para as permissões DATA_SCIENCE_MODEL_CREATE
, DATA_SCIENCE_MODEL_MOVE
, DATA_SCIENCE_MODEL_UPDATE
e DATA_SCIENCE_MODEL_DELETE
. Por exemplo, um usuário pode excluir um modelo somente com a permissão de gerenciamento ou a permissão DATA_SCIENCE_MODEL_DELETE
específica. Com uma permissão read
para data-science-models
, um usuário não pode excluir os modelos.
Exemplos: Gerenciar Todos os Recursos
Permite que um grupo gerencie todos os recursos para uso do serviço Data Science:
allow group <group_name> to manage <data_science_family> in compartment
<compartment_name>
Permite que um grupo gerencie todos os recursos do serviço Data Science, exceto excluir projetos do Data Science:
allow group <group_name> to manage <data_science_family> in compartment
<compartment_name> where request.permission !='DATA_SCIENCE_PROJECT_DELETE'
As APIs incluídas para o tipo de recurso data-science-projects
estão listadas aqui. As APIs são exibidas em ordem alfabética para cada permissão.
Exemplos de Política
Identificamos estas instruções de política que você provavelmente adotará em uma tenancy para implantações de modelo:
allow group <group-name> to manage data-science-models
in compartment <compartment-name>
manage
para limitar o que os usuários podem fazer.
allow group <group-name> to manage data-science-model-deployments
in compartment <compartment-name>
manage
pode ser alterado para limitar o que os recursos podem fazer.
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> }
Exemplos de Jobs e execuções de Jobs
(Opcional) Você pode integrar o registro em log dos jobs. Quando ativado, o recurso de execução de job exige permissões para emitir logs para o serviço Logging. Crie um grupo dinâmico de execuções de job com:
all { resource.type='datasciencejobrun', resource.compartment.id='<job-run-compartment-ocid>' }
Em seguida, permita que esse grupo dinâmico grave nos logs do serviço Logging:
allow dynamic-group <job-runs-dynamic-group> to use log-content in compartment <your-compartment-name>
Por fim, o usuário que está iniciando as execuções de job também deve ter acesso para usar logs e grupos de logs:
Se você usar um grupo dinâmico principal de instâncias para criar e iniciar execuções de jobs, aplique políticas de grupo ao grupo dinâmico. Especificamente, o controlador de instância deve ter a política to manage log-groups
definida.
allow group <group-name> to manage log-groups in compartment <compartment-name>
allow group <group-name> to use log-content in compartment <compartment-name>
(Opcional) Não há políticas extras exigidas para executar jobs com um ambiente conda do serviço Data Science. Para executar jobs com um ambiente conda personalizado publicado, o recurso de execução de job exige permissões para fazer download do ambiente conda no Armazenamento de Objetos da tenancy. Permita que o grupo dinâmico de execuções de jobs acesse objetos no compartimento com:
allow dynamic-group <job-runs-dynamic-group> to read objects in compartment <compartment-name> where target.bucket.name='<bucket-name>'
Para extrair a imagem do contêiner do OCIR, adicione esta política:
allow dynamic-group <your-dynamic-group> to read repos in compartment <compartment-name>
Se o seu repositório estiver no compartimento raiz, permita a leitura da tenancy com:
allow dynamic-group <your-dynamic-group> to read repos in tenancy where all {target.repo.name=<repository-name>}
Exemplos de Pipelines
O Data Science usa outros serviços do OCI para executar pipelines, principalmente jobs. Para funcionar corretamente, os pipelines exigem permissões para operar esses recursos em sua tenancy ou compartimento. Você deve criar grupos dinâmicos e políticas para usar pipelines do serviço Data Science.
Crie um novo grupo dinâmico ou atualize um grupo dinâmico existente para adicionar as seguintes linhas:
Para permitir que execuções de pipeline acessem serviços do OCI, como Logging, Networking, Object Storage etc.:
all {resource.type='datasciencepipelinerun',resource.compartment.id='ocid1.compartment.oc1..<>'}
Se seu pipeline incluir pelo menos um job como etapa, você deverá permitir que a execução do job acesse recursos:
all {resource.type='datasciencejobrun',resource.compartment.id='ocid1.compartment.oc1..<>'}
Ao trabalhar em sessões de notebook usando a autenticação do Controlador de Recursos, você precisará permitir que o notebook acesse recursos:
all {resource.type='datasciencenotebooksession',resource.compartment.id='ocid1.compartment.oc1..<>'}
Agora, adicione as políticas relevantes para permitir que seu grupo dinâmico acesse os recursos em um compartimento ou tenancy. Veja a seguir alguns exemplos de políticas úteis para seu grupo dinâmico:
(Opcional) Permita gerenciar todos os recursos do Data Science, como notebooks, jobs, pipelines etc.:
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to manage data-science-family in compartment <YOUR_COMPARTMENT_NAME>
(Opcional) Permita usar a rede, incluindo o uso do OCI Object Storage e do File Storage Service:
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to use virtual-network-family in compartment <YOUR_COMPARTMENT_NAME>
(Opcional) Permita gerenciar o Armazenamento de Objetos:
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to manage objects in compartment <YOUR_COMPARTMENT_NAME>
(Opcional) Permita o log nos logs do serviço Logging:
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>