Controle de acesso em nível de coleção em implantações autogerenciadas
Nesta página
O controle de acesso no nível da coleta permite que os administradores concedam aos usuários privilégios que abrangem coletas específicas.
Os administradores podem implementar o controle de acesso em nível de collection por meiode funções definidas pelo usuário . Ao criar uma função com privilégios que abrangem uma coleção específica em um determinado banco de dados de dados, os administradores podem provisionar aos usuários funções que concedem privilégios em um nível de coleção.
Privilégios e escopo
Um privilégio consiste em ações e os recursos mediante os quais as ações são permitidas, ou seja, os recursos definem o escopo das ações do privilégio.
Ao especificar tanto o banco de dados quanto a coleta no documento de recurso para um privilégio, o administrador pode limitar as ações de privilégio apenas a uma coleta específica em um banco de dados específico. Cada ação de privilégio em uma função pode ter como escopo uma coleta diferente.
Por exemplo, uma função definida pelo usuário pode conter os seguintes privilégios:
privileges: [ { resource: { db: "products", collection: "inventory" }, actions: [ "find", "update", "insert" ] }, { resource: { db: "products", collection: "orders" }, actions: [ "find" ] } ]
O primeiro privilégio tem o escopo de suas ações para a collection inventory
do banco de dados products
. O segundo privilégio tem o escopo de suas ações para a collection orders
do banco de dados products
.
Como uma melhor prática, evite atribuir privilégios de createCollection
a usuários que não têm privilégios de leitura na coleção.
Informações adicionais
Para obter mais informações sobre roles definidos pelo usuário e o modelo de autorização do MongoDB , consulte Controle de acesso baseado em role em sistemas autogerenciados. Para obter um tutorial sobre a criação de roles definidos pelo usuário, consulte Gerenciar usuários e roles em sistemas autogerenciados.