Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Important
Эта функция агента SRE Azure сейчас доступна в предварительной версии. Ознакомьтесь с Дополнительными условиями использования для предварительных версий Microsoft Azure, чтобы узнать юридические условия, применимые к функциям Azure, которые находятся в статусе бета, предварительного просмотра или иначе еще не выпущены в общий доступ.
Подключите репозитории, размещенные на GitHub Enterprise Cloud (<TENANT>.ghe.com) или github.com, к агенту Azure SRE, используя собственное приложение GitHub (BYO, Bring Your Own). Агент создаёт краткоживущие токены установки из приватного ключа приложения, который хранится в Azure Key Vault и никогда не копируется.
Note
Приложение BYO GitHub работает для узлов github.com и *.ghe.com. Сведения о github.com с OAuth или PAT см. в разделе Set up GitHub connector.
Когда следует использовать проверку подлинности приложения byo GitHub
Используйте приложение BYO, если:
- Для вашей организации требуются средства проверки подлинности на основе приложений и элементы управления хранением ключей.
- Вы подключаетесь к репозиториям
*.ghe.com(обязательно, так как OAuth и PAT недоступны для узлов GHE). - Вам нужен доступ на основе токена установки, а не пользовательских токенов.
Необходимые условия
| Требование | Сведения |
|---|---|
| Агент Azure SRE | Агент в состоянии "Запуск" с ролью "Администратор" или "Стандартный пользователь" |
| Приложение GitHub | Приложение GitHub, созданное на целевом узле (github.com или <TENANT>.ghe.com) |
| доступ администратора GitHub | Доступ администратора организации или репозитория к созданию, установке или проверке области приложения GitHub |
| Azure Key Vault | Хранилище, в котором можно хранить закрытый ключ приложения GitHub |
| Манажируемая идентичность | Возможность назначить роль Key Vault Secrets User для управляемого удостоверения агента |
Создание приложения GitHub
Если у вас уже есть приложение GitHub с необходимыми разрешениями, перейдите к разделу Сохранение закрытого ключа в Azure Key Vault.
- Перейдите к вашему хосту GitHub:
-
github.com: Перейдите в свою организацию >Настройки>Настройки разработчика>GitHub Apps>Создать приложение GitHub -
<TENANT>.ghe.com: тот же путь в вашем экземпляре GHE
-
- Заполните сведения о приложении:
-
GitHub имя приложения: например,
sre-agent-reader -
URL-адрес домашней страницы:
https://sre.azure.com - Веб-перехватчик: снимите флажок "Активный " (агент не использует веб-перехватчики)
-
GitHub имя приложения: например,
- В разделе "Разрешения" установите следующие параметры:
- Разрешения > репозитория Содержимое: только для чтения (обязательно)
- Разрешения > репозитория Метаданные: только для чтения (автоматически выбрано)
- При необходимости предоставьте доступ на чтение к Issues и Pull requests
- В разделе Где можно установить это приложение GitHub? выберите Только для этой учетной записи.
- Выберите "Создать приложение GitHub".
- Обратите внимание на идентификатор клиента , отображаемый на странице параметров приложения.
Установка приложения GitHub
- На странице параметров приложения GitHub выберите Install App на левой боковой панели.
- Выберите свою организацию.
- Выберите все репозитории или выберите определенные репозитории.
- Нажмите Установить.
Создание закрытого ключа приложения GitHub
- На странице настроек приложения GitHub прокрутите до раздела Закрытые ключи.
- Выберите "Создать закрытый ключ".
-
.pemФайл скачивается. Этот файл представляет собой закрытый ключ RSA, который агент использует для проверки подлинности.
Предостережение
Храните PEM-файл в безопасном месте. Вы отправляете его в Key Vault на следующем шаге. Не зафиксируйте его в репозитории и не делитесь им.
Хранение закрытого ключа в Azure Key Vault
- Откройте портал Azure и перейдите к Key Vault.
- Перейдите в раздел Секреты>Создать/импортировать.
- Задайте имя (например,
sre-agent-github-app-key) и вставьте полное содержимое PEM в качестве значения (включая-----BEGIN RSA PRIVATE KEY-----и-----END RSA PRIVATE KEY-----заголовки). - Нажмите кнопку "Создать".
- Откройте секрет, выберите текущую версию и скопируйте URI секретного идентификатора :
https://myvault.vault.azure.net/secrets/my-github-app-key/<VERSION>
Tip
URI с версией и без версии: можно использовать URI с указанием версии (с суффиксом /<VERSION>), чтобы закрепить использование за определённой версией ключа, или не указывать версию, чтобы всегда использовать последнюю. Используйте URI без указания версии, чтобы при ротации ключа агент автоматически получал новую версию без необходимости обновлять URI.
Предоставление Key Vault доступа к удостоверению агента
- На портале Azure откройте раздел Key Vault>Управление доступом (IAM).
- Назначьте роль Key Vault Secrets User управляемому удостоверению агента.
- Подождите, пока назначение роли вступит в силу.
Настроить приложение BYO в Code Access
- Откройте своего агента в портале.
- Перейдите в Builder>Доступ к коду.
- Выберите "Добавить репозитории".
- Выберите GitHub и введите хост:
-
github.comдля общедоступного GitHub -
<TENANT>.ghe.comдля корпоративного облака
-
- Продолжайте проверку подлинности.
- Выберите Использовать собственное приложение GitHub.
- Введите:
- идентификатор клиента
- URI секрета закрытого ключа (Key Vault)
- Необязательное удостоверение Key Vault (или сохранение назначаемого системой)
- Нажмите Подключиться.
Мастер проверяет учетные данные. При успешном выполнении отображается Connected как приложение GitHub с зеленой галочкой.
Note
Когда вы вводите домен *.ghe.com в качестве хоста, мастер автоматически выбирает Использовать собственное приложение GitHub. OAuth и PAT недоступны для узлов GHE.
Добавление репозиториев и проверка подключения
- Выберите репозитории и сохраните его.
- Убедитесь, что в карточке Code Access отображаются подключенный хост и тип аутентификации
GitHubApp. - Тестирование в чате:
Get me recent issues from owner/repo.
Управляемая идентификация для каждого из нескольких приложений GitHub
По умолчанию агент использует управляемое удостоверение, назначаемое системой для чтения закрытого ключа из Key Vault. Если вы управляете несколькими приложениями GitHub (например, по одному на каждый экземпляр GHE), вы можете назначить каждому приложению отдельное управляемое удостоверение, назначаемое пользователем. Этот подход обеспечивает разграничение доступа, поскольку каждое средство идентификации имеет доступ только к собственному секрету в Key Vault.
На этапе настройки выберите удостоверение в раскрывающемся списке удостоверение Key Vault.
Поддержка нескольких хостов для подключений к GitHub
Вы можете подключить несколько узлов GitHub к одному агенту. Каждый хост имеет независимую аутентификацию:
-
github.com→ приложение OAuth, PAT или BYO -
contoso.ghe.comприложение byo → -
engineering.ghe.com→ приложение BYO (с другим приложением GitHub)
Отключение одного узла не влияет на другие.
Troubleshooting
| Симптом | Вероятно, причина | Исправление |
|---|---|---|
| Сбой проверки аутентификации | Неверный идентификатор клиента или неверный хост | Убедитесь, что приложение было создано на том же хосте, который указан в Code Access. |
| Не удалось прочитать секрет | Отсутствует политика Key Vault RBAC или политики доступа | Предоставьте пользователю секретов Key Vault удостоверение агента. |
| Репозиторий отображает Сбой в разделе «Доступ к коду» | Отсутствующие разрешения приложения или область действия установки | Проверьте Метаданные: чтение + Содержимое: чтение и область установки. |
| Проблемы в чате работают, но доступ к коду не работает | Проверки конечной точки и пути отличаются | Повторно выполните тестирование подключения и проверьте разрешение метаданных. |