Dela via


Säkerhetsreferens för Azure Cosmos DB för NoSQL-dataplan

Azure Cosmos DB for NoSQL exponerar en unik uppsättning dataåtgärder och roller i den inbyggda rollbaserade implementeringen av åtkomstkontroll. Den här artikeln innehåller en lista över dessa åtgärder och roller med beskrivningar om vilka behörigheter som beviljas för varje resurs.

Varning

Azure Cosmos DB för NoSQL:s inbyggda rollbaserade åtkomstkontroll stöder inte egenskapen notDataActions . Alla åtgärder som inte anges som tillåtna dataAction undantas automatiskt.

Inbyggda åtgärder

Här är en lista över dataåtgärder som kan anges individuellt i en rolldefinition.

Beskrivning
Microsoft.DocumentDB/databaseAccounts/readMetadata Läsa nödvändiga metadata från kontot för dataplansåtgärder
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create Skapar nya objekt
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read Läser specifika objekt genom att utföra en punktläsning med hjälp av partitionsnyckeln och den unika identifieraren
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/replace Ersätter befintliga objekt
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/upsert Skapar ett nytt objekt om det inte finns eller ersätter ett befintligt objekt
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/delete Tar bort ett objekt
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery Kör en NoSQL-fråga
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed Läsningar från containerns ändringsflöde
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeStoredProcedure Kör lagrade procedurer
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/manageConflicts Hantera konflikter för konton med hjälp av konfliktflödet

Anmärkning

Om du vill utföra NoSQL-frågor med hjälp av SDK:er (Software Development Kits) måste du ha både behörigheterna Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery och Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed .

Jokertecken för dataåtgärder

Jokertecken stöds på både container- och objektnivå.

Beskrivning
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/* Utför alla containerspecifika åtgärder som att köra frågor, läsa ändringsflödet, hantera konflikter och köra lagrade procedurer
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/* Utför alla objektspecifika åtgärder som att skapa, läsa, uppdatera, ersätta och ta bort objekt

Inbyggda roller

Azure Cosmos DB för NoSQL definierar dataplansspecifika rolldefinitioner. De här rollerna skiljer sig från rolldefinitioner för rolldefinitioner för Azure-roll för åtkomstkontroll.

Inbyggd Cosmos DB-dataläsare

ID: 00000000-0000-0000-0000-000000000001

  • Inkluderade åtgärder
    • Microsoft.DocumentDB/databaseAccounts/readMetadata
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed

Inbyggd Cosmos DB-datadeltagare

ID: 00000000-0000-0000-0000-000000000002

  • Inkluderade åtgärder
    • Microsoft.DocumentDB/databaseAccounts/readMetadata
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/*
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/*

Nödvändiga metadata

Azure Cosmos DB-programutvecklingspaket (SDK:er) utfärdar skrivskyddade metadatabegäranden under initieringen och för att hantera specifika databegäranden. Dessa begäranden hämtar olika konfigurationsinformation, till exempel:

  • Den globala konfigurationen av ditt konto, som omfattar de Azure-regioner som kontot är tillgängligt i
  • Partitionsnyckeln för dina containrar eller deras indexeringsprincip
  • Listan över fysiska partitioner som skapar en container och deras adresser
  • De hämtar inte någon av de data som lagras i ditt konto

För att säkerställa bästa möjliga transparens i vår behörighetsmodell omfattas dessa metadatabegäranden uttryckligen av dataåtgärden Microsoft.DocumentDB/databaseAccounts/readMetadata . Den här åtgärden måste tillåtas i alla situationer där ditt Azure Cosmos DB-konto nås via någon av Azure Cosmos DB SDK:erna.

Åtgärden kan tilldelas på valfri nivå i ett Azure Cosmos DB-kontohierarki, inklusive konto, databas eller container. De faktiska metadatabegäranden som tillåts beror på omfånget:

  • Konto
    • Visa en lista över databaserna under kontot
    • För varje databas under kontot tillåts åtgärder i databasomfånget
  • Databas
    • Läsa databasmetadata
    • Visa en lista över containrarna under databasen
    • För varje container under databasen är de tillåtna åtgärderna i containeromfånget
  • Behållare
    • Läsa containermetadata
    • Lista fysiska partitioner under containern
    • Lösa adressen för varje fysisk partition

Viktigt!

Du kan inte hantera dataflödet med dataåtgärden Microsoft.DocumentDB/databaseAccounts/readMetadata .