Mappa containeravbildningar från kod till molnet
När en säkerhetsrisk identifieras i en containeravbildning som lagras i ett containerregister eller körs i ett Kubernetes-kluster kan det vara svårt för en säkerhetsansvarig att spåra tillbaka till CI/CD-pipelinen som först skapade containeravbildningen och identifiera en ägare av utvecklarreparation. Med DevOps-säkerhetsfunktioner i Microsoft Defender hantering av molnsäkerhetsstatus (CSPM) kan du mappa dina molnbaserade program från kod till molnet för att enkelt starta arbetsflöden för utvecklarreparation och minska tiden för att åtgärda sårbarheter i dina containeravbildningar.
Förutsättningar
Ett Azure-konto med Defender för molnet registrerat. Om du inte redan har ett Azure-konto skapar du ett kostnadsfritt.
För Azure DevOps:
Microsoft Security DevOps-tillägget (MSDO) måste vara installerat i Azure DevOps-organisationen.
Se till att Microsoft Defender för DevOps-tillägget delas och installeras i alla anslutna Azure DevOps-organisationer. För nyligen registrerade anslutningsappar görs detta automatiskt. Det här tillägget matar automatiskt in uppgifter i alla Azure Pipelines för att samla in data för containermappning.
Måste använda YAML-pipelines eftersom klassiska pipelines inte längre stöds.
För GitHub:
Åtgärden Microsoft Security DevOps (MSDO) måste konfigureras i dina GitHub-arbetsflöden.
GitHub-arbetsflödet måste ha behörigheten "id-token: write" för federation med Defender för molnet. Ett exempel finns i denna YAML.
Defender CSPM aktiverat.
Containeravbildningarna måste skapas med Docker och Docker-klienten måste kunna komma åt Docker-servern under bygget.
Mappa containeravbildningen från Azure DevOps-pipelines till containerregistret
När du har skapat en containeravbildning i en Azure DevOps CI/CD-pipeline och push-överfört den till ett register kan du läsa mappningen med hjälp av Cloud Security Explorer:
Logga in på Azure-portalen.
Gå till Microsoft Defender för molnet> Cloud Security Explorer. Det kan ta högst 4 timmar innan containeravbildningsmappningen visas i Cloud Security Explorer.
Om du vill se grundläggande mappning väljer du Containeravbildningar+>>som push-överförts av kodlagringsplatser.
(Valfritt) Välj + efter ContainerAvbildningar för att lägga till andra filter i din fråga, till exempel Har säkerhetsrisker för att endast filtrera containeravbildningar med CVE:er.
När du har kört frågan visas mappningen mellan containerregistret och Azure DevOps-pipelinen. Välj ... bredvid kanten för att se mer information om var Azure DevOps-pipelinen kördes.
Följande är ett exempel på en avancerad fråga som använder containeravbildningsmappning. Från och med en Kubernetes-arbetsbelastning som exponeras för Internet kan du spåra alla containeravbildningar med hög allvarlighetsgrad till Azure DevOps-pipelinen där containeravbildningen skapades, vilket ger en säkerhetsansvarig möjlighet att starta ett arbetsflöde för utvecklarreparation.
Kommentar
Om din Azure DevOps-organisation hade Azure DevOps-anslutningsappen skapad före den 15 november 2023 går du till Organisationsinställningar>Tillägg > delade och installerar containeravbildningsmappningsdekoratören. Om du inte ser tillägget som delas med din organisation fyller du i följande formulär.
Mappa containeravbildningen från GitHub-arbetsflöden till containerregistret
Se till att du har registrerat en GitHub-anslutning för att Defender för molnet.
Kör följande MSDO-arbetsflöde:
name: Build and Map Container Image
on: [push, workflow_dispatch]
jobs:
build:
runs-on: ubuntu-latest
# Set Permissions
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.8'
# Set Authentication to Container Registry of Choice.
# The example below is for Azure Container Registry. Amazon Elastic Container Registry and Google Artifact Registry are also supported.
- name: Azure Container Registry Login
uses: Azure/docker-login@v1
with:
login-server: <containerRegistryLoginServer>
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
# Build and Push Image
- name: Build and Push the Docker image
uses: docker/build-push-action@v2
with:
push: true
tags: ${{ secrets.IMAGE_TAG }}
file: Dockerfile
# Run Mapping Tool in MSDO
- name: Run Microsoft Security DevOps Analysis
uses: microsoft/security-devops-action@latest
id: msdo
När du har skapat en containeravbildning i ett GitHub-arbetsflöde och push-överfört den till ett register kan du läsa mappningen med hjälp av Cloud Security Explorer:
Logga in på Azure-portalen.
Gå till Microsoft Defender för molnet> Cloud Security Explorer. Det kan ta högst 4 timmar innan containeravbildningsmappningen visas i Cloud Security Explorer.
Om du vill se grundläggande mappning väljer du Containeravbildningar+>>som push-överförts av kodlagringsplatser.
(Valfritt) Välj + efter ContainerAvbildningar för att lägga till andra filter i din fråga, till exempel Har säkerhetsrisker för att endast filtrera containeravbildningar med CVE:er.
När du har kört frågan visas mappningen mellan containerregistret och GitHub-arbetsflödet. Välj ... bredvid kanten för att se mer information om var GitHub-arbetsflödet kördes.
Följande är ett exempel på en avancerad fråga som använder containeravbildningsmappning. Från och med en Kubernetes-arbetsbelastning som exponeras för Internet kan du spåra alla containeravbildningar med hög allvarlighetsgrad till GitHub-lagringsplatsen där containeravbildningen skapades, vilket ger en säkerhetsansvarig möjlighet att starta ett arbetsflöde för utvecklarreparation.
Nästa steg
- Läs mer om DevOps-säkerhet i Defender för molnet.