Поделиться через


Использование секретов Azure Key Vault в конвейере

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Azure Key Vault позволяет разработчикам безопасно хранить конфиденциальные сведения и управлять ими, такими как пароли, ключи API и сертификаты. В этой статье описывается, как запрашивать и использовать секреты из Azure Key Vault в конвейере.

Предварительные условия

Продукт Требования
Azure DevOps - Проект Azure DevOps.
Разрешения - :
    — Чтобы предоставить доступ ко всем конвейерам в проекте: необходимо быть членом группы администраторов проектов.
    — Для создания подключений к службам необходимо иметь роль администратора или создателя для подключений служб.
GitHub — учетная запись GitHub и репозиторий GitHub.
- Подключение службы GitHub для авторизации Azure Pipelines.
Лазурный подписка Azure.

Создайте хранилище ключей.

  1. Войдите в портал Azure и нажмите кнопку "Создать ресурс".

  2. В разделе Key Vault выберите "Создать", чтобы создать azure Key Vault.

  3. Выберите свою подписку в раскрывающемся меню, а затем выберите существующую группу ресурсов или создайте новую. Введите имя хранилища ключей, выберите регион, выберите ценовую категорию и нажмите кнопку "Далее", если требуется настроить дополнительные свойства. В противном случае нажмите кнопку "Проверить и создать ", чтобы сохранить параметры по умолчанию.

  4. По завершении развертывания выберите элемент Перейти к ресурсу.

Настройка проверки подлинности

Создание назначаемого пользователем управляемого удостоверения

  1. Войдите в портал Azure, а затем найдите в строке поиска службу Управляемые удостоверения.

  2. Выберите "Создать" и заполните обязательные поля следующим образом:

    • Подписка: выберите подписку в раскрывающемся меню.
    • Группа ресурсов: выберите существующую группу ресурсов или создайте новую.
    • Регион: выберите регион в раскрывающемся меню.
    • Имя: Введите имя для назначенной пользователем управляемой идентичности.
  3. Нажмите кнопку "Рецензирование" и "Создать " после завершения.

  4. После завершения развертывания выберите "Перейти к ресурсу", а затем скопируйте идентификатор подписки и клиента, вам потребуется выполнить следующие действия.

  5. Перейдите ксвойствам>параметрови скопируйте идентификатор клиента управляемого удостоверения, чтобы использовать его позже.

Настройка политик доступа к хранилищу ключей

  1. Перейдите к портал Azure и используйте строку поиска, чтобы найти созданное ранее хранилище ключей.

  2. Выберите политики доступа, а затем нажмите Создать, чтобы добавить новую политику.

  3. В разделе "Разрешения секрета" установите флажки "Получить " и "Список ".

  4. Нажмите «Далее», затем вставьте идентификатор клиента управляемого удостоверения, созданного ранее, в поле поиска.

  5. Выберите управляемое удостоверение, нажмите кнопку "Далее", а затем еще раз.

  6. Просмотрите новую политику и нажмите кнопку "Создать " после завершения.

Создать подключение к службе

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите параметры проекта>подключения службы, а затем выберите Создать подключение службы.

  3. Выберите Azure Resource Manager, а затем нажмите кнопку "Далее".

  4. В разделе "Тип удостоверения" выберите управляемое удостоверение в раскрывающемся меню.

  5. Для шага 1: сведения об управляемом удостоверении заполните поля следующим образом:

    • Подписка для управляемого удостоверения: выберите подписку, содержащую управляемое удостоверение.

    • Группа ресурсов для управляемого удостоверения: выберите группу ресурсов, в которой размещено управляемое удостоверение.

    • Управляемое удостоверение: выберите управляемое удостоверение в раскрывающемся меню.

  6. Для Шага 2: Область Azure заполните поля следующим образом:

    • Уровень области подключения к службе: выбор подписки.

    • Подписка на подключение к службе: выберите подписку, к которой будет обращаться управляемое удостоверение.

    • Группа ресурсов для подключения к службе: (необязательно) Укажите это, если требуется ограничить доступ к определенной группе ресурсов.

  7. Для шага 3. Сведения о подключении к службе:

    • Имя подключения службы: укажите имя для вашего подключения к службе.

    • Справочник по управлению службами: (необязательно) включите сведения о контексте из базы данных ITSM.

    • Описание: (необязательно) Добавьте описание.

  8. В разделе Безопасность установите флажок Предоставить разрешение на доступ ко всем потокам, чтобы позволить всем потокам пользоваться этим подключением к службе. Если этот флажок не установлен, необходимо вручную предоставить доступ для каждого конвейера.

  9. Нажмите кнопку "Сохранить", чтобы проверить и создать подключение к службе.

    Снимок экрана, на котором показано, как создать подключение к службе ARM для управляемого удостоверения.

Получение и использование секретов в вашем конвейере

С помощью задачи Azure Key Vault теперь можно запрашивать и получать секреты из Azure Key Vault и использовать их в последующих задачах в конвейере. Обратите внимание, что секреты должны быть явно сопоставлены с переменными среды, как показано в следующем примере:

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: AzureKeyVault@1
  inputs:
    azureSubscription: 'SERVICE_CONNECTION_NAME'
    KeyVaultName: 'KEY_VAULT_NAME'
    SecretsFilter: '*'

- bash: |
    echo "Secret Found! $MY_MAPPED_ENV_VAR"        
  env:
    MY_MAPPED_ENV_VAR: $(SECRET_NAME)

Выходные данные последнего шага bash должны выглядеть следующим образом:

Secret Found! ***

Примечание.

Чтобы запросить несколько секретов из Azure Key Vault, используйте SecretsFilter входные данные и укажите разделенный запятыми список имен секретов, например secret1, secret2.