Docker-tartalom megbízhatósága
Azure DevOps Services
A Docker Content Trust (DCT) lehetővé teszi, hogy digitális aláírásokat használjon a távoli Docker-adatbázisokba küldött és fogadott adatokhoz. Ezek az aláírások lehetővé teszik az ügyféloldali vagy futtatókörnyezeti ellenőrzést az adott rendszerképcímkék integritásának és közzétevőjének ellenőrzéséhez.
Megjegyzés
A rendszerképek aláírásának előfeltétele a Csatolt Jegyző kiszolgálóval rendelkező Docker Registry (például Docker Hub vagy Azure Container Registry)
Rendszerképek aláírása az Azure Pipelinesban
Előfeltételek a fejlesztői gépen
- Használja a Docker trust beépített generátorát, vagy hozzon létre manuálisan delegálási kulcspárt. Ha a beépített generátort használja, a delegálási titkos kulcs a helyi Docker megbízhatósági tárolóba lesz importálva. Máskülönben a titkos kulcsot manuálisan kell importálni a helyi Docker megbízhatósági tárolóba. Részletekért lásd: Kulcsok manuális létrehozása .
- A fenti lépésben létrehozott delegálási kulcs használatával töltse fel az első kulcsot egy delegálásba, és indítsa el az adattárat
Tipp
A helyi delegálási kulcsok listájának megtekintéséhez futtassa a következő parancsot a Közjegyzői parancssori felületen: $ notary key list
.
Folyamat beállítása lemezképek aláírásához
Szerezze be a delegálási titkos kulcsot, amely a korábban használt fejlesztői gép helyi Docker megbízhatósági tárolójában található, és adja hozzá ugyanazt, mint egy biztonságos fájlt a Pipelinesban.
Engedélyezze ezt a biztonságos fájlt az összes folyamatban való használatra.
A társított
containerRegistryServiceConnection
szolgáltatásnévnek rendelkeznie kell az AcrImageSigner szerepkörrel a céltároló beállításjegyzékében.Hozzon létre egy folyamatot a következő YAML-kódrészlet alapján:
pool: vmImage: 'Ubuntu 16.04' variables: system.debug: true containerRegistryServiceConnection: serviceConnectionName imageRepository: foobar/content-trust tag: test steps: - task: Docker@2 inputs: command: login containerRegistry: $(containerRegistryServiceConnection) - task: DownloadSecureFile@1 name: privateKey inputs: secureFile: cc8f3c6f998bee63fefaaabc5a2202eab06867b83f491813326481f56a95466f.key - script: | mkdir -p $(DOCKER_CONFIG)/trust/private cp $(privateKey.secureFilePath) $(DOCKER_CONFIG)/trust/private - task: Docker@2 inputs: command: build Dockerfile: '**/Dockerfile' containerRegistry: $(containerRegistryServiceConnection) repository: $(imageRepository) tags: | $(tag) arguments: '--disable-content-trust=false' - task: Docker@2 inputs: command: push containerRegistry: $(containerRegistryServiceConnection) repository: $(imageRepository) tags: | $(tag) arguments: '--disable-content-trust=false' env: DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE: $(DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE)
Az előző példában a változót
DOCKER_CONFIG
alogin
Docker-feladat parancsa állítja be. Javasoljuk, hogy állítson beDOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE
titkos változót a folyamathoz. A folyamatváltozó YAML-ben való használatának alternatív megközelítése egyszerű szövegben teszi elérhetővé a jelszót.DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE
ebben a példában a titkos kulcs jelszavára hivatkozunk (nem az adattár jelszavára). Ebben a példában csak a titkos kulcs jelszavára van szükségünk, mert az adattár már elindult (előfeltételek).
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: