milvus-logo
LFAI
Home
  • Guia de Administração

Autenticar o acesso do utilizador

Este guia explica como gerir a autenticação do utilizador no Milvus, incluindo a ativação da autenticação, a ligação como utilizador e a modificação das credenciais do utilizador.

  • O TLS e a autenticação do utilizador são duas abordagens de segurança distintas. Se tiver ativado a autenticação do utilizador e o TLS no seu sistema Milvus, tem de fornecer um nome de utilizador, uma palavra-passe e caminhos de ficheiros de certificados. Para obter informações sobre como ativar o TLS, consulte Criptografia em trânsito.

  • Os trechos de código nesta página usam o novo MilvusClient (Python) para interagir com o Milvus. Os novos SDKs do MilvusClient para outras linguagens serão lançados em futuras actualizações.

Habilitar autenticação de usuário

Para ativar a autenticação do utilizador para o seu servidor Milvus, defina common.security.authorizationEnabled como true no ficheiro de configuração do Milvus milvus.yaml. Para obter mais informações sobre configurações, consulte Configurar o Milvus com o Docker Compose.

...
common:
...
  security:
    authorizationEnabled: false
...

Para ativar a autenticação do utilizador para o seu servidor Milvus, defina authorizationEnabled como true no ficheiro de configuração do Milvus values.yaml. Para obter mais informações sobre configurações, consulte Configurar o Milvus com Helm Charts.

...
extraConfigFiles:
  user.yaml: |+
    common:
      security:
        authorizationEnabled: true
...

Para ativar a autenticação, defina spec.common.security.authorizationEnabled como true no CRD Milvus. Para obter mais informações sobre o CRD do Milvus, consulte Configurar o Milvus com o Milvus Operator.

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  # Omit other fields ...
  config:
    common:
      security:
        authorizationEnabled: true

Ligar ao Milvus com autenticação

Depois de ativar a autenticação, é necessário ligar-se ao Milvus utilizando um nome de utilizador e uma palavra-passe. Por defeito, o utilizador root é criado com a palavra-passe Milvus quando o Milvus é iniciado. Eis um exemplo de como se ligar ao Milvus com a autenticação activada utilizando o utilizador predefinido root:

# use default `root` user to connect to Milvus

from pymilvus import MilvusClient

client = MilvusClient(
    uri='http://localhost:19530', # replace with your own Milvus server address
    token="root:Milvus"
) 
Se não conseguir fornecer um token válido ao ligar-se ao Milvus com a autenticação activada, receberá um erro gRPC.

Criar um novo utilizador

Uma vez ligado como o utilizador predefinido root, pode criar e autenticar um novo utilizador da seguinte forma:

# create a user
client.create_user(
    user_name="user_1",
    password="P@ssw0rd",
)

# verify the user has been created

client.describe_user("user_1")

# output
# {'user_name': 'user_1', 'roles': ()}

Para mais informações sobre a criação de utilizadores, consulte create_user().

Ligar ao Milvus com um novo utilizador

Ligue-se utilizando as credenciais do utilizador recém-criado:

# connect to milvus with the newly created user

client = MilvusClient(
    uri="http://localhost:19530",
    token="user_1:P@ssw0rd"
)

Atualizar a palavra-passe do utilizador

Altere a palavra-passe de um utilizador existente com o seguinte código:

# update password

client.update_password(
    user_name="user_1",
    old_password="P@ssw0rd",
    new_password="P@ssw0rd123"
)

Para mais informações sobre como atualizar as palavras-passe dos utilizadores, consulte update_password().

Se se esquecer da sua palavra-passe antiga, o Milvus fornece um item de configuração que lhe permite designar determinados utilizadores como superutilizadores. Isto elimina a necessidade da palavra-passe antiga quando se redefine a palavra-passe.

Por predefinição, o campo common.security.superUsers no ficheiro de configuração do Milvus está vazio, o que significa que todos os utilizadores têm de fornecer a palavra-passe antiga quando redefinem a sua palavra-passe. No entanto, é possível designar utilizadores específicos como superutilizadores que não necessitam de fornecer a palavra-passe antiga. No excerto abaixo, root e foo são designados como superutilizadores.

Deve adicionar o item de configuração abaixo no ficheiro de configuração do Milvus que rege a execução da sua instância do Milvus.

common:
    security:
        superUsers: root, foo

Abandonar um utilizador

Para eliminar um utilizador, utilize o método drop_user().

client.drop_user(user_name="user_1")
Para eliminar um utilizador, o utilizador não pode ser o utilizador a eliminar. Caso contrário, será apresentado um erro.

Listar todos os utilizadores

Lista todos os utilizadores.

# list all users

client.list_users()

Limitações

  1. O nome de utilizador não pode estar vazio e não pode ter mais de 32 caracteres. Deve começar com uma letra e conter apenas sublinhados, letras ou números.
  2. A palavra-passe tem de ter pelo menos 6 caracteres e não pode exceder 256 caracteres.

O que se segue

Traduzido porDeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Esta página foi útil?