milvus-logo
LFAI
Home
  • Guía de administración

Usuarios, Privilegios y Roles

Este tema proporciona una visión general del Control de Acceso Basado en Roles (RBAC) en Milvus, detallando las definiciones y relaciones entre usuarios, roles, objetos y privilegios.

La siguiente figura ilustra la relación entre objetos, privilegios, roles y usuarios.

users_and_roles usuarios_y_roles

Conceptos clave

Para gestionar el control de acceso a los recursos de Milvus, es importante comprender los componentes clave de RBAC: tipos de objetos, nombres de objetos, usuarios, roles y privilegios.

  • Tipo de objeto: la categoría del objeto al que se asigna un privilegio. El tipo de objeto puede ser:

    • Global: Objetos de todo el sistema, que permiten al usuario realizar acciones que afectan a todas las colecciones, usuarios o configuraciones de todo el sistema.
    • Collection: Objetos específicos de la colección, que permiten al usuario realizar acciones como crear índices, cargar datos, insertar o eliminar datos y consultar datos dentro de una colección específica.
    • User: Objetos relacionados con la gestión de usuarios, que permiten al usuario gestionar las credenciales y los roles de los usuarios de la base de datos, como actualizar las credenciales de usuario o ver los detalles de los usuarios.
  • Nombre del objeto: el nombre específico del objeto para el que se desea controlar el acceso. Por ejemplo:

    • Si el tipo de objeto es Global, el nombre del objeto debe establecerse con el comodín (*), indicando todos los objetos del tipo especificado.
    • Si el tipo de objeto es Collection, el nombre del objeto es el nombre de una colección.
    • Si el tipo de objeto es User, el nombre del objeto es el nombre de un usuario de la base de datos.
  • Usuario: una persona o una aplicación que interactúa con Milvus, que consiste en un nombre de usuario y una contraseña correspondiente.

  • Privilegio: define las acciones que se pueden realizar y los recursos a los que se puede acceder. Los privilegios no se conceden directamente a los usuarios, sino que se asignan a roles.

  • Rol: define el conjunto de privilegios que tiene un usuario para determinados objetos. Una vez que se asigna un rol a un usuario, éste hereda todos los privilegios concedidos a dicho rol.

Ejemplo: Concesión de privilegios

El siguiente fragmento de código muestra cómo conceder un privilegio CreateIndex a un rol sobre una colección 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 obtener más información sobre las API relacionadas con privilegios, consulte grant_privilege y revoke_privilege.

Para obtener más información sobre las API relacionadas con privilegios, consulte grantPrivilege y revokePrivilege.

Para obtener más información sobre las API relacionadas con privilegios, consulte grantPrivilege y revokePrivilege.

Usuarios y roles por defecto

Milvus crea por defecto un usuario root con una contraseña por defecto Milvus. Al usuario root se le conceden los privilegios admin, lo que significa que este usuario root puede tener acceso a todos los recursos y realizar todas las acciones.

Si a un usuario se le asocia el rol public, tendrá derecho a los siguientes privilegios:

  • DescribeCollection
  • ShowCollections
  • IndexDetail

Lista de tipos de objeto y privilegios

En la siguiente tabla se enumeran los valores que puede elegir al habilitar RBAC.

Tipo de objetoNombre del privilegioDescripción de la API relevante en el lado del cliente
ColecciónCreateIndexCrearíndice
ColecciónDropIndexDropIndex
ColecciónIndexDetailDescribeIndex/GetIndexState/GetIndexBuildProgress
ColecciónCargarLoadCollection/GetLoadingProgress/GetLoadState
ColecciónGetLoadingProgressGetLoadingProgress
ColecciónGetLoadStateObtener estado de carga
ColecciónLiberaciónLiberarColección
ColecciónInsertarInsertar
ColecciónBorrarBorrar
ColecciónInsertarUpsert
ColecciónBuscar enBuscar en
ColecciónDescargaDescarga/GetFlushState
ColecciónGetFlushStateGetFlushState
ColecciónConsultaConsulta
ColecciónGetStatisticsObtener estadísticas de la colección
ColecciónCompactaciónCompactación
ColecciónImportarImportación/Inserción masiva
ColecciónLoadBalanceBalance de carga
ColecciónCrearParticiónCrearPartición
ColecciónDropPartitionDropPartition
ColecciónMostrarParticionesMostrarParticiones
ColecciónTieneParticiónTienePartición
GlobalTodosTodos los permisos de operación de la API en esta tabla
GlobalCrearColecciónCrearColección
GlobalDropCollectionDropCollection
GlobalDescribirColecciónDescribeCollection
GlobalMostrarColeccionesMostrarColecciones
GlobalRenombrarColecciónRenombrarColección
GlobalLimpiarTodoLimpiarTodo
GlobalCrearPropiedadCrearUsuario CrearRol
GlobalEliminarPropiedadEliminarCredencial DropRole
GlobalSeleccionarPropiedadSelectRole/SelectGrant
GlobalGestionarPropiedadOperateUserRole OperatePrivilege
GlobalCreateResourceGroupCrear grupo de recursos
GlobalDropResourceGroupDropResourceGroup
GlobalDescribeResourceGroupDescribeResourceGroup
GlobalListResourceGroupsListResourceGroups
GlobalNodo de transferenciaNodo de transferencia
GlobalRéplica de transferenciaRéplica de transferencia
GlobalCrearBaseDeDatosCrearBaseDeDatos
GlobalDropDatabaseDropDatabase
GlobalListDatabasesBasesDeDatosDeLista
GlobalCrear aliasCrear alias
GlobalDropAliasDropAlias
GlobalDescribeAliasDescribeAlias
GlobalListAliasesLista de alias
UsuarioActualizarUsuarioUpdateCredential
UsuarioSeleccionarUsuarioSeleccionarUsuario
  • Los nombres de objetos y privilegios distinguen entre mayúsculas y minúsculas.
  • Para conceder todos los privilegios a un tipo de objeto, como Colección, Global, Usuario, utilice "*" para el nombre del privilegio.
  • El nombre de privilegio "*" para el objeto Global no incluye el privilegio Todos, porque el privilegio Todos incluye todos los permisos, incluido cualquier objeto de colección y usuario.
  • A continuación

    Traducido porDeepL

    Try Managed Milvus for Free

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

    Get Started
    Feedback

    ¿Fue útil esta página?