사용자 액세스 인증
이 가이드에서는 인증 활성화, 사용자로 연결하기, 사용자 자격 증명 수정하기 등 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.authorizationEnabled
을 true
으로 설정한다. 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"
)
새 사용자 만들기
기본 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자를 초과하지 않아야 합니다.
다음 단계
- 다음 방법을 알아보세요:
- 클라우드에 클러스터를 배포할 준비가 되었나요?