Този урок дава въведение в подписването на код с Azure DevOps, като се използва сертификат, съхраняван в Azure Key Vault. За да следвате тези инструкции, ще ви трябва:
- An Акаунт в Azure
- A Проект DevOps
- A Сейф за ключове
- A сертификат за подписване на код инсталиран във вашия Vault Key. Можете да:
Преминете към тази статия за ръководство как да интегрирате eSigner с Azure DevOps: Ръководство за интегриране на подписване в облак на Azure DevOps.
Регистрирайте приложение за Azure
Първо, ще трябва да регистрирате ново приложение на Azure, за да можете да се свържете с Key Vault за подписване.
- Влезте в Azure портал.
- Отидете до Azure Active Directory, (Кликнете Повече услуги ако иконата на Azure Active Directory не се вижда.)
- Кликнете Регистрации на приложения, в лявата колона.
- Кликнете Нова регистрация.
- Дайте на молбата си a Име и кликнете върху Регистрация бутон. Оставете останалите настройки на стойностите им по подразбиране.
- Вашето ново приложение е регистрирано. Копирайте и запишете показаната стойност за Идент. № на приложението (клиента), защото ще ви трябва по-късно.
Създайте клиентска тайна
След това генерирайте тайна на клиента, която ще служи като идентификационна информация при подписване.
- Кликнете Сертификати и тайни в менюто отляво.
- Кликнете Нова тайна на клиента.
- Дайте на клиента си тайна a Описание, задайте срока на действие по желание и щракнете върху Добави бутон.
- Копирайте Стойност на новата ви тайна на клиента веднага и го запазете на сигурно място. Следващият път, когато страницата се обнови, тази стойност ще бъде маскирана и безвъзвратна.
Активирайте достъпа в сейфа на ключове
Сега ще трябва да разрешите достъп за вашето приложение в Azure Key Vault.
- Придвижете се до хранилището на ключове, съдържащо сертификата, който искате да използвате за подписване, и щракнете върху Политики за достъп връзка.
- Кликнете Добавете Политика за достъп.
- Под Ключови разрешения, активирайте
Verify
,Sign
,Get
, иList
.
- Под Тайни разрешения, активирайте
Get
намляваList
.
- Под Разрешения за сертификати, активирайте
Get
намляваList
.
- Щракнете върху Няма избрани връзка, под Изберете главен, след това използвайте полето за търсене, за да намерите и изберете приложението, което сте създали в предишния раздел.
- Щракнете върху Изберете бутон.
- Щракнете върху Добави бутон.
- Кликнете Save.
- Политиката ви за достъп е зададена.
Конфигурирайте DevOps Build
Сега можете да конфигурирате вашата компилация. Отворете проекта си в Azure DevOps.
Съхранявайте идентификационните данни на приложенията като променливи
Можете да включите идентификатора на приложението си и тайната на клиента директно във вашия YAML конвейерен файл, но е по-сигурно, ако ги съхранявате като променливи в DevOps.
- Кликнете Тръбопроводи.
- Кликнете Библиотека.
- Кликнете + Променлива група.
- Дайте име на вашата променлива група.
- Кликнете Добави.
- Въведете име на променлива за идентификатора на приложението си, след което поставете стойността. Щракнете върху ключалката, за да шифровате променливата, когато приключите.
- Повторете процеса, за да добавите променлива за вашата клиентска тайна.
- Кликнете Save.
- Свържете групата на променливите във вашия конвейер. (заменете VARIABLE-GROUP с името на вашата действителна група променливи.)
променливи: - група: 'ПРОМЕНЛИВА ГРУПА'
Добавете стъпка на тръбопровода за инсталиране на инструмента за подписване на Azure
Инструмент за подписване на Azure е помощна програма с отворен код, която предлага SignTool функционалност за сертификати и ключове, съхранявани в Azure Key Vault. Добавете следната стъпка във вашия конвейер, за да инсталирате Azure Sign Tool:
- задача: DotNetCoreCLI @ 2 входа: команда: 'потребителски' потребителски: 'инструмент' аргументи: 'install --global azuresigntool' displayName: Инсталиране на AzureSignTool
Добавете командата на Azure Sign Tool към тръбопровода
- Сега можете да добавите задача за подписване на вашия код към конвейера. Ще ви е необходима следната информация:
- Добавете извикването на Azure Sign Tool към вашия конвейер. Заменете стойностите, показани в ALL-CAPS, с вашите действителни стойности:
- задача: CmdLine @ 2 входа: скрипт: AzureSignTool знак -kvu "KEY-VAULT-URI" -kvi "$ (APPLICATION-ID-VAR)" -kvs "$ (CLIENT-SECRET-VAR)" -kvc CERTIFICATE-NAME -tr "http://ts.ssl.com" -td sha256 "FILE-TO-SIGN" displayName: Код за подпис
- Трябва да видите изход като този, ако подписването е успешно:
информация: AzureSignTool.Program [0] => Файл: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Подписващ файл D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe информация: AzureSignTool. Програма [0] => Файл: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Подписването е завършено успешно за файл D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe.