Sdílet prostřednictvím


Použití tajných kódů služby Azure Key Vault v souborech přizpůsobení

Tajné kódy z trezoru klíčů Azure můžete použít v přizpůsobení YAML ke klonování privátních úložišť nebo k libovolné úloze, kterou vytvoříte, která vyžaduje přístupový token. Například v souboru přizpůsobení týmu můžete pro přístup k privátnímu úložišti použít token PAT uložený v trezoru klíčů.

Použití tajemství z úložiště klíčů v konfiguračních souborech

Pokud chcete v souborech vlastního nastavení použít tajný klíč, jako je PAT, uložte ho jako tajný klíč trezoru klíčů.

Přizpůsobení týmu i uživatelů podporuje načítání tajných kódů z trezoru klíčů. Přizpůsobení týmu, označované také jako soubory definic obrázků, definují základní image vývojového pole pomocí parametru image a zobrazí seznam úkolů, které se spustí při vytvoření vývojového pole. Vlastní nastavení uživatelů uvádí úlohy, které se spustí při vytvoření vývojového pole. Následující příklady ukazují, jak používat tajemství klíčového trezoru v obou typech přizpůsobení.

Pokud chcete nakonfigurovat tajné kódy trezoru klíčů pro použití v přizpůsobení týmu nebo uživatele, ujistěte se, že spravovaná identita projektu dev Center má ve vašem trezoru klíčů roli Uživatele tajných kódů služby Key Vault.

Pokud chcete nakonfigurovat tajné kódy trezoru klíčů pro použití v uživatelských přizpůsobeních, musíte také:

  1. Ujistěte se, že spravovaná identita projektu vývojového centra má ve vašem trezoru klíčů roli Čtenář služby Key Vault a roli Uživatel tajemství služby Key Vault.
  2. Udělte roli uživatele tajných kódů služby Key Vault pro tajný klíč trezoru klíčů jednotlivým uživatelům nebo skupinám uživatelů, kteří by měli být schopni tajné kódy využívat během přizpůsobení vývojového pole. Uživatel nebo skupina, kterým byla role udělena, musí zahrnovat spravovanou identitu pro vývojové centrum, uživatelský účet správce a všechny uživatele nebo skupiny, které během přizpůsobení vývojového pole potřebují tajný kód.

Tajný kód trezoru klíčů můžete použít v souladu s integrovanou úlohou PowerShellu:

$schema: "1.0" 
image: microsoftwindowsdesktop_windows-ent-cpc_win11-24H2-ent-cpc 
tasks:  
- name: git-clone
    description: Clone this repository into C:\Workspaces 
    parameters: 
    command: MyCommand –MyParam '{{KEY_VAULT_SECRET_URI}}' 

Tento příklad ukazuje soubor definice obrázku. Jedná se KEY_VAULT_SECRET_URI o identifikátor URI tajného klíče ve vašem trezoru klíčů.

Na tajný kód v přizpůsobení YAML můžete odkazovat v následujícím formátu, který jako příklad používá git-clone úlohu:

$schema: "1.0"
tasks:
  - name: git-clone
    description: Clone this repository into C:\Workspaces
    parameters:
      repositoryUrl: https://myazdo.visualstudio.com/MyProject/_git/myrepo
      directory: C:\Workspaces
      pat: '{{KEY_VAULT_SECRET_URI}}'

Tento příklad ukazuje soubor vlastního nastavení uživatele. Není zadán žádný image parametr.

Uživatelská přizpůsobení vám umožňují získat token Azure DevOps pro klonování privátních úložišť bez nutnosti explicitního zadání PAT z klíčového trezoru. Služba automaticky vyměňuje token Azure za token Azure DevOps za běhu.

$schema: "1.0" 
tasks: 
  - name: git-clone 
    description: Clone this repository into C:\Workspaces 
    parameters: 
      repositoryUrl: https://myazdo.visualstudio.com/MyProject/_git/myrepo 
      directory: C:\Workspaces 
      pat: '{{ado://YOUR_ORG_NAME}}' 

Rozšíření Dev Box VS Code a Dev Box CLI nepodporují hydrataci tajných kódů v pracovním postupu testování vnitřní smyčky pro přizpůsobení.

Konfigurace přístupu k trezoru klíčů

Dev Center potřebuje přístup k vašemu trezoru klíčů. Vzhledem k tomu, že vývojová centra nepodporují značky služeb, nechte důvěryhodné služby Microsoftu obejít bránu firewall, pokud je váš klíčový trezor soukromý.

Snímek obrazovky znázorňující možnost povolit důvěryhodným službám Microsoftu obejít bránu firewall v nastavení služby Azure Key Vault

Informace o tom, jak umožnit důvěryhodným službám Microsoftu obejít bránu firewall, najdete v tématu Konfigurace nastavení sítě služby Azure Key Vault.