ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для PostgreSQL — гибкий сервер
В этой статье приведены пошаговые инструкции по включению или отключению управляемого удостоверения, назначаемого системой, для гибкого сервера База данных Azure для PostgreSQL.
В случае использования портала Azure выполните следующие действия:
Найдите сервер на портале, если от еще не открыт. Одним из способов этого является ввод имени сервера в строке поиска. Когда отображается ресурс с соответствующим именем, выберите этот ресурс.
В меню ресурсов в разделе "Безопасность" выберите "Удостоверение".
В разделе управляемого удостоверения, назначаемого системой, нажмите кнопку "Вкл.".
Выберите Сохранить.
По завершении процесса уведомление сообщает о том, что назначенное системой управляемое удостоверение включено.
Команда az postgres flexible-server update не предоставляет встроенную поддержку для включения и отключения управляемого удостоверения, назначенного системой. В качестве обходного решения можно использовать команду az rest , чтобы напрямую вызвать серверы — обновить REST API.
# Enable system assigned managed identity
subscriptionId=<subscription-id>
resourceGroup=<resource-group>
server=<server>
result=$(az postgres flexible-server show --resource-group $resourceGroup --name $server --query "identity.type" --output tsv)
if [ -z "$result" ]; then
az rest --method patch --url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/$server?api-version=2024-08-01 --body '{"identity":{"type":"SystemAssigned"}}'
elif [ "$result" == "UserAssigned" ]; then
az rest --method patch --url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/$server?api-version=2024-08-01 --body '{"identity":{"type":"SystemAssigned,UserAssigned"}}'
else
echo "System Assigned Managed identity is already enabled."
fi
В случае использования портала Azure выполните следующие действия:
Найдите сервер на портале, если от еще не открыт. Одним из способов этого является ввод имени сервера в строке поиска. Когда отображается ресурс с соответствующим именем, выберите этот ресурс.
В меню ресурсов в разделе "Безопасность" выберите "Удостоверение".
В разделе "Назначаемое системой управляемое удостоверение " нажмите кнопку "Выкл.
Выберите Сохранить.
По завершении процесса уведомление сообщает, что назначенное системой управляемое удостоверение отключено.
Команда az postgres flexible-server update не предоставляет встроенную поддержку для включения и отключения управляемого удостоверения, назначенного системой. В качестве обходного решения можно использовать команду az rest , чтобы напрямую вызвать серверы — обновить REST API.
# Disable system assigned managed identity
subscriptionId=<subscription-id>
resourceGroup=<resource-group>
server=<server>
result=$(az postgres flexible-server show --resource-group $resourceGroup --name $server --query "identity.type" --output tsv)
if [ "$result" == "SystemAssigned" ]; then
az rest --method patch --url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/$server?api-version=2024-08-01 --body '{"identity":{"type":"None"}}'
elif [ "$result" == "SystemAssigned,UserAssigned" ]; then
echo "System Assigned Managed identity cannot be disabled as the instance has User Assigned Managed identities assigned."
else
echo "System Assigned Managed identity is already disabled."
fi
Шаги для отображения назначенных в настоящее время
В случае использования портала Azure выполните следующие действия:
Найдите сервер на портале, если от еще не открыт. Одним из способов этого является ввод имени сервера в строке поиска. Когда отображается ресурс с соответствующим именем, выберите этот ресурс.
В меню ресурсов выберите "Обзор"
Выберите представление JSON.
На открывающейся панели JSON ресурса найдите свойство удостоверения и в нем можно найти субъект-идентификатор и идентификатор клиента для назначаемого системой управляемого удостоверения.
# Show the system assigned managed identity
resourceGroup=<resource-group>
server=<server>
az postgres flexible-server identity list --resource-group $resourceGroup --server-name $server --query "{principalId:principalId, tenantId:tenantId}" --output table
Действия по проверке в идентификаторе Microsoft Entra
В случае использования портала Azure выполните следующие действия:
Найдите службу корпоративных приложений на портале, если она не открыта. Один из способов сделать это — ввести его имя в строке поиска. Когда отображается служба с соответствующим именем, выберите ее.
Выберите тип приложения == Управляемое удостоверение.
Укажите имя экземпляра База данных Azure для PostgreSQL гибкого сервера в текстовом поле поиска по имени приложения или идентификатору объекта.
# Verify the system assigned managed identity
server=<server>
az ad sp list --display-name $server