milvus-logo
LFAI
Home
  • Guía de administración

Autenticar el Acceso de Usuario

Esta guía explica cómo gestionar la autenticación de usuario en Milvus, incluyendo la habilitación de la autenticación, la conexión como usuario y la modificación de las credenciales de usuario.

  • TLS y la autenticación de usuario son dos enfoques de seguridad distintos. Si ha habilitado tanto la autenticación de usuario como TLS en su sistema Milvus, debe proporcionar un nombre de usuario, contraseña y rutas de archivos de certificado. Para obtener información sobre cómo habilitar TLS, consulte Cifrado en tránsito.

  • Los fragmentos de código de esta página utilizan el nuevo MilvusClient (Python) para interactuar con Milvus. En futuras actualizaciones se publicarán nuevos SDK de MilvusClient para otros lenguajes.

Habilitar la autenticación de usuario

Para habilitar la autenticación de usuario para su servidor Milvus, establezca common.security.authorizationEnabled en true en el archivo de configuración de Milvus milvus.yaml. Para más información sobre configuraciones, consulte Configurar Milvus con Docker Compose.

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

Para habilitar la autenticación de usuario para su servidor Milvus, establezca authorizationEnabled en true en el archivo de configuración de Milvus values.yaml. Para más información sobre configuraciones, consulte Configurar Milvus con Helm Charts.

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

Para habilitar la autenticación, establezca spec.common.security.authorizationEnabled a true en el CRD Milvus. Para más información sobre Milvus CRD, consulte Configurar Milvus con Milvus Operator.

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

Conectarse a Milvus con autenticación

Después de habilitar la autenticación, necesita conectarse a Milvus utilizando un nombre de usuario y una contraseña. Por defecto, el usuario root se crea con la contraseña Milvus cuando se inicia Milvus. He aquí un ejemplo de cómo conectarse a Milvus con la autenticación activada utilizando el usuario por defecto 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"
) 
Si no proporciona un token válido al conectarse a Milvus con la autenticación activada, recibirá un error gRPC.

Crear un nuevo usuario

Una vez conectado como el usuario por defecto root, puede crear y autenticar un nuevo usuario de la siguiente manera:

# 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 más información sobre la creación de usuarios, consulte create_user().

Conectarse a Milvus con un nuevo usuario

Conéctese utilizando las credenciales del usuario recién creado:

# connect to milvus with the newly created user

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

Actualizar contraseña de usuario

Cambie la contraseña de un usuario existente con el siguiente código:

# update password

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

Para más información sobre la actualización de contraseñas de usuario, consulte update_password().

Si olvida su antigua contraseña, Milvus proporciona un elemento de configuración que le permite designar a ciertos usuarios como superusuarios. Esto elimina la necesidad de la contraseña antigua cuando restablezca la contraseña.

Por defecto, el campo common.security.superUsers del archivo de configuración de Milvus está vacío, lo que significa que todos los usuarios deben proporcionar la contraseña antigua al restablecer su contraseña. Sin embargo, puede designar usuarios específicos como superusuarios que no necesitan proporcionar la contraseña antigua. En el siguiente fragmento, root y foo están designados como superusuarios.

Debería añadir el siguiente elemento de configuración en el archivo de configuración de Milvus que rige el funcionamiento de su instancia de Milvus.

common:
    security:
        superUsers: root, foo

Dar de baja a un usuario

Para dar de baja a un usuario, utilice el método drop_user().

client.drop_user(user_name="user_1")
Para dar de baja a un usuario, usted no puede ser el usuario que se está dando de baja. De lo contrario, se producirá un error.

Listar todos los usuarios

Lista todos los usuarios.

# list all users

client.list_users()

Limitaciones

  1. El nombre de usuario no debe estar vacío ni tener más de 32 caracteres. Debe empezar por una letra y contener sólo guiones bajos, letras o números.
  2. La contraseña debe tener al menos 6 caracteres y no debe superar los 256 caracteres de longitud.

Lo que sigue

Traducido porDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

¿Fue útil esta página?