ユーザアクセスの認証
このガイドでは、認証の有効化、ユーザとしての接続、ユーザ認証情報の変更など、Milvusにおけるユーザ認証の管理方法について説明します。
TLSとユーザ認証は2つの異なるセキュリティアプローチです。Milvusシステムでユーザ認証とTLSの両方を有効にした場合、ユーザ名、パスワード、証明書ファイルのパスを指定する必要があります。TLSを有効にする方法については、Encryption in Transitを参照してください。
このページのコードスニペットはMilvusClient(Python)を使用しています。他の言語用の新しいMilvusClient SDKは今後のアップデートでリリースされる予定です。
ユーザ認証を有効にする
Milvusサーバのユーザ認証を有効にするには、Milvus設定ファイルmilvus.yaml
で common.security.authorizationEnabled をtrueに設定します。設定の詳細については、Docker ComposeによるMilvusの設定を参照してください。
...
common:
...
security:
authorizationEnabled: false
...
Milvusサーバのユーザ認証を有効にするには、Milvus設定ファイルvalues.yaml
でauthorizationEnabledをtrueに設定します。設定の詳細については、Helm Chartsを使用したMilvusの設定を参照してください。
...
extraConfigFiles:
user.yaml: |+
common:
security:
authorizationEnabled: true
...
認証を有効にするには、Milvus
CRD でspec.common.security.authorizationEnabled
をtrue
に設定します。Milvus CRDの詳細については、Milvus Operatorを使用したMilvusの設定を参照してください。
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release
labels:
app: milvus
spec:
# Omit other fields ...
config:
common:
security:
authorizationEnabled: true
Milvusへの認証接続
認証を有効にした後、ユーザ名とパスワードを使用してMilvusに接続する必要があります。デフォルトでは、Milvus起動時にパスワードMilvus
でroot
ユーザーが作成されます。以下は、デフォルトのroot
ユーザを使用して、認証を有効にして Milvus に接続する方法の例です:
# 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"
)
新規ユーザの作成
デフォルトのroot
ユーザで接続した後、以下の手順で新規ユーザを作成し、認証することができます:
# 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': ()}
ユーザ作成の詳細については、create_user() を参照してください。
新規ユーザでMilvusに接続する
新規作成したユーザの認証情報を使用して接続する:
# connect to milvus with the newly created user
client = MilvusClient(
uri="http://localhost:19530",
token="user_1:P@ssw0rd"
)
ユーザパスワードの更新
以下のコードで既存ユーザのパスワードを変更する:
# update password
client.update_password(
user_name="user_1",
old_password="P@ssw0rd",
new_password="P@ssw0rd123"
)
ユーザパスワードの更新については、update_password()を参照してください。
古いパスワードを忘れてしまった場合、Milvusには特定のユーザをスーパーユーザとして指定できる設定項目があります。これにより、パスワード再設定時に古いパスワードを入力する必要がなくなります。
デフォルトでは、Milvus設定ファイルのcommon.security.superUsers
フィールドは空です。つまり、すべてのユーザはパスワードリセット時に古いパスワードを入力しなければなりません。ただし、特定のユーザーをスーパーユーザーとして指定することで、古いパスワードを入力する必要がなくなります。以下のスニペットでは、root
とfoo
がスーパーユーザーとして指定されています。
Milvusインスタンスの実行を管理するMilvus設定ファイルに以下の設定項目を追加してください。
common:
security:
superUsers: root, foo
ユーザの削除
ユーザを削除するには、drop_user()
。
client.drop_user(user_name="user_1")
全ユーザの一覧表示
すべてのユーザーを一覧表示します。
# list all users
client.list_users()
制限事項
- ユーザー名は空白であってはならず、32文字以内でなければなりません。文字で始まり、アンダースコア、アルファベット、数字のみを含む必要があります。
- パスワードは6文字以上で、256文字以内です。
次のページ
- 次の方法もご覧ください:
- クラウド上にクラスターをデプロイする準備が整いましたら、次の方法をご覧ください: