milvus-logo
LFAI
Home
  • Conceitos

Utilizadores e Funções

Este tópico fornece uma visão geral do Controlo de Acesso Baseado em Funções (RBAC) em Milvus, detalhando as definições e relações entre utilizadores, funções, objectos e privilégios.

A figura a seguir ilustra a relação entre objetos, privilégios, funções e usuários.

users_and_roles utilizadores_e_papéis

Conceitos-chave

Para gerir o controlo de acesso aos recursos Milvus, é importante compreender os principais componentes do RBAC: tipos de objectos, nomes de objectos, utilizadores, funções e privilégios.

  • Tipo de objeto: a categoria do objeto ao qual está a ser atribuído um privilégio. O tipo de objeto pode ser:

    • Global: Objectos de todo o sistema, permitindo ao utilizador executar acções que afectam todas as colecções, utilizadores ou definições de todo o sistema.
    • Collection: Objectos específicos da coleção, que permitem ao utilizador executar acções como criar índices, carregar dados, inserir ou eliminar dados e consultar dados dentro de uma coleção específica.
    • User: Objectos relacionados com a gestão de utilizadores, que permitem ao utilizador gerir credenciais e funções para utilizadores da base de dados, tais como atualizar credenciais de utilizador ou visualizar detalhes do utilizador.
  • Nome do objeto: o nome específico do objeto para o qual se pretende controlar o acesso. Por exemplo:

    • Se o tipo de objeto for Global, o nome do objeto deve ser definido como curinga (*), indicando todos os objetos do tipo especificado.
    • Se o tipo de objeto for Collection, o nome do objeto é o nome de uma coleção.
    • Se o tipo de objeto for User, o nome do objeto é o nome de um utilizador da base de dados.
  • Utilizador: uma pessoa ou uma aplicação que interage com o Milvus, que consiste num nome de utilizador e numa palavra-passe correspondente.

  • Privilégio: define as acções que podem ser executadas e os recursos a que se pode aceder. Os privilégios não são concedidos diretamente aos utilizadores, mas são atribuídos a funções.

  • Função: define o conjunto de privilégios que um utilizador tem para determinados objectos. Quando uma função está associada a um utilizador, este herda todos os privilégios concedidos a essa função.

Exemplo: Concessão de privilégios

O seguinte trecho de código mostra como conceder um privilégio CreateIndex a uma função numa coleção específica:

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.
 })

Para obter mais informações sobre APIs relacionadas a privilégios, consulte grant_privilege e revoke_privilege.

Para obter mais informações sobre APIs relacionadas a privilégios, consulte grantPrivilege e revokePrivilege.

Para obter mais informações sobre as APIs relacionadas com privilégios, consulte grantPrivilege e revokePrivilege.

Utilizadores e funções predefinidos

Por predefinição, o Milvus cria um utilizador root com uma palavra-passe predefinida Milvus. Ao utilizador root são concedidos os privilégios admin, o que significa que este utilizador root pode ter acesso a todos os recursos e executar todas as acções.

Se um utilizador estiver associado à função public, tem direito aos seguintes privilégios:

  • DescribeCollection
  • ShowCollections
  • IndexDetail

Lista de tipos de objectos e privilégios

A tabela seguinte lista os valores que pode selecionar ao ativar o RBAC.

Tipo de objetoNome do privilégioDescrição da API relevante no lado do cliente
ColeçãoCriarIndexCriar índice
ColeçãoDropIndexÍndice de gotas
ColeçãoDetalhes do índiceDescreverIndex/GetIndexState/GetIndexBuildProgress
ColeçãoCarregarLoadCollection/GetLoadingProgress/GetLoadState
ColeçãoGetLoadingProgressObterProgresso de Carregamento
ColeçãoGetLoadStateObterEstado de Carga
ColeçãoLibertaçãoReleaseCollection
ColeçãoInserirInserir
ColeçãoEliminarEliminar
ColeçãoUpsertInserir
ColeçãoPesquisarPesquisar
ColeçãoDescargaDescarga/GetFlushState
ColeçãoGetFlushStateObterFlushState
ColeçãoConsultaConsulta
ColeçãoObterEstatísticasObter estatísticas da coleção
ColeçãoCompactaçãoCompactar
ColeçãoImportarInserção/Importação em massa
ColeçãoBalanceamento de cargaLoadBalance
ColeçãoCriarPartiçãoCriarPartição
ColeçãoDropPartitionDropPartition
ColeçãoMostrarPartiçõesShowPartitions
ColeçãoTemPartiçãoTemPartição
GlobalTodasTodas as permissões de operação da API nesta tabela
GlobalCriar coleçãoCriar coleção
GlobalDropCollectionColeção de gotas
GlobalDescrever coleçãoDescreverColeção
GlobalMostrar colecçõesMostrar colecções
GlobalRenomear coleçãoRenomear coleção
GlobalFlushAllFlushAll
GlobalCriarPropriedadeCriarUsuário CriarFunção
GlobalDropOwnershipDeleteCredential DropRole
GlobalSelectOwnershipSelectRole/SelectGrant
GlobalManageOwnershipOperateUserRole OperatePrivilege
GlobalCreateResourceGroup (criar grupo de recursos)CriarGrupo de Recursos
GlobalDropResourceGroupDropResourceGroup
GlobalDescreverResourceGroupDescreverGrupo de Recursos
GlobalListResourceGroupsListar grupos de recursos
GlobalTransferNodeNó de transferência
GlobalTransferReplicaTransferReplica
GlobalCriarBaseDeDadosCriarBaseDeDados
GlobalDropDatabaseDropDatabase
GlobalListar bases de dadosListDatabases
GlobalCriarAliasCriarAlias
GlobalDropAliasDropAlias
GlobalDescreverAliasDescreverAlias
GlobalListAliasesListAliases
UtilizadorUpdateUserActualizarCredencial
UtilizadorSelectUserSelectUser
  • Os nomes dos objectos e dos privilégios são sensíveis a maiúsculas e minúsculas.
  • Para conceder todos os privilégios a um tipo de objeto, como Coleção, Global, Utilizador, utilize "*" para o nome do privilégio.
  • O nome de privilégio "*" para o objeto Global não inclui o privilégio Todos, porque o privilégio Todos inclui todas as permissões, incluindo qualquer coleção e objeto de utilizador.
  • O que se segue

    Traduzido porDeepLogo

    Try Managed Milvus for Free

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

    Get Started
    Feedback

    Esta página foi útil?