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

사용자, 권한 및 역할

이 주제에서는 Milvus의 역할 기반 액세스 제어(RBAC)에 대한 개요를 제공하며 사용자, 역할, 개체 및 권한 간의 정의와 관계를 자세히 설명합니다.

다음 그림은 개체, 권한, 역할 및 사용자 간의 관계를 보여줍니다.

users_and_roles USERS_AND_ROOLS

주요 개념

Milvus 리소스에 대한 액세스 제어를 관리하려면 개체 유형, 개체 이름, 사용자, 역할 및 권한과 같은 RBAC의 주요 구성 요소를 이해하는 것이 중요합니다.

  • 개체유형: 권한이 할당되는 개체의 범주입니다. 개체 유형은 다음과 같습니다:

    • Global: 시스템 전체 개체로, 사용자가 모든 컬렉션, 사용자 또는 시스템 전체 설정에 영향을 주는 작업을 수행할 수 있습니다.
    • Collection: 컬렉션별 개체 - 사용자가 특정 컬렉션 내에서 인덱스 만들기, 데이터 로드, 데이터 삽입 또는 삭제, 데이터 쿼리 등의 작업을 수행할 수 있도록 허용하는 개체입니다.
    • User: 사용자 관리와 관련된 개체로, 사용자가 사용자 자격 증명 업데이트 또는 사용자 세부 정보 보기와 같은 데이터베이스 사용자의 자격 증명 및 역할을 관리할 수 있습니다.
  • 개체 이름: 액세스를 제어할 개체의 특정 이름입니다. 예를 들어

    • 개체 유형이 Global 인 경우 개체 이름은 와일드카드(*)로 설정하여 지정된 유형의 모든 개체를 나타내야 합니다.
    • 개체 유형이 Collection 인 경우 개체 이름은 컬렉션의 이름입니다.
    • 개체 유형이 User 인 경우 개체 이름은 데이터베이스 사용자의 이름입니다.
  • 사용자: 사용자 이름과 해당 비밀번호로 구성된 Milvus와 상호 작용하는 사람 또는 애플리케이션입니다.

  • 권한: 수행할 수 있는 작업과 액세스할 수 있는 리소스를 정의합니다. 권한은 사용자에게 직접 부여되지 않고 역할에 할당됩니다.

  • 역할: 사용자가 특정 개체에 대해 갖는 권한 집합을 정의합니다. 역할이 사용자에게 바인딩되면 사용자는 해당 역할에 부여된 모든 권한을 상속받습니다.

예시: 권한 부여하기

다음 코드 스니펫은 특정 컬렉션의 역할에 CreateIndex 권한을 부여하는 방법을 보여줍니다:

milvusClient.grant_privilege(
    role_name="CUSTOM_ROLE_NAME",
    object_type="Collection",  # Valid value: Global, Collection or User.
    privilege="CreateIndex",   # See the table below for valid privilege names and relevant API descriptions.
    object_name="YOUR_COLLECTION_NAME"  # The name of the collection to grant access to. Use "*" to grant access to all collections.
)
GrantPrivilegeReq grantPrivilegeReq = GrantPrivilegeReq.builder()
        .roleName("roleName")
        .objectName("CollectionName") // The name of the collection to grant access to. Use "*" to grant access to all collections.
        .objectType("Collection") // Valid value: Global, Collection or User.
        .privilege("CreateIndex") // See the table below for valid privilege names and relevant API descriptions.
        .build();
client.grantPrivilege(grantPrivilegeReq);
milvusClient.grantPrivilege({
   roleName: 'roleName',
   object: 'Collection',  // Valid value: Global, Collection or User.
   objectName: 'CollectionName', // The name of the collection to grant access to. Use "*" to grant access to all collections.
   privilegeName: 'CreateIndex' // See the table below for valid privilege names and relevant API descriptions.
 })

권한 관련 API에 대한 자세한 내용은 grant_privilegerevoke_privilege를 참조하세요.

권한 관련 API에 대한 자세한 내용은 grantPrivilegerevokePrivilege를 참조하세요.

권한 관련 API에 대한 자세한 내용은 grantPrivilegerevokePrivilege를 참조하세요.

기본 사용자 및 역할

Milvus는 기본 비밀번호 Milvus 를 사용하여 root 사용자를 기본적으로 생성합니다. root 사용자에게는 admin 권한이 부여되며, 이는 이 root 사용자가 모든 리소스에 액세스하고 모든 작업을 수행할 수 있음을 의미합니다.

public 역할에 연결된 사용자에게는 다음과 같은 권한이 부여됩니다:

  • DescribeCollection
  • ShowCollections
  • IndexDetail

개체 유형 및 권한 목록

다음 표에는 RBAC를 사용 설정할 때 선택할 수 있는 값이 나열되어 있습니다.

개체 유형권한 이름클라이언트 측의 관련 API 설명
CollectionCreateIndexCreateIndex
컬렉션DropIndexDropIndex
컬렉션IndexDetail색인 설명/색인 상태 가져오기/색인 빌드 진행률 가져오기
컬렉션Load로드 컬렉션/로드 진행률/로드 상태 가져오기
컬렉션GetLoadingProgressGetLoadingProgress
컬렉션GetLoadStateGetLoadState
컬렉션ReleaseReleaseCollection
컬렉션Insert삽입
컬렉션삭제삭제
컬렉션UpsertUpsert
컬렉션검색검색
컬렉션Flush플러시/겟플러시 상태
컬렉션GetFlushStateGetFlushState
컬렉션QueryQuery
CollectionGetStatisticsGetCollectionStatistics
컬렉션압축Compact
CollectionImport대량 삽입/가져오기
CollectionLoadBalanceLoadBalance
컬렉션CreatePartitionCreatePartition
컬렉션DropPartition드롭 파티션
컬렉션파티션 표시파티션 표시
컬렉션HasPartitionHasPartition
GlobalAll이 표의 모든 API 작업 권한
GlobalCreateCollectionCreateCollection
글로벌DropCollectionDropCollection
글로벌컬렉션 설명DescribeCollection
글로벌쇼 컬렉션쇼 컬렉션
글로벌RenameCollectionRenameCollection
GlobalFlushAllFlushAll
GlobalCreateOwnershipCreateUser CreateRole
글로벌DropOwnership삭제 자격 증명 드롭 역할
글로벌SelectOwnershipSelectRole/SelectGrant
글로벌ManageOwnership운영 사용자 역할 운영 권한
글로벌CreateResourceGroupCreateResourceGroup
글로벌DropResourceGroupDropResourceGroup
글로벌자원 그룹 설명자원 그룹 설명
Global리소스 그룹 목록리소스 그룹 리스트
Global전송 노드전송 노드
GlobalTransferReplicaTransferReplica
GlobalCreateDatabaseCreateDatabase
글로벌DropDatabaseDropDatabase
글로벌목록 데이터베이스목록 데이터베이스
Global별칭 만들기별칭 만들기
글로벌DropAliasDropAlias
Global별칭 설명별칭 설명
GlobalListAliasesListAliases
UserUpdateUserUpdateCredential
사용자SelectUserSelectUser
  • 개체 및 권한 이름은 대소문자를 구분합니다.
  • 컬렉션, 전역, 사용자 등의 개체에 모든 권한을 부여하려면 권한 이름에 "*"를 사용합니다.
  • 모든 권한에는 컬렉션 및 사용자 개체를 포함한 모든 권한이 포함되므로 Global 개체의 "*" 권한 이름에는 모든 권한이 포함되지 않습니다.
  • 다음 단계

    번역DeepL

    Try Managed Milvus for Free

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

    Get Started
    피드백

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