Freigeben über


Tool für programmgesteuerte Compliance

Microsoft und seine Kunden befolgen ein Modell der gemeinsamen Verantwortung in Bezug auf Sicherheit und Compliance der Microsoft Cloud Umgebung. Mit dem Programmatic Compliance-Tool bewerten Kunden die Konformität mehrerer Dienste gleichzeitig anhand von Branchenstandards, um die Time-to-Value zu verbessern und Innovationen zu beschleunigen.

Das Tool „Programmatic Compliance“ revolutioniert das Complianceerlebnis, indem es vereinheitlichte, maschinenlesbare und leicht abrufbare Compliancedaten bereitstellt. Eine einheitliche Erfahrung bedeutet, dass das Tool als einzige Quelle für alle Complianceinformationen dient und so Konsistenz und Genauigkeit gewährleistet. Das maschinenlesbare Format ermöglicht eine nahtlose Integration mit anderen Systemen über eine öffentliche API, während die Abrufbarkeit einen uneingeschränkten Zugriff auf die neuesten Complianceinformationen gewährleistet.

Technische Voraussetzungen

Um das Tool „Programmatic Compliance“ effektiv nutzen zu können, stellen Sie sicher, dass Sie die folgenden technischen Voraussetzungen erfüllen:

  • Kenntnisse der Azure-Dienste und -Architektur
  • Erfahrung mit Cloud-Compliance und Sicherheitsstandards
  • Vertrautheit mit Infrastructure-as-Code-(IaC-)Tools wie Terraform
  • Verständnis von Azure Resource Graph-REST-API für den Datenabruf

Wichtige Rollen und Zuständigkeiten

Das Programmatic Compliance-Tool ist eine Web-App, die Sie in Ihrem Azure-Abonnement bereitstellen. Es unterstützt drei Schlüsselpersonen im Compliance-Lebenszyklus: den Compliance Officer, den Service Owner und den Cloud Architect. Das Tool bietet eine umfassende Lösung, die die Suche nach Standard und Dienst sowie ein Szenario vor der Bereitstellung umfasst.

  • Der Compliance Officer muss sicherstellen, dass Microsoft Compliance-Funktionen für einen bestimmten Dienst bereitstellt, um die Branchen- oder internen Standards des Unternehmens zu erfüllen.

  • Der Service Owner muss das Risiko für den Dienst einschätzen und die Kontrollen und Richtlinien bewerten, um die Bereitstellung eines Dienstes zu genehmigen oder abzulehnen.

  • Der Cloud-Architekt muss alle Maßnahmen verstehen, die er ergreifen muss, um die Konformität und Sicherheit jedes Dienstes innerhalb seiner Lösung zu konfigurieren und aufrechtzuerhalten.

Informationen zum Zuweisen anderer Rollen finden Sie unter Benutzerdefinierte Richtlinien erstellen.

Anwendungsfälle und Funktionen

Das Tool „Programmatic Compliance“ ist in drei Hauptabschnitte unterteilt, um Ihren Complianceverwaltungsprozess zu optimieren. Mit nur wenigen Klicks können Sie die relevanten Complianceinformationen für die Berichterstellung oder Bereitstellung problemlos finden und exportieren.

Im ersten Abschnitt erfahren Sie mehr über die Maßnahmen, die Microsoft ergreift, um die Compliance aufrechtzuerhalten und Kontrolldomänen zu filtern, um sich auf bestimmte Bereiche wie die Netzwerksicherheit zu konzentrieren. Als Benutzer von Programmatic Compliance entscheiden Sie sich für einen regulatorischen Rahmen, der zu Ihrer Branche passt.

  • Compliance-Maßnahmen anzeigen: Entdecken Sie die Maßnahmen, die Microsoft ergreift, um die Compliance aufrechtzuerhalten.

  • Kontrolldomänen filtern: Konzentrieren Sie sich weiter auf bestimmte Domänen wie Netzwerksicherheit.

  • Einzelne Einträge erkunden: Tauchen Sie ein in die Einzelheiten der Compliance-Strategien von Microsoft.

    Screenshot des Abschnitts „Regulierungsrahmen“ im Tool „Programmatic Compliance“

Im zweiten Abschnitt können Sie einen einzelnen Dienst bewerten, die Konformität jedes Azure-Dienstes auswerten, konfigurierbare Konformitätsfunktionen überprüfen und integrierte Richtlinien überwachen, um Dienstbereitstellungen zu prüfen.

  • Bewerten Sie einzelne Azure-Dienste: Bewerten Sie die Konformität jedes einzelnen Azure-Dienstes.

  • Überprüfen Sie konfigurierbare Compliance-Funktionen: Überprüfen Sie bereitstellbare Servicefunktionen, um ausrichten mit Compliance-Standards zu verbinden.

  • Überwachungsrichtlinien überprüfen: Überprüfen Sie integrierte Richtlinien zum Überwachen von Dienstbereitstellungen.

    Screenshot des Abschnitts zur Bewertung der Dienstcompliance im Tool „Programmatic Compliance“

Der letzte Abschnitt bietet Optionen zur weiteren Analyse und zum Exportieren von Complianceinformationen in verschiedenen Formaten und nutzt API-Funktionen, um Compliancedaten programmgesteuert abzurufen und so nahtlose Updates zu ermöglichen.

  • Compliance-Informationen exportieren: Extrahieren Sie Daten in verschiedenen Formaten für die Compliance-Berichterstattung. Der folgende Screenshot zeigt einen Beispielexport im CSV-Format:

    Screenshot des Abschnitts zum Export der Complianceinformationen im Tool „Programmatic Compliance“

  • Nutzen Sie die API-Funktion: Rufen Sie Compliance-Daten programmgesteuert ab, um mühelose Aktualisierungen zu ermöglichen. Weitere Informationen finden Sie unter Informationen mithilfe der API abrufen.

Anmerkung

Derzeit unterstützt Programmatic Compliance nur Azure im Leistungsumfang von Microsoft enthaltenen Cloud-Plattformen und -Dienste.

Voraussetzungen für die Bereitstellung des Programmatic Compliance-Tools

  • Klonen Sie die Lösung/das Repository von https://github.com/microsoft/ProgrammaticCompliance.
  • Stellen Sie sicher, dass Sie über ein Azure-Abonnement mit Berechtigungen zum Erstellen und Verwalten von App-Registrierungen, zum Hinzufügen von user.impersonation- und user.read-Berechtigungen verfügen und Microsoft die Administratorzustimmung erteilen, um Änderungen durchzusetzen.
  • Vergewissern Sie sich, dass Sie die neueste Version von Terraform lokal installiert haben.
  • Vergewissern Sie sich, dass Sie die neueste Version von Az CLI lokal installiert haben.
  • Laden Sie herunter und installieren Sie Node.js, einschließlich Node Package Manager (NPM), für Ihr Betriebssystem. Nutzen Sie den Long Term Support (LTS), um neue Probleme mit der aktuellen Version zu vermeiden.
  • Verwenden Sie Visual Studio Code oder eine andere gleichwertige IDE, um Codeänderungen vorzunehmen.

Erstellen Sie die Azure-Web-App, die die UX hostet

Um die Azure-Web-App zu erstellen und bereitzustellen, die die UX hostet, führen Sie diese Schritte in der angegebenen Reihenfolge aus:

Azure -Web-App registrieren

  1. Gehen Sie zum Azure-Portal, suchen Sie und Auswählen App-Registrierungen.

  2. Geben Sie auf der App-Registrierungsseite Auswählen Neue Registrierung ein.

    Screenshot der Seite „App-Registrierungen“ im Azure-Portal

    1. Geben Sie der App einen Namen, zum Beispiel Programmatic Compliance.

    2. Wählen Sie unter Umleitungs-URI Single-Page-Anwendung (SPA) aus, und geben Sie https://webapp.azurewebsites.net als Wert ein. Der Umleitungs-URI ist die URL, die der in den nachfolgenden Schritten bereitgestellten Web-App zugewiesen wird. Sie können zurückkommen und diesen URI aktualisieren, nachdem die Web-App erstellt wurde. Denken Sie daran, die Kontrollkästchen für Zugriffstoken und ID-Token zu aktivieren.

    3. Wählen Sie Registrieren aus.

  3. Nachdem die App-Registrierung erfolgreich war, gehen Sie zu Ihre_neue_Registrierung > Verwalten > API-Berechtigungen und Auswählen Fügen Sie eine Berechtigung hinzu. Fügen Sie die folgenden delegierten Berechtigungen hinzu:

    • Azure Service Management mit user_impersonation Berechtigungen.

    • Microsoft Graph mit den Berechtigungen user.read .

  4. Kehren Sie zur Ansicht „API-Berechtigungen“ zurück und Auswählen erteilen Sie Microsoft die Administratorzustimmung, um die Änderungen anzuwenden.

  5. Wenn andere Benutzer Zugriff auf die App benötigen, folgen Sie die Schritte wie unter Zuweisen von Azure-Rollen an externe Benutzer über das Azure-Portal beschrieben, um sie Ihrem Mandanten als Gäste hinzuzufügen.

Web-App Azure mit Terraform bereitstellen

Anmerkung

Terraform ist das Bereitstellungstool für Infrastrukturskripts, das zum Einrichten der UX verwendet wird. Sie können auch das Azure-Portal verwenden, um die Web-App zu erstellen und den UX-Code bereitzustellen.

  1. Gehen Sie im Terminal Ihrer Wahl zum Stammordner der Terraform-Skripte.

    Set-Location -Path .\\pipeline\\terraform
    
  2. Erstellen Sie über das Portal ein Speicherkonto , das die Terraform-Statusdatei hostet.

  3. Erstellen Sie im zuvor erstellten Speicherkonto einen Container, der die Terraform-Statusdatei hostet.

  4. Erstellen Sie eine .tfvars-Datei, um die Terraform-Variablen einzurichten. Stellen Sie sicher, dass die Ressourcengruppe, die die UX-Web-App hostet, sich von der Ressourcengruppe des in den vorherigen Schritten erstellten Speicherkontos unterscheidet. Beispiel für den Inhalt einer .tfvars-Datei:

    resource_group_name = "ProgrammaticComplianceRG"
    location = "eastus"
    azure_app_name = "ProgrammaticCompliance"
    
  5. Melden Sie sich bei Ihrem Mandanten an, und stellen Sie sicher, dass Sie das Zielabonnement Ihrer Wahl verwenden.

    az login
    az account set -s <subscription id>
    az account show
    
  6. Initialisieren Sie das Terraform-Backend.

    terraform init 
    -backend-config="resource_group_name=${BACKEND_STORAGE_ACCOUNT_RG}" 
    -backend-config="storage_account_name=${BACKEND_STORAGE_ACCOUNT\_NAME}" 
    -backend-config="container_name=${BACKEND_STORAGE_CONTAINER_NAME}"
    

    wobei:
    BACKEND_STORAGE_ACCOUNT_RG ist die Ressourcengruppe des Speicherkontos, das die Terraform-Statusdatei hostet. BACKEND_STORAGE_ACCOUNT_NAME ist das Speicherkonto, das die Terraform-Statusdatei hostet. BACKEND_STORAGE_CONTAINER_NAME ist der Container des Speicherkontos, das die Terraform-Statusdatei hostet.

  7. Erstellen Sie den Terraform-Plan.

    terraform plan -out plan.tfplan
    

    Tipp

    Es empfiehlt sich, die Terraform-Plandatei zu speichern, damit Terraform nicht versucht, einen anderen Plan neu zu generieren, wenn Sie im nächsten Schritt den Befehl terraform apply ausführen.

  8. Erstellen Sie die Infrastruktur.

    terraform apply plan.tfplan
    

    Wichtig

    Aktualisieren Sie den Umleitungs-URI im Schritt App-Registrierungs- und Rollenkonfigurationen mit der tatsächlichen URL, die der Web-App nach ihrer Erstellung zugewiesen wird.

Projektabhängigkeiten vorbereiten

Führen Sie die folgenden Schritte in Ihrem Terminal aus dem Verzeichnis aus, in das Sie das Git-Repository geklont haben.

  1. Um zu überprüfen, ob Node.js und npm richtig installiert sind, öffnen Sie ein Terminal, und führen Sie die folgenden Befehle aus, um ihre Versionen zu prüfen:

    node -v
    
    npm -v
    

    Anmerkung

    Diese UX wurde mit Node.js v18.17.1 und npm v9.8.1 erstellt.

  2. Erstellen Sie eine .env-Datei mit dem folgenden Inhalt:

    REACT_APP_CLIENT_ID=<your value goes here>
    
    REACT_APP_TENANT_ID=<your value goes here>
    
    REACT_WEBAPP_URL=<your value goes here>
    

    Die eingegebenen Werte sind die Mandanten-ID, die die Azure-Web-App und ihre Registrierung hostet, sowie die Registrierungs-ID der Azure-Web-App, die im Schritt App-Registrierung und Rollenkonfigurationen konfiguriert ist.

    Anmerkung

    Der Dateiname lautet .env. Dies ist die Standardbenennungskonvention für eine React Umgebung-Variablendatei.

  3. Verwenden Sie npm, um Projektabhängigkeiten zu installieren, und warten Sie, bis der Vorgang abgeschlossen ist:

    npm install
    

    Wichtig

    Ignorieren Sie alle generierten Warnungen. Das Befolgen der vorgeschlagenen Befehle kann die Versionen verschiedener Abhängigkeiten ändern und deren Kompatibilität beeinträchtigen.

Den UX-Code für die erstellte Web-App bereitstellen

  1. Erstellen Sie eine ZIP-Datei, die den Quellcode im Stammverzeichnis des Projekts enthält:

    npm run build
    
    Compress-Archive -Path \* -DestinationPath deployment.zip
    
  2. Stellen Sie die ZIP-Datei in der Web-App bereit:

    az webapp deployment source config-zip --resource-group <WEBAPP_RESOURCE_GROUP> --name <WEBAPP_NAME> --src deployment.zip
    

Herzlichen Glückwunsch! Sie haben die Programmatic Compliance Web App erfolgreich bereitgestellt. Nun können Sie mit dem Testen des Tools beginnen.

Preisinformationen mit API abrufen

Sie können die Complianceinformationen programmgesteuert mit der Azure Resource Graph-REST-API (ARG) abrufen.

Dies ist eine Beispielabfrage, die vom Azure Kubernetes Service unterstützte Funktionen abruft, und die spezifische NIST 800-53 R4-Framework-Kontrolle SP-28 – Schutz ruhender Informationen zuordnet:

policyresources
| where type == "microsoft.policyinsights/policymetadata"
| where properties.metadata.offeringName == "Azure Kubernetes Service (AKS)" and properties.metadata.frameworkControlsMappings contains "NIST_SP_800-53_R4_SC-28"
| extend ItemName = properties.metadataId
| extend Service = properties.metadata.offeringName
| mv-expand features = properties.metadata.features
| extend FeatureName = features.featureName
| extend FeatureDescription = features.featureDescription
| extend FeatureGuidance = features.featureGuidance
| extend FeatureReference = features.featureReference
| extend MCSBID = properties.metadataId
| extend Metadata = properties.metadata
| extend AllProperties = properties
| project ItemName, Service, FeatureName, FeatureDescription, FeatureGuidance, FeatureReference, AllProperties

Eine Ausgabe der Beispielabfrage wird im folgenden Screenshot angezeigt:

Screenshot der API-Abfrageausgabe im Programmatic Compliance-Tool

Häufig gestellte Fragen

  • Welche Branchenstandards unterstützt das Programmatic Compliance-Tool?

    • CIS Azure 2.0.0
    • ISO 27001-2013
    • NIST SP 800-53 Rev. 4
    • PCI DSS 4.0
    • SOC 2 Type 2
  • Warum sind für bestimmte Azure-Dienste keine Richtlinien sichtbar?

    Derzeit verfügen nur wenige Azure-Dienste über Richtlinien zum Überwachen bestimmter Konfigurationseinstellungen.

  • Was bedeuten die drei Abschnitte des Programmatic Compliance-Tools?

    • Der erste Abschnitt beschreibt die Verpflichtungen von Microsoft, zum Zeitpunkt der Veröffentlichung einen bestimmten Branchenstandard zu erfüllen. Viele dieser Verpflichtungen bestehen auf Plattformebene und nicht für bestimmte Azure-Dienste.

    • Im zweiten Abschnitt werden die Pflichten des Kunden bei der Konfiguration und Bereitstellung des Azure-Dienstes erläutert, um die Einhaltung der branchenüblichen Kontrollstandards zu gewährleisten.

    • Der dritte Abschnitt enthält ausführliche Richtlinien für den Dienst Azure, die Sie bereitstellen können, um Ausrichtung des Dienstes mit der Industriestandardsteuerung zu überwachen.

Ressourcen

Haftungsausschluss

Die programmatische Compliance ist (1) nicht als Rechtsdienstleistung konzipiert, vorgesehen oder bereitgestellt und (2) nicht als Ersatz für professionelle Rechtsberatung oder Rechtsbeurteilung gedacht. Verwenden Sie die Daten und Inhalte nicht als Ersatz für die Beratung durch einen qualifizierten Rechtsexperten zu Ihren spezifischen Anforderungen.