Szybki start: tworzenie przypisania zasad w celu identyfikowania niezgodnych zasobów przy użyciu interfejsu wiersza polecenia platformy Azure
Pierwszym krokiem do zrozumienia pojęcia zgodności na platformie Azure jest określenie obecnej sytuacji dotyczącej Twoich zasobów. W tym przewodniku Szybki start utworzysz przypisanie zasad w celu zidentyfikowania niezgodnych zasobów przy użyciu interfejsu wiersza polecenia platformy Azure. Zasady są przypisywane do grupy zasobów i przeprowadza inspekcję maszyn wirtualnych, które nie korzystają z dysków zarządzanych. Po utworzeniu przypisania zasad należy zidentyfikować niezgodne maszyny wirtualne.
Interfejs wiersza polecenia platformy Azure umożliwia tworzenie zasobów Azure i zarządzanie nimi z poziomu wiersza polecenia lub skryptów. W tym przewodniku interfejs wiersza polecenia platformy Azure używany jest do utworzenia przypisania zasad i zidentyfikowania niezgodnych zasobów w środowisku Azure.
Podczas przypisywania wbudowanej definicji zasad lub inicjatywy opcjonalne jest odwołanie do wersji. Przypisania zasad wbudowanych definicji są domyślne dla najnowszej wersji i automatycznie dziedziczą drobne zmiany wersji, chyba że określono inaczej.
Wymagania wstępne
- Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Interfejs wiersza polecenia platformy Azure.
- Program Visual Studio Code
Microsoft.PolicyInsights
musi być zarejestrowana w ramach subskrypcji platformy Azure. Aby zarejestrować dostawcę zasobów, musisz mieć uprawnienia do rejestrowania dostawców zasobów. To uprawnienie jest uwzględniane w rolach Współautor i Właściciel.- Grupa zasobów z co najmniej jedną maszyną wirtualną, która nie korzysta z dysków zarządzanych.
Łączenie się z platformą Azure
Z poziomu sesji terminalu programu Visual Studio Code nawiąż połączenie z platformą Azure. Jeśli masz więcej niż jedną subskrypcję, uruchom polecenia, aby ustawić kontekst na subskrypcję. Zamień wartość <subscriptionID>
na identyfikator swojej subskrypcji platformy Azure.
az login
# Run these commands if you have multiple subscriptions
az account list --output table
az account set --subscription <subscriptionID>
Rejestrowanie dostawcy zasobów
Po zarejestrowaniu dostawcy zasobów jest on dostępny do użycia w ramach subskrypcji platformy Azure.
Aby sprawdzić, czy Microsoft.PolicyInsights
jest zarejestrowany, uruchom polecenie Get-AzResourceProvider
. Dostawca zasobów zawiera kilka typów zasobów. Jeśli wynik zostanie NotRegistered
uruchomiony Register-AzResourceProvider
:
az provider show \
--namespace Microsoft.PolicyInsights \
--query "{Provider:namespace,State:registrationState}" \
--output table
az provider register --namespace Microsoft.PolicyInsights
Polecenia interfejsu wiersza polecenia platformy Azure używają ukośnika odwrotnego (\
) do kontynuacji wiersza w celu zwiększenia czytelności. Aby uzyskać więcej informacji, przejdź do polecenia az provider.
Utworzenie przypisania zasad
Użyj następujących poleceń, aby utworzyć nowe przypisanie zasad dla grupy zasobów. W tym przykładzie użyto istniejącej grupy zasobów zawierającej maszynę wirtualną bez dysków zarządzanych. Grupa zasobów jest zakresem przypisania zasad. W tym przykładzie użyto wbudowanej definicji zasad Inspekcja maszyn wirtualnych, które nie korzystają z dysków zarządzanych.
Uruchom następujące polecenia i zastąp <resourceGroupName>
ciąg nazwą grupy zasobów:
rgid=$(az group show --resource-group <resourceGroupName> --query id --output tsv)
definition=$(az policy definition list \
--query "[?displayName=='Audit VMs that do not use managed disks']".name \
--output tsv)
Zmienna rgid
przechowuje identyfikator grupy zasobów. Zmienna definition
przechowuje nazwę definicji zasad, która jest identyfikatorem GUID.
Uruchom następujące polecenie, aby utworzyć przypisanie zasad:
az policy assignment create \
--name 'audit-vm-managed-disks' \
--display-name 'Audit VM managed disks' \
--scope $rgid \
--policy $definition \
--description 'Azure CLI policy assignment to resource group'
name
Tworzy nazwę przypisania zasad używaną w przypisania przypisaniaResourceId
.display-name
to nazwa przypisania zasad i jest widoczna w witrynie Azure Portal.scope
używa zmiennej$rgid
w celu przypisania zasad do grupy zasobów.policy
przypisuje definicję zasad przechowywaną w zmiennej$definition
.description
można użyć do dodania kontekstu dotyczącego przypisania zasad.
Wyniki przypisania zasad przypominają następujący przykład:
"description": "Azure CLI policy assignment to resource group",
"displayName": "Audit VM managed disks",
"enforcementMode": "Default",
"id": "/subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments/audit-vm-managed-disks",
"identity": null,
"location": null,
"metadata": {
"createdBy": "11111111-1111-1111-1111-111111111111",
"createdOn": "2024-02-23T18:42:27.4780803Z",
"updatedBy": null,
"updatedOn": null
},
"name": "audit-vm-managed-disks",
Jeśli chcesz ponownie odtworzyć informacje o przypisaniu zasad, uruchom następujące polecenie:
az policy assignment show --name "audit-vm-managed-disks" --scope $rgid
Aby uzyskać więcej informacji, zobacz az policy assignment (az policy assignment).
Identyfikowanie niezgodnych zasobów
Stan zgodności dla nowego przypisania zasad może potrwać kilka minut i dostarczyć wyniki dotyczące stanu zasad.
Użyj następującego polecenia, aby zidentyfikować zasoby, które nie są zgodne z utworzonym przypisaniem zasad:
policyid=$(az policy assignment show \
--name "audit-vm-managed-disks" \
--scope $rgid \
--query id \
--output tsv)
az policy state list --resource $policyid --filter "(isCompliant eq false)"
Zmienna policyid
używa wyrażenia, aby uzyskać identyfikator przypisania zasad. Parametr filter
ogranicza dane wyjściowe do niezgodnych zasobów.
Dane az policy state list
wyjściowe są pełne, ale w tym artykule complianceState
są wyświetlane następujące elementy NonCompliant
:
"complianceState": "NonCompliant",
"components": null,
"effectiveParameters": "",
"isCompliant": false,
Aby uzyskać więcej informacji, przejdź do polecenia az policy state.
Czyszczenie zasobów
Aby usunąć przypisanie zasad, uruchom następujące polecenie:
az policy assignment delete --name "audit-vm-managed-disks" --scope $rgid
Aby wylogować się z sesji interfejsu wiersza polecenia platformy Azure:
az logout
Następne kroki
W tym przewodniku Szybki start została przypisana definicja zasad mających na celu zidentyfikowanie niezgodnych zasobów w środowisku platformy Azure.
Aby dowiedzieć się więcej na temat przypisywania zasad, które weryfikują zgodność zasobów, przejdź do samouczka.