Использование управляемых удостоверений для доступа к Azure Cosmos DB из задания Azure Stream Analytics
Azure Stream Analytics поддерживает проверку подлинности управляемого удостоверения для выходных данных Azure CosmosDB. Управляемые удостоверения устраняют ограничения методов проверки подлинности на основе пользователя, например необходимость повторной аутентификации в связи с изменением пароля или истечением срока действия пользовательского токена, которое наступает каждые 90 дней. При устранении необходимости в ручной проверке подлинности ваши развертывания Stream Analytics можно полностью автоматизировать.
Управляемое удостоверение — это управляемое приложение, зарегистрированное в идентификаторе Microsoft Entra, представляющее заданное задание Stream Analytics. Управляемое приложение используется для проверки подлинности в целевом ресурсе. Дополнительные сведения об управляемых удостоверениях для Azure Stream Analytics см. в этой статье.
В этой статье показано, как включить управляемое удостоверение, назначаемое системой, для выходных данных задания Stream Analytics с помощью портал Azure. Прежде чем включать назначаемое системой управляемое удостоверение, необходимо создать задание Stream Analytics и ресурс Azure Cosmos DB.
Создание управляемого удостоверения
Сначала вы создадите управляемое удостоверение для задания Azure Stream Analytics.
На портале Azure откройте задание Stream Analytics.
В меню навигации слева в разделе Настройка щелкните Управляемое удостоверение. Затем установите флажок Использовать управляемое удостоверение, назначаемое системой и нажмите кнопку Сохранить.
Субъект-служба для удостоверения задания Stream Analytics создается в идентификаторе Microsoft Entra. Жизненным циклом нового удостоверения будет управлять Azure. При удалении задания Stream Analytics Azure автоматически удаляет связанное удостоверение (то есть субъект-службу).
При сохранении конфигурации идентификатор объекта (OID) субъекта-службы указан в качестве идентификатора субъекта-службы, как показано ниже:
Субъект-служба имеет то же имя, что и задание Stream Analytics. Например, если имя задания —
MyASAJob
, имя созданного субъекта-службы будет такжеMyASAJob
.
Предоставление разрешений для заданий Stream Analytics для доступа к учетной записи Azure Cosmos DB
Чтобы задание Stream Analytics для доступа к Azure Cosmos DB с помощью управляемого удостоверения, субъект-служба, созданная вами, должна иметь специальные разрешения для учетной записи Azure Cosmos DB. На этом шаге можно назначить роль назначаемому системой управляемому удостоверению вашего задания Stream Analytics. Azure Cosmos DB имеет несколько встроенных ролей, которые можно назначить управляемому удостоверению. Для этого решения будет использоваться следующая роль:
Встроенная роль |
---|
Встроенный участник данных Cosmos DB |
Внимание
Встроенная система управления доступом на основе ролей (RBAC) Azure Cosmos DB не предоставляется через портал Azure. Чтобы назначить встроенную роль участника данных Cosmos DB, необходимо предоставить разрешение с помощью Azure PowerShell. Дополнительные сведения об управлении доступом на основе ролей с помощью идентификатора Microsoft Entra для учетной записи Azure Cosmos DB см . в документации по учетной записи Azure Cosmos DB на основе ролей с помощью идентификатора Microsoft Entra.
Следующая команда может использоваться для проверки подлинности задания ASA с помощью Azure Cosmos DB. Для $accountName
учетной записи Azure Cosmos DB и $resourceGroupName
$principalId
это значение, полученное на предыдущем шаге, на вкладке "Удостоверение" задания ASA. Для правильной работы этой команды необходимо иметь доступ "Участник" к учетной записи Azure Cosmos DB.
New-AzCosmosDBSqlRoleAssignment -AccountName $accountName -ResourceGroupName $resourceGroupName -RoleDefinitionId '00000000-0000-0000-0000-000000000002' -Scope "/" -PrincipalId $principalId
Примечание.
Из-за задержки глобальной репликации или кэширования может возникнуть задержка при отмене или предоставлении разрешений. Изменения должны отражаться в течение 10 минут. Несмотря на то что тестовое подключение может пройти первоначально, задания могут завершиться ошибкой при запуске до полного распространения разрешений.
Внимание
Если учетная запись CosmosDB не настроена для приема подключений из всех сетей, необходимо выбрать "Принять подключения" в общедоступных центрах обработки данных Azure.
Добавление Azure Cosmos DB в качестве выходных данных
Теперь, когда управляемое удостоверение настроено, вы готовы добавить ресурс Azure Cosmos DB в качестве выходных данных в задание Stream Analytics.
Перейдите к заданию Stream Analytics и откройте страницу Выходные данные в разделе Топология задания.
Выберите "Добавить > Azure Cosmos DB". В окне выходных свойств выполните поиск и выберите учетную запись Azure Cosmos DB и выберите управляемое удостоверение: система, назначенная в раскрывающемся меню режима проверки подлинности.
Укажите остальные свойства и нажмите кнопку Сохранить.