Habilitando o controle de acesso granular para Milvus

Siga este procedimento para gerenciar o acesso dos usuários no watsonx.data Milvus, de modo que cada usuário possa visualizar ou consultar apenas os bancos de dados ou coleções que você autorizar. Milvus oferece autorização detalhada por meio de políticas que definem o que os usuários podem visualizar ou consultar, permitindo que você controle o acesso tanto no nível do banco de dados quanto no nível da coleção.

Ao atribuir permissões intencionalmente, você apoia a governança empresarial, impõe o acesso com privilégios mínimos e protege dados vetoriais confidenciais entre equipes ou cargas de trabalho. Essa abordagem ajuda a manter operações seguras em ambientes multilocatários e cria um modelo de segurança previsível que se alinha aos requisitos organizacionais e de conformidade.

Antes de iniciar

Nota:

Os pré-requisitos a seguir para o controle de acesso granular são compatíveis apenas com implantações locais.

Prepare seu ambiente completando os seguintes pré-requisitos:

  • Você deve fazer login como cpadmin no seu cluster IBM Cloud Pak for Data.

  • Uma instância do ` watsonx.data ` está instalada no cluster ` IBM Cloud Pak for Data `.

  • Um serviço do Milvus é criado na sua instância do watsonx.data.

  • Os usuários necessários já existem no cluster IBM Cloud Pak for Data.

Para adicionar usuários por meio do Protocolo Leve de Acesso a Diretórios ( LDAP ), consulte “Conectando-se ao seu provedor de identidade ”.

  • Para verificar a lista de usuários:

    1. Acesse a página inicial do cluster.

    2. Clique em Gerenciar usuários.

    3. Revise a lista de usuários.

Adicionar usuários à instância do watsonx.data

Adicione usuários à instância do watsonx.data para que possam acessar os serviços do Lakehouse, gerenciar recursos e utilizar o serviço Milvus de acordo com as permissões que você configurar.

  1. Acesse a página inicial do cluster e clique em Minhas instâncias.

  2. Em "Minhas instâncias ", selecione a instância " watsonx.data ".

  3. Na página de detalhes da instância, abra o menu de overflow (⋮) e selecione Gerenciar acesso.

  4. Clique em Adicionar usuários e selecione os usuários que você deseja autorizar para a instância.

Criando políticas e regras

As políticas definem a quais recursos do Milvus um usuário pode acessar e quais ações ele pode realizar. Você gerencia essas políticas por meio do console do watsonx.data.

Para acessar o console de gerenciamento de políticas:

  1. Vá para “Minhas instâncias” e abra a instância “ watsonx.data ”.

  2. Na página da instância, clique em Abrir.

  3. No console, selecione Controle de Acesso na janela de navegação.

  4. Na guia Políticas, selecione Adicionar política para começar a criar suas regras de acesso.

Criação de uma política no nível da coleção

Use este tipo de política para restringir a visibilidade a uma única coleção dentro de um banco de dados.

  1. Na guia Políticas, clique em Adicionar política > Detalhes.

  2. Em Nome da política, insira um nome para a política e clique em Avançar.

  3. Na página Objetos de dados :

    • Selecione o serviço Milvus no menu suspenso Escolha um recurso para começar.

    • Selecione o banco de dados que contém a coleção de interesses.

    • Selecione a coleção.

    • Clique em Avançar.

  4. Clique em Adicionar regras > Selecionar tudo para as opções Objetos gerenciados e Dados gerenciados.

  5. Clique em Adicionar > Selecione um usuário.

  6. Clique em Revisar > Criar.

  7. Nas opções (⋮), selecione Ativar para habilitar a política.

  8. Valide o acesso seguindo as etapas abaixo.

Validação do acesso ao nível da coleção no Python

Siga as etapas a seguir para verificar se o usuário Milvus tem acesso a coleções específicas. Comece criando uma sessão MilvusClient com o nome de usuário e a senha que deseja testar.


from pymilvus import MilvusClient
client = MilvusClient(
    uri="<your milvus service URI>", # your Milvus service URI, for example, http://localhost:19530
    user="<your username>",
    password="<your password>",
    server_pem_path="./milvus_onprem_tls.crt" # path to your SSL certificate
)

Etapa 1: Confirme que as operações restritas falham

Os usuários com permissões no nível da coleção não devem poder listar todos os bancos de dados ou coleções. Esses comandos retornam erros de permissão, conforme esperado:

client.list_databases() client.list_collections()

Etapa 2: Validar o acesso à coleção permitida

Um usuário com a política apropriada ainda pode recuperar informações sobre uma coleção permitida. Este comando funciona quando o usuário está autorizado:

client.describe_collection("<allowed_collection_name>")

Saída de exemplo

Quando você executa describe_collection() em uma coleção à qual o usuário tem permissão de acesso, Milvus retorna os metadados da coleção, semelhantes aos seguintes:


{
  "collection_name": "assistant_builder_docs_en_slate_30m_v2",
  "auto_id": true,
  "num_shards": 1,
  "description": "",
  "fields": [
    {
      "field_id": 100,
      "name": "text",
      "description": "",
      "type": "<DataType.VARCHAR: 21>",
      "params": { "max_length": 65535 }
    }
  ]
}

Criar uma política no nível do banco de dados

Siga estas etapas para conceder aos usuários permissão para executar list_databases().

  1. Em Políticas, vá para Detalhes.

  2. Em Nome da política, forneça um nome para sua política e clique em Avançar.

  3. Em Objetos de dados, escolha o serviço Milvus e não selecione nenhum banco de dados.

  4. Clique em Adicionar regras e selecione o ListDatabases.

  5. Clique em Adicionar > Selecione um usuário.

  6. Clique em Revisar > Criar > Ativar para ativar sua política.

  7. Valide a ListDatabases permissão usando:

client.list_databases()

Criar uma política no nível da coleção

Siga estas etapas para permitir que os usuários executem list_collections().

  1. Em Políticas, abra Detalhes.

  2. No campo Nome da política, forneça um nome para sua política e clique em Avançar.

  3. Nos objetos de dados, escolha seu serviço Milvus > selecione um banco de dados (por exemplo, padrão) e não selecione nenhuma coleção.

  4. Clique em Adicionar regras > selecione ShowCollections > clique em Adicionar > selecione um usuário.

  5. Clique em Revisar > Criar > Ativar para ativar sua política.

  6. Valide a ShowCollections permissão usando:

client.using_database("<database_selected_for_policy>")
client.list_collections()

O quê fazer em seguida

Agora você pode usar as credenciais de usuário autorizado para integrar o Milvus com:

Essas ferramentas facilitam a criação de agentes que acessam com segurança Milvus e seguem as regras de autorização que você configurou.