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"
)
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")
Listar todos os utilizadores
Lista todos os utilizadores.
# list all users
client.list_users()
Limitações
- 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.
- A palavra-passe tem de ter pelo menos 6 caracteres e não pode exceder 256 caracteres.
O que se segue
- Você também pode querer aprender como:
- Se estiver pronto para implantar seu cluster em nuvens: