milvus-logo
LFAI
Casa
  • Guida all'amministrazione

Autenticare l'accesso dell'utente

Questa guida spiega come gestire l'autenticazione degli utenti in Milvus, compresa l'abilitazione dell'autenticazione, la connessione come utente e la modifica delle credenziali dell'utente.

  • TLS e l'autenticazione utente sono due approcci di sicurezza distinti. Se avete abilitato sia l'autenticazione utente che il TLS nel vostro sistema Milvus, dovete fornire un nome utente, una password e il percorso del file del certificato. Per informazioni su come abilitare TLS, consultare Crittografia in transito.

  • I frammenti di codice di questa pagina utilizzano il nuovo MilvusClient (Python) per interagire con Milvus. I nuovi SDK MilvusClient per altri linguaggi saranno rilasciati nei prossimi aggiornamenti.

Abilitare l'autenticazione dell'utente

Per abilitare l'autenticazione dell'utente per il server Milvus, impostare common.security.authorizationEnabled su true nel file di configurazione di Milvus milvus.yaml. Per ulteriori informazioni sulle configurazioni, consultare Configurazione di Milvus con Docker Compose.

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

Per abilitare l'autenticazione dell'utente per il server Milvus, impostare authorizationEnabled su true nel file di configurazione di Milvus values.yaml. Per ulteriori informazioni sulle configurazioni, fate riferimento a Configurare Milvus con Helm Charts.

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

Per abilitare l'autenticazione, impostare spec.common.security.authorizationEnabled a true nel CRD Milvus. Per ulteriori informazioni sul CRD di Milvus, consultare Configurazione di 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

Connettersi a Milvus con l'autenticazione

Dopo aver abilitato l'autenticazione, è necessario connettersi a Milvus utilizzando un nome utente e una password. Per impostazione predefinita, l'utente root viene creato con la password Milvus quando si avvia Milvus. Ecco un esempio di come collegarsi a Milvus con l'autenticazione abilitata utilizzando l'utente predefinito 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 non si fornisce un token valido quando ci si connette a Milvus con l'autenticazione abilitata, si riceve un errore gRPC.

Creare un nuovo utente

Una volta connessi come utente predefinito di root, è possibile creare e autenticare un nuovo utente come segue:

# 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': ()}

Per ulteriori informazioni sulla creazione di utenti, consultare create_user().

Connettersi a Milvus con un nuovo utente

Connettersi utilizzando le credenziali dell'utente appena creato:

# connect to milvus with the newly created user

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

Aggiornare la password dell'utente

Modificare la password di un utente esistente con il seguente codice:

# update password

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

Per ulteriori informazioni sull'aggiornamento delle password degli utenti, consultare update_password().

Se si dimentica la vecchia password, Milvus offre una voce di configurazione che consente di designare alcuni utenti come superutenti. In questo modo si elimina la necessità di inserire la vecchia password quando si ripristina la password.

Per impostazione predefinita, il campo common.security.superUsers nel file di configurazione di Milvus è vuoto, il che significa che tutti gli utenti devono fornire la vecchia password quando la reimpostano. Tuttavia, è possibile designare utenti specifici come superutenti che non devono fornire la vecchia password. Nello snippet qui sotto, root e foo sono designati come superutenti.

È necessario aggiungere la seguente voce di configurazione nel file di configurazione di Milvus che regola il funzionamento della vostra istanza Milvus.

common:
    security:
        superUsers: root, foo

Eliminare un utente

Per eliminare un utente, utilizzare il metodo drop_user().

client.drop_user(user_name="user_1")
Per abbandonare un utente, non si può essere l'utente da abbandonare. In caso contrario, verrà generato un errore.

Elenco di tutti gli utenti

Elenca tutti gli utenti.

# list all users

client.list_users()

Limitazioni

  1. Il nome utente non deve essere vuoto e non deve superare i 32 caratteri. Deve iniziare con una lettera e contenere solo trattini bassi, lettere o numeri.
  2. La password deve avere almeno 6 caratteri e non deve superare i 256 caratteri.

Cosa fare dopo

Tradotto daDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

Questa pagina è stata utile?