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"
)
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")
Listar todos los usuarios
Lista todos los usuarios.
# list all users
client.list_users()
Limitaciones
- 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.
- La contraseña debe tener al menos 6 caracteres y no debe superar los 256 caracteres de longitud.
Lo que sigue
- Puede que también quiera aprender cómo
- Si está listo para desplegar su cluster en nubes: