Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Important
Synapse Link для Cosmos DB больше не поддерживается для новых проектов. Не используйте эту функцию.
Пожалуйста, используйте функцию зеркалирования Azure Cosmos DB для Microsoft Fabric, которая теперь доступна в общей доступности (GA). Зеркальное отображение обеспечивает те же преимущества нулевого ETL и полностью интегрировано с Microsoft Fabric. Дополнительные сведения см. в Обзоре зеркалирования Cosmos DB.
Из этой статьи вы узнаете, как настроить управляемые частные конечные точки для аналитического хранилища Azure Cosmos DB. Если вы используете транзакционное хранилище, перейдите к статье Частные конечные точки для транзакционного хранилища. С помощью управляемых частных конечных точек вы можете ограничить сетевой доступ к аналитическому хранилищу Azure Cosmos DB, разрешая доступ только из управляемой виртуальной сети, связанной с рабочей областью Azure Synapse. Управляемые приватные конечные точки позволяют создать приватное подключение к аналитическому хранилищу.
Замечание
Если вы используете частные DNS-зоны для Azure Cosmos DB и хотите создать управляемую частную конечную точку Synapse для подресурса аналитического хранилища, необходимо предварительно создать DNS-зону для аналитического хранилища (privatelink.analytics.cosmos.azure.com), связанную с виртуальной сетью Azure Cosmos DB.
Активировать частную конечную точку для аналитического хранилища
Настройка рабочей области Azure Synapse Analytics с управляемой виртуальной сетью и извлечением данных
Создайте рабочую область в Azure Synapse Analytics с возможностью утечки данных. Защита от кражи данных позволяет гарантировать, что злоумышленники не смогут копировать или передавать данные из ресурсов Azure в расположения за пределами организации.
Когда включена защита от кражи данных для рабочей области Azure Synapse Analytics, применяются следующие ограничения доступа:
Если вы используете Azure Spark для Azure Synapse Analytics, доступ разрешается только утвержденным управляемым частным конечным точкам аналитического хранилища Azure Cosmos DB.
Если вы используете бессерверные пулы SQL в Synapse, вы можете обращаться к любой учетной записи Azure Cosmos DB с помощью Azure Synapse Link. Но любые запросы на запись, которые создают внешние таблицы операцией SELECT (CETAS), разрешены только утвержденным частным конечным точкам управления в виртуальной сети рабочей области.
Замечание
Конфигурацию управляемой виртуальной сети и защиты от кражи данных невозможно изменить после создания рабочей области.
Добавление частных конечных точек для аналитического хранилища Azure Cosmos DB
Замечание
Чтобы выполнить некоторые из приведенных ниже действий, необходимо временно изменить конфигурацию сети учетной записи Azure Cosmos DB. Перейдите на вкладку «Сеть» на портале, затем щелкните параметры «Принять подключения из общедоступных центров обработки данных Azure» и «Добавить IP-адреса промежуточного ПО портала Azure». После настройки частной конечной точки можно вернуть это действие и отключить доступ.
Войдите на портал Azure.
На портале Azure перейдите к рабочей области Synapse Analytics и откройте панель Обзор.
Запустите Synapse Studio, перейдя в область Начало работы и выбрав операцию Открыть в разделе Открыть Synapse Studio.
В Synapse Studio откройте вкладку Управление.
Перейдите к разделу Управляемые частные конечные точки и щелкните Создать.
Выберите тип учетной записи Azure Cosmos DB (API для NoSQL)>Продолжить.
Заполните форму New managed private endpoint (Новая управляемая частная конечная точка) следующими сведениями:
- Имя: имя управляемой частной конечной точки. Это имя невозможно изменить после создания.
- Описание: введите понятное описание для частной конечной точки.
- Подписка Azure: выберите учетную запись Azure Cosmos DB из списка учетных записей, доступных в ваших подписках Azure.
- Имя учетной записи Azure Cosmos DB: выберите существующую учетную запись Azure Cosmos DB с типом SQL или MongoDB.
- Целевой вложенный ресурс — выберите один из следующих вариантов: Аналитический: если вы хотите добавить частную конечную точку для аналитического хранилища Azure Cosmos DB. NoSQL (или MongoDB): если вы хотите добавить конечную точку OLTP или транзакционной учетной записи.
Замечание
Вы можете добавить частные конечные точки хранилища транзакций и аналитического хранилища в одну учетную запись Azure Cosmos DB в рабочей области Azure Synapse Analytics. Если вы хотите выполнять только аналитические запросы, может потребоваться лишь сопоставить аналитическую частную конечную точку.
После создания перейдите к имени частной конечной точки и выберите Manage approvals in Azure portal (Управление утверждениями на портале Azure).
Перейдите к своей учетной записи Azure Cosmos DB, выберите частную конечную точку и щелкните Утвердить.
Вернитесь к рабочей области Synapse Analytics и щелкните Обновить на панели Управляемые частные конечные точки. Убедитесь, что частная конечная точка находится в состоянии Утверждено.
Использование Apache Spark для Azure Synapse Analytics
Если вы создали рабочую область Azure Synapse с включенной защитой от кражи данных, то исходящий доступ из Synapse Spark к учетным записям Azure Cosmos DB будет заблокирован по умолчанию. Кроме того, если у Azure Cosmos DB уже есть частная конечная точка, Synapse Spark не сможет к ней обращаться.
Чтобы разрешить доступ к данным в Azure Cosmos DB, сделайте следующее:
Если вы используете Azure Synapse Link для запроса данных из Azure Cosmos DB, добавьте управляемую частную конечную точку с типом Аналитический для учетной записи Azure Cosmos DB.
Если вы используете пакетные или потоковые операции записи или чтения в хранилище транзакций, добавьте управляемую частную конечную точку SQL или MongoDB для учетной записи Azure Cosmos DB. Кроме того, нужно указать для параметра connectionMode значение Gateway, как показано в следующем фрагменте кода:
# Write a Spark DataFrame into an Azure Cosmos DB container # To select a preferred lis of regions in a multi-region account, add .option("spark.cosmos.preferredRegions", "<Region1>, <Region2>") YOURDATAFRAME.write\ .format("cosmos.oltp")\ .option("spark.synapse.linkedService", "<your-Cosmos-DB-linked-service-name>")\ .option("spark.cosmos.container","<your-Cosmos-DB-container-name>")\ .option("spark.cosmos.write.upsertEnabled", "true")\ .option("spark.cosmos.connection.mode", "Gateway")\ .mode('append')\ .save()
Использование бессерверного пула SQL в Synapse
Бессерверные пулы SQL Synapse используют мультитенантные возможности, которые не развертываются в управляемой виртуальной сети. Если учетная запись Azure Cosmos DB имеет существующую частную конечную точку, бессерверный пул SQL Synapse не сможет получить доступ к такой учетной записи из-за контроля сетевой изоляции в учетной записи Azure Cosmos DB.
Чтобы настроить для этой учетной записи доступ в режиме сетевой изоляции из рабочей области Synapse, сделайте следующее:
Разрешите рабочей области Azure Synapse доступ к учетной записи Azure Cosmos DB, указав параметр
NetworkAclBypassResourceIdв учетной записи.Использование PowerShell
Update-AzCosmosDBAccount -Name MyCosmosDBDatabaseAccount -ResourceGroupName MyResourceGroup -NetworkAclBypass AzureServices -NetworkAclBypassResourceId "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Synapse/workspaces/wsName"Использование Azure CLI
az cosmosdb update --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup --network-acl-bypass AzureServices --network-acl-bypass-resource-ids "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Synapse/workspaces/wsName"Замечание
Учетная запись Azure Cosmos DB и рабочая область Azure Synapse Analytics должны находиться в одном клиенте Microsoft Entra.
Теперь вы можете обращаться к учетной записи из бессерверных пулов SQL и выполнять в ней запросы T-SQL через Azure Synapse Link. Однако, чтобы гарантировать сетевую изоляцию данных в аналитическом хранилище, необходимо добавить в эту учетную запись управляемую частную конечную точку с типом Аналитический. В противном случае данные в аналитическом хранилище не будут защищены от общего доступа.
Important
Если вы используете Azure Synapse Link и вам нужна сетевая изоляция данных в аналитическом хранилище, вам нужно отобразить учетную запись Azure Cosmos DB в рабочую область Synapse с помощью управляемой частной конечной точки типа Analytical.
Дальнейшие действия
- Ознакомьтесь с запросами к аналитическому хранилищу, выполняемыми с помощью Azure Synapse Spark 3.
- Ознакомьтесь с запросами к аналитическому хранилищу, выполняемыми с помощью Azure Synapse Spark 2.
- Ознакомьтесь с запросами к аналитическому хранилищу, выполняемыми с помощью бессерверных пулов SQL в Azure Synapse.