Rollbaserad åtkomstkontroll i Azure Cosmos DB för MongoDB

Azure Cosmos DB for MongoDB exponerar ett inbyggt rollbaserat åtkomstkontrollsystem som gör att du kan auktorisera dina databegäranden med en detaljerad rollbaserad behörighetsmodell. Användare och roller finns i en databas och hanteras med hjälp av Azure CLI, Azure PowerShell eller Azure Resource Manager (ARM).

Huvudkoncept

Det finns en uppsättning grundläggande begrepp som du behöver förstå innan du arbetar med rollbaserad åtkomstkontroll i Azure Cosmos DB för MongoDB.

Resource

En resurs är en samling eller databas som vi tillämpar åtkomstkontrollregler på.

Privilegier

Behörigheter är åtgärder som kan utföras på en specifik resurs. Till exempel "läsåtkomst till samling xyz". Behörigheter tilldelas till en specifik roll.

Role

En roll har en eller flera behörigheter. Roller tilldelas till användare (noll eller fler) så att de kan utföra de åtgärder som definieras i dessa privilegier. Roller lagras i en enda databas.

Granskning av diagnostiklogg

En annan kolumn med namnet userId visas i MongoRequests tabellen i Azure-portalens diagnostikfunktion. Den här kolumnen visar vilken användare som utförde varje dataplansåtgärd. Värdet i den här kolumnen förblir tomt när rollbaserad åtkomstkontroll inte är aktiverad.

Privilegier

Den här listan innehåller alla behörigheter som är tillgängliga för roller i Azure Cosmos DB för MongoDB.

  • Fråga och skriva
    • find
    • insert
    • remove
    • update
  • Ändra strömmar
    • changeStream
  • Databashantering
    • createCollection
    • createIndex
    • dropCollection
    • killCursors
    • killAnyCursor
  • Serveradministration
    • dropDatabase
    • dropIndex
    • reIndex
  • Diagnostik
    • collStats
    • dbStats
    • listDatabases
    • listCollections
    • listIndexes

Inbyggda roller

De här rollerna finns redan i varje databas och behöver inte skapas.

read readWrite dbAdmin dbOwner
changeStream ✅ Ja ✅ Ja ✅ Ja ✅ Ja
collStats ✅ Ja ✅ Ja ✅ Ja ✅ Ja
listCollections ✅ Ja ✅ Ja ✅ Ja ✅ Ja
listIndexes ✅ Ja ✅ Ja ✅ Ja ✅ Ja
createCollection ✖️ Nej ✅ Ja ✅ Ja ✅ Ja
createIndex ✖️ Nej ✅ Ja ✅ Ja ✅ Ja
dropCollection ✖️ Nej ✅ Ja ✅ Ja ✅ Ja
dbStats ✖️ Nej ✖️ Nej ✅ Ja ✅ Ja
dropDatabase ✖️ Nej ✖️ Nej ✅ Ja ✅ Ja
reIndex ✖️ Nej ✖️ Nej ✅ Ja ✅ Ja
find ✅ Ja ✅ Ja ✖️ Nej ✅ Ja
killCursors ✅ Ja ✅ Ja ✖️ Nej ✅ Ja
dropIndex ✖️ Nej ✅ Ja ✅ Ja ✅ Ja
insert ✖️ Nej ✅ Ja ✖️ Nej ✅ Ja
remove ✖️ Nej ✅ Ja ✖️ Nej ✅ Ja
update ✖️ Nej ✅ Ja ✖️ Nej ✅ Ja