milvus-logo
LFAI
홈페이지
  • 관리 가이드

사용자 액세스 인증

이 가이드에서는 인증 활성화, 사용자로 연결하기, 사용자 자격 증명 수정하기 등 Milvus에서 사용자 인증을 관리하는 방법에 대해 설명합니다.

  • TLS와 사용자 인증은 서로 다른 두 가지 보안 접근 방식입니다. Milvus 시스템에서 사용자 인증과 TLS를 모두 활성화한 경우 사용자 이름, 비밀번호 및 인증서 파일 경로를 제공해야 합니다. TLS를 활성화하는 방법에 대한 자세한 내용은 전송 중 암호화를 참조하세요.

  • 이 페이지의 코드 스니펫은 새로운 MilvusClient (Python)를 사용하여 Milvus와 상호 작용합니다. 다른 언어에 대한 새로운 MilvusClient SDK는 향후 업데이트를 통해 출시될 예정입니다.

사용자 인증 활성화

밀버스 서버에 사용자 인증을 활성화하려면 밀버스 구성 파일 milvus.yaml 에서 common.security.authorizationEnabled를 true로 설정한다. 구성에 대한 자세한 내용은 도커 컴포즈로 밀버스 구성을 참고한다.

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

Milvus 서버에 사용자 인증을 사용하려면 Milvus 구성 파일 values.yaml 에서 authorizationEnabled를 true로 설정하세요. 구성에 대한 자세한 내용은 헬름 차트로 Milvus 구성을 참조하세요.

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

인증을 활성화하려면 Milvus CRD에서 spec.common.security.authorizationEnabledtrue 으로 설정한다. Milvus CRD에 대한 자세한 내용은 Milvus 오퍼레이터로 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가 시작될 때 root 사용자는 Milvus 비밀번호로 생성됩니다. 다음은 기본 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"
) 
인증이 활성화된 상태에서 Milvus에 연결할 때 유효한 토큰을 제공하지 못하면 gRPC 오류가 발생합니다.

새 사용자 만들기

기본 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 필드는 비어 있으므로 비밀번호를 재설정할 때 모든 사용자가 이전 비밀번호를 입력해야 합니다. 그러나 특정 사용자를 이전 비밀번호를 제공할 필요가 없는 슈퍼 사용자로 지정할 수 있습니다. 아래 스니펫에서는 rootfoo 을 슈퍼 사용자로 지정했습니다.

Milvus 인스턴스 실행을 관리하는 Milvus 구성 파일에 아래 구성 항목을 추가해야 합니다.

common:
    security:
        superUsers: root, foo

사용자 삭제

사용자를 삭제하려면 drop_user() 방법을 사용합니다.

client.drop_user(user_name="user_1")
사용자를 삭제하려면 삭제되는 사용자가 본인이 될 수 없습니다. 그렇지 않으면 오류가 발생합니다.

모든 사용자 나열하기

모든 사용자를 나열합니다.

# list all users

client.list_users()

제한 사항

  1. 사용자 아이디는 비워서는 안 되며 32자를 초과할 수 없습니다. 문자로 시작해야 하며 밑줄, 문자 또는 숫자만 포함해야 합니다.
  2. 비밀번호는 6자 이상이어야 하며 256자를 초과하지 않아야 합니다.

다음 단계

번역DeepL

Try Managed Milvus for Free

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

Get Started
피드백

이 페이지가 도움이 되었나요?