Mappa containerbilder från kod till körningstid

När Defender för molnet hittar en säkerhetsrisk i en containeravbildning kan det vara svårt att spåra avbildningen tillbaka till den ursprungliga CI/CD-pipelinekörningen. Den här utmaningen är vanlig oavsett om avbildningen finns i ett containerregister eller körs i ett Kubernetes-kluster. Utan pipelinekontext är det svårare att hitta rätt utvecklare och snabbt påbörja reparationen. Defender CSPM (Cloud Security Posture Management) innehåller DevOps-säkerhetsfunktioner som mappar containerarbetsbelastningar från kod till molnet, så att teamen kan börja åtgärda snabbare.

Denna artikel förklarar de tillgängliga mappningsmetoderna, förutsättningarna för varje och hur man verifierar den resulterande kod-till-runtime-mappningen i Azure-portalen. Innan du börjar, se till att de nödvändiga Defender CSPM- eller Defender for Containers förkunskaperna är uppfyllda.

Kod till runtime-miljö – tekniska förutsättningar

Följande krav är nödvändiga för att etablera relationer mellan kod och körning.

Allmänna förutsättningar (alla metoder)

Följande krav gäller oavsett vilken mappningsmetod som används:

  • Defender CSPM (Hantering av molnsäkerhetsstatus) eller Defender för containrar måste vara aktiverat i molnmiljön.
    • En begränsad uppsättning mappningsfunktioner ingår i Defender för containrar.
  • Containeravbildningar måste skapas via en CI/CD-pipeline.
    • Bilder som skapas och pushas manuellt stöds inte, även om vissa manuellt byggda avbildningar fortfarande kan visas i mappningsresultat.
  • Containeravbildningar måste kunna upptäckas av Defender för molnet, antingen genom att:
    • Lagras i ett containerregister som stöds, eller
    • Körs i en Kubernetes-miljö som stöds

Alternativ 1: Ansluta din kodmiljö till Defender för molnet

När du kopplar en Azure DevOps- eller GitHub-miljö till Defender för molnet triggas automatiskt en uppsättning automatiserade verktyg. De automatiserade verktygen påverkar inte dina befintliga DevOps-arbetsflöden och möjliggör kod-till-runtime-mappning.

Anmärkning

  • Stöds för närvarande för Azure DevOps och GitHub
  • Containeravbildningar som skapats och distribuerats före anslutningen kan ha begränsat stöd

För steg för att koppla en kodmiljö till Defender för molnet, se:

Alternativ 2: Docker-etiketter – baserad mappning

Docker-etiketterbaserad mappning förlitar sig på metadata som bäddas in direkt i containeravbildningen vid byggtillfället. Defender för molnet extraherar dessa metadata från OCI/Docker-avbildningsmanifestet och använder dem för att korrelera avbildningen till källlagringsplatsen.

För mer information om Docker-labelbaserad mappning, se:

Anmärkning

  • Docker-labelbaserad mappning kräver ingen DevOps-koppling.
  • Mappning utförs för Kubernetes-miljöer som omfattas av Defender CSPM eller Defender för containrar.

Alternativ 3: GitHub-attesteringsbaserad mappning

Attesteringsbaserad mappning använder kryptografiskt verifierbara härkomstmetadata som genereras under GitHub Actions-arbetsflöden. Dessa attesteringar länkar containerbilder till deras exakta källkodsförråd, commit och byggidentitet.

För mer information om attestationsbaserad kartläggning, se:

Verifiera koden för körningsmappning (Azure-portalen)

Oavsett vilken mappningsmetod du använder (DevOps connector, Docker-etiketter eller GitHub-attestationer) kan du verifiera den resulterande kod-till-runtime-mappningen i Azure-portalen. Följande exempel visar hur man kan visa kartläggningsresultat efter att ha byggt en containerimage i en Azure DevOps CI/CD-pipeline och skickat den till ett register. Använd Cloud Security Explorer för att se kartläggningen:

  1. Logga in på Azure-portalen.

  2. Gå till Microsoft Defender för molnet>Cloud Security Explorer. Det kan ta upp till fyra timmar innan mappningen av containeravbildningar visas.

  3. Om du vill se grundläggande mappning väljer du Containerbilder>+>Sända av kodlager.

    Skärmbild som visar hur du hittar grundläggande mappning av containrar.

  4. (Valfritt) Välj + efter ContainerAvbildningar för att lägga till filter i din fråga, till exempel Har sårbarheter, för att endast visa containeravbildningar med vanliga säkerhetsrisker och exponeringar (CVE).

  5. När du har kört frågan ser du mappningen mellan containerregistret och pipelinen. Välj ... bredvid anslutningslinjen (gränsen) för att se mer information.

    Skärmbild som visar en avancerad fråga för resultat av containermappning.

Nästa steg