Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Když během procesu přizpůsobení přistupujete k prostředkům, jako jsou úložiště nebo prostředky Azure, musíte se bezpečně ověřit. Tajemství Azure Key Vault můžete odkazovat ve svých konfiguračních souborech, abyste se vyhnuli zveřejnění citlivých informací, a k ověření v Azure můžete použít servisní identity pro zabezpečený přístup k prostředkům. Tento článek vysvětluje, jak bezpečně spravovat a přistupovat k prostředkům během přizpůsobení vývojového pole.
Použití tajemství z úložiště klíčů v konfiguračních souborech
K klonování privátních úložišť nebo spouštění úloh, které vyžadují přístupový token, můžete použít tajné kódy z Azure Key Vaultu v přizpůsobení YAML. Například v souboru vlastního nastavení použijte token PAT uložený ve službě Azure Key Vault pro přístup k privátnímu úložišti.
Přizpůsobení týmu i uživatelů podporuje načítání tajných kódů z trezoru klíčů. Přizpůsobení týmu, které používají definiční soubory obrázků, definují základní image vývojového pole pomocí parametru image a uvádějí úlohy, 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.
Pokud chcete v souborech vlastního nastavení použít tajný klíč, jako je PAT, uložte ho jako tajný klíč trezoru klíčů. Následující příklady ukazují, jak odkazovat na tajný klíč trezoru klíčů v obou typech přizpůsobení.
Konfigurace přístupu k trezoru klíčů pro 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 je váš trezor klíčů soukromý, nechte důvěryhodné služby Microsoftu obejít bránu firewall, protože Dev Center zatím nepodporuje značky služeb.
Následující snímek obrazovky ukazuje možnost povolit důvěryhodným službám Microsoftu obejít bránu firewall v nastavení služby Azure Key Vault.
Další 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.
Další konfigurace pro přizpůsobení uživatelů
Konfigurace tajných kódů trezoru klíčů pro přizpůsobení uživatelů:
- Ujistěte se, že spravovaná identita projektu Dev Center má ve vašem úložišti klíčů role Čtenář úložiště klíčů i Uživatel tajných kódů úložiště klíčů.
- Udělte roli uživatele tajných kódů služby Key Vault každému uživateli nebo skupině, které ho potřebují během přizpůsobení vývojového pole, včetně spravované identity služby Dev Center, účtů správců a všech dalších požadovaných uživatelů nebo skupin.
Příklad přizpůsobení týmu
Tato syntaxe používá tajemství trezoru klíčů (PAT) v souboru definice obrazu. Jedná se KEY_VAULT_SECRET_URI o identifikátor URI tajného klíče ve vašem trezoru klíčů.
$schema: "<SCHEMA_VERSION>"
name: "<IMAGE_DEFINITION_NAME>"
image: "<BASE_IMAGE>"
description: "<DESCRIPTION>"
tasks:
- name: <TASK_NAME>
description: <TASK_DESCRIPTION>
parameters:
repositoryUrl: <REPOSITORY_URL>
directory: <DIRECTORY_PATH>
pat: "{{<KEY_VAULT_SECRET_URI>}}"
Tento příklad používá git-clone úlohu:
$schema: "1.0"
name: "example-image-definition"
image: microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win11-m365-gen2
description: "Clones a public example Git repository"
tasks:
- name: git-clone
description: Clone this repository into C:\workspaces
parameters:
repositoryUrl: https://github.com/example-org/example-repo.git
directory: C:\workspaces
pat: "{{https://contoso-vault.vault.azure.net/secrets/github-pat}}"
Nebo můžete odkazovat na tajný kód v řádku s integrovanou úlohou, jak je znázorněno v následujícím příkladu:
$schema: "1.0"
name: "example-image-definition"
image: microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win11-m365-gen2
description: "Clones a public example Git repository"
tasks:
- name: git-clone
description: Clone this repository into C:\Workspaces
parameters:
command: MyCommand –MyParam "{{KEY_VAULT_SECRET_URI}}"
Příklad přizpůsobení uživatelů
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.
Tento příklad ukazuje zkratku ADO ({{ado://...}}). Služba vymění váš token Azure za token Azure DevOps při svém spuštění, takže nemusíte ukládat token PAT v Key Vaultu.
$schema: "1.0"
tasks:
- name: git-clone
description: Clone this repository into C:\workspaces
parameters:
repositoryUrl: https://dev.azure.com/example-org/MyProject/_git/example-repo
directory: C:\workspaces
pat: '{{ado://example-org}}'
Rozšíření Dev Box Visual Studio Code a Dev Box CLI nepodporují hydratační tajné kódy v pracovním postupu testování vnitřní smyčky pro přizpůsobení.
Ověřování u prostředků Azure pomocí služebních principálů
Principálové služeb umožňují bezpečné ověření prostředků Azure, aniž by došlo k vystavení přihlašovacích údajů uživatele. Vytvořte aplikační objekt, přiřaďte požadované role a použijte ho k ověření v procesu přizpůsobení. Hydratujte své heslo ze služby Key Vault v době vlastního nastavení pomocí stávající funkce tajných kódů.
Vytvořte instanční objekt v Azure Active Directory (Azure AD) a přiřaďte mu potřebné role pro prostředky, které chcete použít.
Výstupem je objekt JSON obsahující ID aplikace,displayName, heslo a tenanta instančního objektu, které se používají k ověřování a autorizaci ve scénářích Azure Automation.
Příklad: Výstup rozhraní příkazového řádku při vytváření Service Principal. Uložte vrácené heslo ve službě Key Vault a udělte roli uživatele tajemství Key Vault identitě projektu Dev Center, aby přizpůsobení mohlo za běhu obnovit tajemství.
$ az ad sp create-for-rbac -n DevBoxCustomizationsTest { "appId": "...", "displayName": "DevBoxCustomizationsTest", "password": "...", "tenant": "..." }Uložte výše uvedené heslo do tajného kódu služby Key Vault, například takto:
https://mykeyvault.vault.azure.net/secrets/passwordVe službě Key Vault udělte identitě projektu roli uživatele tajných kódů služby Key Vault .
Teď se můžete ověřit v úlohách přizpůsobení a načíst heslo účtu služby ze služby Key Vault během přizpůsobení.
Příklad: Stažení souboru ze služby Azure Storage
Následující příklad ukazuje, jak stáhnout soubor z účtu úložiště. Fragment kódu YAML definuje přizpůsobení Dev Boxu, které provádí dvě hlavní úlohy:
Nainstaluje Azure CLI pomocí správce balíčků winget.
Spustí skript PowerShellu, který:
- Přihlásí se k Azure pomocí služebního principálu a bezpečně načte heslo z Azure Key Vault.
- Stáhne objekt blob (soubor) z účtu služby Azure Storage pomocí ověřeného připojení.
Příklad: Přizpůsobení, které hydratuje instanční heslo ze služby Key Vault a používá ho k ověření a stažení objektu blob ze služby Azure Storage. Uložte heslo principála služby v Key Vault a zajistěte, aby identita projektu měla roli uživatele tajemství v Key Vault.
$schema: "1.0" name: "devbox-customization" tasks: - name: ~/winget parameters: package: Microsoft.AzureCLI - name: ~/powershell parameters: command: | az login --service-principal ` --username <appId> ` --password {{https://mykeyvault.vault.azure.net/secrets/password}} ` --tenant <tenantId> az storage blob download ` --account-name <storage_account_name> ` --container-name <container_name> ` --name <blob_name> ` --file <local_file_path> ` --auth-mode login
Toto nastavení umožňuje automatizovat zabezpečené používání prostředků Azure během zřizování Dev Boxu bez vystavení přihlašovacích údajů ve skriptu.
Příklad: Stažení artefaktu z Azure DevOps
Stáhněte artefakty sestavení z Azure DevOps (ADO) pomocí služebního principála pro autentizaci. Přidejte ID aplikace instančního objektu služby (appId) jako uživatele ve vaší organizaci Azure DevOps a následně instanční objekt služby přiřaďte skupině Čtenáři. Tento krok poskytuje potřebná oprávnění k používání artefaktů.
Po nakonfigurování těchto kroků použijte přihlašovací údaje účtu služeb v úlohách přizpůsobení k ověření a bezpečnému stažení artefaktů z Azure DevOps.
Přidání služební zásady do organizace Azure DevOps
Chcete-li přidat služební principál do vaší organizace Azure DevOps:
Přihlaste se ke své organizaci Azure DevOps a otevřete nastavení organizace.
V nabídce vyberte Uživatelé.
Na stránce Uživatelé vyberte Přidat uživatele.
V dialogovém okně Přidat nové uživatele zadejte následující informace:
- Uživatelé: Jako e-mail uživatele zadejte ID aplikace objektu služeb (appId).
- Úroveň přístupu: Vyberte základní.
- Přidat do projektu: Vyberte projekt, do kterého chcete přidat službu principals.
- Skupiny Azure DevOps: Přiřaďte instanční objekt skupině Čtenáři .
Dokončete proces pro udělení potřebných oprávnění.
Podrobnosti o tom, jak přidat uživatele do organizací DevOps, najdete v tématu Přidání uživatelů organizace a správa přístupu.