Configuração da Política

Configurando políticas de Aplicativos de ML.

A configuração da política é essencial para:

  • Garantir Funcionalidade: Para tornar seu Aplicativo de ML totalmente funcional, você deve conceder os privilégios necessários. Se um serviço em sua solução não tiver um privilégio necessário, a solução falhará. Por exemplo, não conceder ao seu Job de ML acesso à sua sub-rede pode interromper seu aplicativo.

  • Siga o Princípio do Menos Privilegiado: Para manter a segurança, é crucial conceder apenas os privilégios necessários. Por exemplo, em vez de conceder permissões amplas, como "gerenciar a família de objetos" em toda a tenancy, conceda ações específicas, como ler um bucket em um compartimento específico para um controlador de recursos específico.

  • Implementação do Isolamento do Tenant: os Aplicativos ML também permitem implementar o isolamento do tenant. Isso garante que as cargas de trabalho executadas em nome de seus clientes só possam acessar os recursos de propriedade do respectivo cliente, fornecendo uma camada extra de segurança.

Uma solução de IA/ML criada como um Aplicativo de ML geralmente depende de vários serviços da OCI (como Ciência de Dados, Armazenamento de Objetos, Rede e Log). Configure as políticas corretas para todos esses serviços, incluindo aqueles específicos para recursos do Aplicativo ML.

Simplificando a Configuração de Políticas com um Projeto de Infraestrutura de Amostra

Para facilitar esse processo, os Aplicativos de ML fornecem um projeto de infraestrutura de amostra. Esse projeto ajuda a configurar políticas de nível de produção e outros pré-requisitos para desenvolver seus Aplicativos de ML. Ele suporta todos os cenários, incluindo provedores e consumidores na mesma tenancy, tenancies diferentes e até mesmo ambientes internos de Aplicativos de ML.

O projeto de infraestrutura de amostra está disponível aqui: sample-project-policies.

Clone esse projeto e use-o para preparar a infraestrutura para todos os ambientes em que os Aplicativos ML são implantados. Ele cria políticas de menor privilégio que implementam o isolamento do tenant. As políticas também incluem um compartimento, um namespace de tag e uma tag.

O projeto inclui a documentação em arquivos README.md onde você pode encontrar informações detalhadas sobre o projeto e seus componentes.

Siga estas etapas para configurar um ambiente para Aplicativos de ML, incluindo as políticas necessárias.

  1. Prepare a pasta do ambiente:

    • Você pode usar a pasta de ambiente dev padrão (environments/dev) ou usá-la como modelo para criar seu ambiente personalizado.
    • Para criar seu ambiente personalizado:
      • Faça uma cópia da pasta do ambiente de desenvolvimento (environments/dev).
      • Renomeie a pasta copiada para corresponder ao nome do seu ambiente.
  2. Configure o ambiente:

    • Navegue até a pasta correspondente ao seu ambiente (por exemplo, environments/dev).
    • Edite o arquivo input_variables.tfvars para definir as definições do seu ambiente.
  3. Execute o Terraform para criar recursos:

    1. Inicialize o Terraform na pasta do ambiente:

      terraform init
    2. Aplique sua configuração para criar um compartimento, uma política, um namespace de tag e uma tag:
      terraform apply -var- file input_variables.tfvars
    3. Se necessário, destrua os recursos criados:
      terraform destroy -var- file input_variables.tfvars
Observação

  • Talvez seja necessário configurar o proxy HTTP.

  • Os scripts do Terraform criam um compartimento de nível superior chamado
    ml-app-<name-of-your-application>-<environment-suffix>
                                    
    .
  • Você pode visualizar os recursos que o Terraform cria executando:

    terraform plan -var- file input_variables.tfvars
  • Se seu aplicativo exigir uma sub-rede específica, especifique seu ID no arquivo input_variables.tfvars.