Использование аутентификации
По умолчанию доступ к ресурсам служб ИИ Azure ограничен с помощью ключей подписки. Управление доступом к этим ключам является основным аспектом безопасности.
Создание ключей
Повторно создавать ключи нужно регулярно, чтобы к ним не получили доступ неавторизованные пользователи. Вы можете повторно создать ключи с помощью портал Azure или с помощью az cognitiveservices account keys regenerate
команды интерфейса командной строки Azure.
Каждая служба ИИ предоставляется двумя ключами, что позволяет повторно создавать ключи без прерывания работы службы. Для этого:
- Если вы используете оба ключа в рабочей среде, измените код таким образом, чтобы использовать только один ключ. Например, настройте все рабочие приложения для использования ключа 1.
- Повторно создайте ключ 2.
- Переключите все рабочие приложения, чтобы использовать только что созданный ключ 2.
- Повторно создайте ключ 1.
- Наконец, обновите рабочий код, чтобы использовать новый ключ 1.
Например, чтобы повторно создать ключи в портал Azure, можно выполнить следующее:
- В портал Azure перейдите на панель "Ключи и конечная точка" ресурса.
- Затем выберите "Повторно создать ключ1" или выберите "Повторно создать ключ2", в зависимости от того, какой из них вы хотите повторно создать в то время.
Защита ключей с помощью Azure Key Vault
Azure Key Vault — это служба Azure, в которой можно безопасно хранить секреты (например, пароли и ключи). Доступ к хранилищу ключей предоставляется субъектам безопасности, которые можно думать о удостоверениях пользователей, прошедших проверку подлинности с помощью идентификатора Microsoft Entra. Администраторы могут назначить для приложения субъект безопасности (в таком случае он называется субъектом-службой), чтобы определить управляемое удостоверение для приложения. Затем приложение может использовать это удостоверение для доступа к хранилищу ключей и получения секрета, к которому оно имеет доступ. Такой контроль доступа к секрету снижает риск его компрометации, так как он жестко запрограммирован в приложении или хранится в файле конфигурации.
Ключи подписки для ресурса служб ИИ можно сохранить в Azure Key Vault и назначить управляемое удостоверение клиентским приложениям, которым требуется использовать службу. Затем приложения могут при необходимости получать ключ из хранилища ключей таким образом, который исключает доступ к нему неавторизованных пользователей.
Проверка подлинности на основе токенов
При использовании интерфейса REST некоторые службы ИИ поддерживают (или даже требуют) проверку подлинности на основе маркеров. В таких случаях ключ подписки предоставляется в исходном запросе на получение маркера аутентификации с периодом действия длительностью 10 минут. Последующие запросы должны предоставлять маркер, чтобы подтвердить, что вызывающий объект прошел аутентификацию.
Совет
При использовании пакета SDK вызовы для получения и предоставления маркера обрабатываются пакетом SDK.
Проверка подлинности идентификатора Microsoft Entra
Службы ИИ Azure поддерживают проверку подлинности идентификатора Microsoft Entra, позволяя предоставлять доступ к определенным субъектам-службам или управляемым удостоверениям для приложений и служб, работающих в Azure.
Примечание.
Дополнительные сведения о вариантах проверки подлинности служб ИИ см. в документации по службам ИИ.
Существуют различные способы проверки подлинности в службах ИИ Azure с помощью идентификатора Microsoft Entra, в том числе:
Проверка подлинности с помощью субъектов-служб
Общий процесс проверки подлинности служб ИИ Azure с помощью субъектов-служб выглядит следующим образом:
Создание настраиваемого поддомена
Настраиваемый поддомен можно создавать различными способами, включая портал Azure, Azure CLI или PowerShell.
Например, можно создать поддомен с помощью PowerShell в Azure Cloud Shell. Для этого выберите подписку с помощью следующей команды:
Set-AzContext -SubscriptionName <Your-Subscription-Name>
Затем вы создадите ресурс служб ИИ Azure, указав пользовательский поддомен, выполнив следующие действия:
$account = New-AzCognitiveServicesAccount -ResourceGroupName <your-resource-group-name> -name <your-account-name> -Type <your-account-type> -SkuName <your-sku-type> -Location <your-region> -CustomSubdomainName <your-unique-subdomain-name>
После создания имя поддомена будет возвращено в ответе.
Назначение роли субъекту-службе.
Вы создали ресурс ИИ Azure, связанный с пользовательским поддоменом. Затем вы назначите роль субъекту-службе.
Для начала необходимо зарегистрировать приложение. Для этого выполните следующую команду:
$SecureStringPassword = ConvertTo-SecureString -String <your-password> -AsPlainText -Force
$app = New-AzureADApplication -DisplayName <your-app-display-name> -IdentifierUris <your-app-uris> -PasswordCredentials $SecureStringPassword
При этом создается ресурс приложения.
Затем вы используете команду New-AzADServicePrincipal для создания субъекта-службы и предоставления идентификатора приложения:
New-AzADServicePrincipal -ApplicationId <app-id>
Наконец, вы назначите роль "Пользователи Cognitive Services" субъекту-службе, выполнив следующую команду:
New-AzRoleAssignment -ObjectId <your-service-principal-object-id> -Scope <account-id> -RoleDefinitionName "Cognitive Services User"
Проверка подлинности с помощью управляемых удостоверений
Управляемые удостоверения доступны в двух типах:
- Назначаемое системой управляемое удостоверение: создается управляемое удостоверение и связано с определенным ресурсом, например виртуальной машиной, необходимой для доступа к службам ИИ Azure. При удалении ресурса удостоверение также удаляется.
- Назначаемое пользователем управляемое удостоверение: управляемое удостоверение создается для использования несколькими ресурсами вместо привязки к одному. Она существует независимо от одного ресурса.
Вы можете назначить каждому типу управляемого удостоверения ресурсу во время создания ресурса или после его создания.
Например, предположим, что у вас есть виртуальная машина в Azure, которую вы планируете использовать для ежедневного доступа к службам ИИ Azure. Чтобы включить удостоверение, назначаемое системой для этой виртуальной машины, сначала убедитесь, что у учетной записи Azure есть роль участника виртуальной машины. Затем можно выполнить следующую команду с помощью Azure CLI в терминале Azure Cloud Shell:
az vm identity assign -g <my-resource-group> -n <my-vm>
Затем вы можете предоставить доступ к службам ИИ Azure в портал Azure, используя следующее:
Перейдите к ресурсу служб искусственного интеллекта Azure, которому требуется предоставить доступ к управляемому удостоверению виртуальной машины.
На панели обзора выберите элемент управления доступом (IAM).
Выберите Добавить, затем выберите Добавить назначение ролей.
На вкладке "Роль" выберите "Участник Cognitive Services".
На вкладке "Члены" выберите "Назначить доступ" и выберите "Управляемое удостоверение". Затем нажмите кнопку +Выбрать участников.
Убедитесь, что ваша подписка выбрана в раскрывающемся списке "Подписка". Для управляемого удостоверения выберите виртуальную машину.
Выберите виртуальную машину в списке и нажмите кнопку "Выбрать".
Наконец, нажмите кнопку "Проверка и назначение для проверки", а затем проверьте и назначьте еще раз, чтобы завершить работу.
Примечание.
Дополнительные сведения о настройке управляемых удостоверений, включая удостоверения, управляемые пользователем, см. в статье "Настройка управляемых удостоверений для ресурсов Azure на виртуальной машине Azure с помощью Azure CLI"