Поделиться через


Справочник по безопасности плоскости данных NoSQL для Azure Cosmos DB

Azure Cosmos DB для NoSQL предоставляет уникальный набор действий и ролей данных в собственной реализации управления доступом на основе ролей. В этой статье содержится список этих действий и ролей с описаниями разрешений для каждого ресурса.

Предупреждение

Нативное управление доступом на основе ролей в Azure Cosmos DB для NoSQL не поддерживает свойство notDataActions. Любое действие, которое не указано как разрешенное dataAction , исключается автоматически.

Встроенные действия

Ниже приведен список действий с данными, которые можно задать отдельно в определении роли.

Описание
Microsoft.DocumentDB/databaseAccounts/readMetadata Чтение необходимых метаданных из учетной записи для операций плоскости данных
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create Создает новые элементы
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read Считывает определенные элементы, выполняя чтение точки с помощью ключа секции и уникального идентификатора.
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/replace Заменяет существующие элементы
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/upsert Создает новый элемент, если он не существует или заменяет существующий элемент
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/delete Удаляет элемент
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery Выполняет запрос NoSQL
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed Считывается из канала изменений контейнера
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeStoredProcedure Выполняет хранимые процедуры
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/manageConflicts Управление конфликтами для учетных записей с помощью канала конфликтов

Замечание

Чтобы выполнять запросы NoSQL с помощью пакетов SDK, необходимо иметь как Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery разрешения, так и Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed разрешения.

Подстановочные знаки действия данных

Подстановочные знаки поддерживаются как на уровнях контейнеров, так и в элементах.

Описание
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/* Выполнение всех операций, относящихся к контейнеру, таких как выполнение запросов, чтение канала изменений, управление конфликтами и выполнение хранимых процедур
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/* Выполнение всех операций с определенными элементами, таких как создание, чтение, обновление, замена и удаление элементов

Встроенные роли

Azure Cosmos DB для NoSQL определяет определения ролей конкретной плоскости данных. Эти роли отличаются от определений ролей управления доступом на основе ролей Azure.

Встроенный модуль чтения данных Cosmos DB

Идентификатор: 00000000-0000-0000-0000-000000000001

  • Включенные действия
    • Microsoft.DocumentDB/databaseAccounts/readMetadata
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed

Встроенный участник данных Cosmos DB

Идентификатор: 00000000-0000-0000-0000-000000000002

  • Включенные действия
    • Microsoft.DocumentDB/databaseAccounts/readMetadata
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/*
    • Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/*

Обязательные метаданные

Пакеты средств разработки программного обеспечения Azure Cosmos DB (ПАКЕТЫ SDK) выдают запросы метаданных только для чтения во время инициализации и обслуживать определенные запросы данных. Эти запросы извлекает различные сведения о конфигурации, такие как:

  • Глобальная конфигурация учетной записи, которая включает регионы Azure, в которую доступна учетная запись.
  • Ключ секции контейнеров или их политика индексирования
  • Список физических секций, которые делают контейнер и их адреса
  • Они не получают какие-либо данные, хранящиеся в вашей учетной записи

Чтобы обеспечить оптимальную прозрачность модели разрешений, эти запросы метаданных явно охватываются действием Microsoft.DocumentDB/databaseAccounts/readMetadata данных. Это действие должно быть разрешено в каждой ситуации, когда доступ к учетной записи Azure Cosmos DB осуществляется через один из пакетов SDK Azure Cosmos DB.

Действие можно назначить на любом уровне в иерархии учетной записи Azure Cosmos DB, включая учетную запись, базу данных или контейнер. Фактические запросы метаданных, разрешенные, зависят от области:

  • Учетная запись
    • Перечисление баз данных в учетной записи
    • Для каждой базы данных в учетной записи разрешенные действия в области базы данных
  • База данных
    • Чтение метаданных базы данных
    • Перечисление контейнеров в базе данных
    • Для каждого контейнера в базе данных разрешенные действия в области контейнера
  • Контейнер
    • Чтение метаданных контейнера
    • Перечисление физических секций в контейнере
    • Разрешение адреса каждой физической секции

Это важно

Невозможно управлять пропускной способностью Microsoft.DocumentDB/databaseAccounts/readMetadata с помощью действия данных.