Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Планы Basic, Standardи Enterprise вступили в период вывода из обращения 17 марта 2025 года. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
План стандартного потребления и выделенный план вошли в период вывода из эксплуатации 30 сентября 2024 года, с полным завершением работы к концу марта 2025 года. Дополнительные сведения см. в статье «Миграция потребления и выделенного плана Azure Spring Apps Standard в Azure Container Apps».
Эта статья относится к:✅ Java ✅ C#
Эта статья относится к:✅ Basic/Standard ✅ Enterprise
В этой статье описано, как использовать Key Vault с рабочим процессом CI/CD для Azure Spring Apps с помощью GitHub Actions.
Хранилище ключей — это безопасное место для хранения ключей. Корпоративным пользователям необходимо хранить учетные данные для сред CI/CD в контролируемой области. Ключ доступа к учетным данным в хранилище ключей должен ограничиваться пределами области ресурса. То есть он имеет доступ только к области хранилища ключей, а не ко всей области Azure. Этот ключ можно сравнить с ключом, который отпирает только сейф, а не с главным ключом, который отпирает все двери в здании. Метод доступа к ключу с помощью другого ключа отлично работает в рабочем процессе CICD.
Создание учетных данных
Чтобы создать ключ для доступа к хранилищу ключей, выполните следующую команду на локальном компьютере:
az ad sp create-for-rbac --role contributor --scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT> --json-auth
Область, заданная параметром --scopes
, ограничивает доступ по ключу к ресурсу. Можно получить доступ только к прочному ящику.
С результатами:
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
"activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
"resourceManagerEndpointUrl": "https://management.azure.com/",
"sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
"galleryEndpointUrl": "https://gallery.azure.com/",
"managementEndpointUrl": "https://management.core.windows.net/"
}
Затем сохраните результаты в секреты GitHub, как описано в разделе Настройка репозитория GitHub и аутентификация с помощью Azure.
Добавление политик доступа для учетных данных
Созданные выше учетные данные дают доступ только к общим сведениям о хранилище Key Vault, но не к его содержимому. Чтобы получить доступ к секретам, хранящимся в Key Vault, необходимо задать политики доступа для учетных данных.
Перейдите на панель мониторинга Key Vault на портале Azure, выберите меню управления доступом , а затем откройте вкладку "Назначения ролей ". Выберите приложения для типа и этого ресурса для области. Вы должны увидеть учетные данные, созданные на предыдущем этапе.
Скопируйте имя учетных данных, например azure-cli-2020-01-19-04-39-02. Откройте меню Политики доступа и выберите + Добавить политику доступа. Выберите "Управление секретами" в шаблоне, а затем выберите "Субъект". Вставьте имя учетных данных в поле ввода Основной/Выбор.
Нажмите кнопку Добавить в диалоговом окне Добавить политику доступа, а затем нажмите кнопку Сохранить.
Создание учетных данных для всей области Azure
Это главный ключ, открывающий все двери в здании. Процедура аналогична предыдущему этапу, но здесь мы изменим область, чтобы создать главный ключ:
az ad sp create-for-rbac --role contributor --scopes /subscriptions/<SUBSCRIPTION_ID> --json-auth
И снова результаты:
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
"activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
"resourceManagerEndpointUrl": "https://management.azure.com/",
"sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
"galleryEndpointUrl": "https://gallery.azure.com/",
"managementEndpointUrl": "https://management.core.windows.net/"
}
Скопируйте всю строку JSON. Вернитесь к панели мониторинга Key Vault. Откройте меню Секреты и нажмите кнопку Создать или импортировать. Введите имя секрета, например AZURE-CREDENTIALS-FOR-SPRING. Вставьте строку учетных данных JSON в поле ввода Значение. Вы можете заметить, что поле для ввода значения является однострочным текстовым полем, а не многострочной текстовой областью. Здесь можно вставить всю строку JSON.
Объединение учетных данных в GitHub Actions
Задайте учетные данные, используемые при выполнении конвейера CICD:
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }} # Strong box key you generated in the first step
- uses: Azure/[email protected]
with:
keyvault: "<Your Key Vault Name>"
secrets: "AZURE-CREDENTIALS-FOR-SPRING" # Master key to open all doors in the building
id: keyvaultaction
- uses: azure/login@v1
with:
creds: ${{ steps.keyvaultaction.outputs.AZURE-CREDENTIALS-FOR-SPRING }}
- name: Azure CLI script
uses: azure/CLI@v1
with:
azcliversion: 2.0.75
inlineScript: |
az extension add --name spring # Spring CLI commands from here
az spring list