Diese Scripted Action fügt private Endpoints und Dienst-Endpoints hinzu, sodass der App Service von Nerdio Manager seine SQL-Datenbank, seinen Key Vault und seine Automatisierungskonten über ein privates Netzwerk erreichen kann. Dabei wird kein Datenverkehr über das öffentliche Internet weitergeleitet. Anschließend wird der öffentliche Zugriff auf die Datenbank, den Key Vault und die anderen Komponenten, die abgedeckt werden, eingeschränkt.
Sie können das Skript jederzeit erneut ausführen, um neu aktivierte Komponenten in dasselbe private Netzwerk aufzunehmen. Das Skript aktiviert den öffentlichen Zugriff auf Komponenten, für die er bei einer früheren Ausführung eingeschränkt wurde, nicht erneut.
Das Skript deckt die folgenden Komponenten ab, sofern diese in Ihrer Umgebung bereitgestellt sind:
-
Nerdio Manager: den Key Vault, den SQL Server, das Nerdio Manager-Automatisierungskonto, das Automatisierungskonto für Scripted Actions, den App Service, das DPS-Storage-Konto und das Storage-Konto für Scripted Actions.
-
Cost Calculator: den Key Vault, das Storage-Konto und die Web-App.
-
Intune Insights: den Key Vault, den SQL Server und die Web-App.
-
Real-Time Insights: den Key Vault, den SQL Server, die Web-App und das Storage-Konto.
Wenn Sie eine Komponente aktivieren, nachdem Sie das Skript ausgeführt haben, führen Sie das Skript erneut aus, um sie in dasselbe private Netzwerk einzubinden. Das Skript berücksichtigt weder Azure Monitor noch Log Analytics noch Application Insights. Siehe Was das Skript nicht auf privaten Zugriff umstellt.
Wichtig
Mit dem Standardwert CssaStorageAccount (Restricted) oder mit Private schränkt das Skript den öffentlichen Zugriff auf das Storage-Konto für Scripted Actions ein. Wenn Ihre Azure Runbooks im Download-Modus ausgeführt werden, kann Azure Automation das Skript für keine Scripted Action mehr herunterladen, und jede spätere Scripted Action bleibt ohne Fehlermeldung wirkungslos. Dies schließt eine spätere Ausführung dieses Skripts ein. Stellen Sie den Ausführungsmodus für Azure Runbooks auf Inline Script um, bevor Sie das Skript ausführen. Weitere Informationen finden Sie unter Scripted Actions für Azure Runbooks.
-
Verlinken Sie die virtuellen Netzwerke, deren Hosts Zugriff auf das Storage-Konto für Scripted Actions oder auf den Real-Time Insights App Service benötigen, mit Nerdio Manager. Die Einstellungen für
Restrictederlauben den Zugriff nur aus den Subnetzen verlinkter Netzwerke. Siehe Azure-Umgebung: verlinkte Netzwerke und Ressourcengruppen. -
Stellen Sie sicher, dass die folgenden PowerShell-Module im Automatisierungskonto für Scripted Actions verfügbar sind:
Az.Accounts,Az.Resources,Az.KeyVault,Az.Sql,Az.Storage,Az.Websites,Az.Network,Az.PrivateDnsundAz.Automation. Wenn ein Modul fehlt, beendet das Skript die Ausführung, bevor es Änderungen vornimmt, und nennt das fehlende Modul.
Wenn Sie das Skript ausführen, geschieht Folgendes:
-
Erstellt das VNet für den privaten Endpoint und dessen Subnetze oder verwendet die bereits vorhandenen. Das Skript sucht zuerst in der Ressourcengruppe Nerdio Manager nach dem VNet und dann im Rest des Abonnements.
-
Erstellt private DNS-Zonen und verlinkt sie mit dem VNet oder verwendet Ihre vorhandenen Zonen (siehe
ExistingDNSZonesRGundSkipDNS). Das Skript sucht im Abonnement nach vorhandenen privaten Endpoints. -
Erstellt die privaten Endpoints, stellt eine Verbindung zwischen den App Services und dem App Service-Subnetz her und führt ein Peering der von Ihnen angegebenen VNets durch.
-
Führt eine Konnektivitätsprüfung vom VNet-integrierten App Service-Worker zum Key Vault (Port 443), zum SQL Server (Port 1433) und zum DPS-Storage-Konto (Blob, Port 443) durch. Wenn die Prüfung eines Ziels fehlschlägt, beendet das Skript die Ausführung mit einem Fehler. Bei dieser Ausführung wird keine Komponente auf privaten Zugriff umgestellt.
-
Deaktiviert den öffentlichen Netzwerkzugriff auf die abgedeckten Komponenten entsprechend den unten angegebenen Parametern. Wenn das Erstellen eines privaten Endpoints oder einer DNS-Zonengruppe fehlschlägt, stellt das Skript keine Komponente auf privaten Zugriff um und listet die betroffenen Komponenten auf.
-
Setzt den Mindestwert der TLS-Version für die Storage-Konten und SQL Server auf 1,2 und untersagt den anonymen öffentlichen Blob-Zugriff auf die Storage-Konten.
-
Warnt vor NSGs und Routentabellen, die an das Subnetz für private Endpoints oder das App Service-Subnetz angehängt sind. Das Skript meldet diese nur. Es ändert diese nicht.
-
Startet den Nerdio Manager App Service neu.
Wenn dasselbe Skript in den letzten 10 Minuten ausgeführt wurde, gibt das Skript den Output der früheren Ausführung wieder, anstatt es erneut auszuführen.
Um die Namen der Ressourcen anzupassen, die das Skript erstellt, wie z. B. Namen privater Endpoints, klonen Sie das Skript und bearbeiten Sie die Variablen am Anfang des Skripts.
Die folgenden Parameter können zur Laufzeit angegeben werden:
|
Parameter |
Standard |
Beschreibung |
|---|---|---|
|
|
|
VNet für private Endpoints. Wenn das VNet nicht existiert, wird es erstellt. Wenn Sie ein vorhandenes VNet angeben, muss das VNet oder dessen Ressourcengruppe mit Nerdio Manager unter System > Einstellungen > Azure verlinkt sein. |
|
|
|
Adressbereich für das VNet für private Endpoints. Wird ignoriert, wenn das VNet bereits vorhanden ist. |
|
|
|
Name des Subnetzes für den privaten Endpoint. Wenn das Subnetz nicht vorhanden ist, wird es erstellt. |
|
|
|
Adressbereich für das Subnetz des privaten Endpoints. Wird ignoriert, wenn das Subnetz bereits vorhanden ist. |
|
|
|
Name des App Service-Subnetzes. Wenn das Subnetz nicht vorhanden ist, wird es erstellt. |
|
|
|
Adressbereich für das App Service-Subnetz. Wird ignoriert, wenn das Subnetz bereits vorhanden ist. Informationen zum Anpassen der Größe eines vorhandenen Subnetzes finden Sie unter Größe des App Service-Subnetzes anpassen. |
|
|
Keine |
Wenn Sie bereits private DNS-Zonen für die Verwendung mit den neuen privaten Endpoints konfiguriert haben, geben Sie hier deren Ressourcengruppe an. Das Skript findet und verwendet die vorhandenen DNS-Zonen. Die Zonennamen finden Sie unter Private DNS-Zonen. AnmerkungDiese Ressourcengruppe muss unter System > Einstellungen > Azure mit Nerdio Manager verlinkt sein. Alternativ muss Nerdio Manager für die Zonen die Rolle „Private DNS Zone Contributor“ erhalten. |
|
|
Keine |
Die Abonnement-ID von |
|
|
|
Steuert den Netzwerkzugriff auf das Storage-Konto für Scripted Actions. Gültige Werte sind:
Das Skript aktiviert keine Dienst-Endpoints für Subnetze, die es nicht selbst erstellt hat. Das Skript meldet Subnetze ohne Dienst-Endpoint und überspringt sie. Wenn kein verlinktes Netzwerk ein Subnetz mit dem Dienst-Endpoint hat, ändert Eine restriktivere Einstellung wird bei einer späteren Ausführung niemals gelockert. Um den öffentlichen Zugriff wieder zu erlauben, ändern Sie dies im Azure-Portal. AnmerkungBei |
|
|
Keine |
Optional. Gültige Werte sind Wenn |
|
|
|
Begrenzt den Zugriff auf den Nerdio Manager App Service und die Intune Insights-Web-App. Wenn Sie es auf WarnungMöglicherweise können Sie nach Aktivierung dieser Option nicht mehr auf Nerdio Manager zugreifen. Das Zurücksetzen des Parameters auf |
|
|
|
Steuert den Netzwerkzugriff auf den Real-Time Insights-App Service. Gültige Werte sind:
Warnung
Real-Time Insights wird innerhalb von Nerdio Manager angezeigt, daher benötigt der Browser jedes Users, der es aufruft, Netzwerkzugriff auf den Real-Time Insights-App Service, nicht nur auf Nerdio Manager selbst. Wenn der Browser eines Users den App Service nicht erreichen kann, wird Real-Time Insights für diesen User nicht angezeigt, obwohl der App Service läuft. |
|
|
|
Überspringt das Erstellen, Suchen und Verlinken von DNS-Zonen, einschließlich der Zonengruppen, die die A-Datensätze für die privaten Endpoints schreiben. Verwenden Sie dies nur, wenn Sie DNS selbst verwalten. Das Skript bricht mit einem Fehler ab, wenn Sie sowohl WarnungDas Skript kann im selben Durchlauf weiterhin den öffentlichen Zugriff auf den Key Vault und den SQL Server deaktivieren. Bis Ihre DNS-Datensätze in die privaten Endpoints aufgelöst werden, kann Nerdio Manager diese nicht erreichen. |
Die folgende Tabelle zeigt, wie das Skript den öffentlichen Zugriff auf jeden App Service steuert.
|
App Service |
Gesteuert durch |
Verhalten |
|---|---|---|
|
Nerdio Manager-App Service |
|
Wenn auf |
|
Intune Insights-Web-App |
|
Für die Intune Insights-Web-App gelten dieselben Einstellungen wie für den Nerdio Manager-App Service, da sie in Nerdio Manager angezeigt wird. |
|
Cost Calculator-Web-App |
Nicht konfigurierbar |
Wird immer privat geschaltet, unabhängig von |
|
Real-Time Insights-App Service |
|
Real-Time Insights wird innerhalb von Nerdio Manager angezeigt, daher muss der Browser jedes Users, der es aufruft, auch diesen App Service erreichen können. |
-
Datenverkehr der Azure Resource Manager-Steuerungsebene (
management.azure.comodermanagement.usgovcloudapi.netin US Government-Clouds). -
Azure Monitor, Log Analytics-Workspaces und Application Insights. Das Skript ändert sie nicht.
-
Die Warteschlangen- und Datei-Unterressourcen von Storage-Konten. Das Skript erstellt für jedes betroffene Storage-Konto einen privaten Blob-Endpoint und für das Real-Time Insights-Storage-Konto einen privaten Tabellen-Endpoint, da die anderen Unterressourcen in Nerdio Manager nicht verwendet werden.
Das Skript erstellt die folgenden privaten DNS-Zonen oder findet sie in ExistingDNSZonesRG:
|
Dienst |
Azure Commercial |
Azure US Government |
|---|---|---|
|
Key Vault |
|
|
|
SQL Server |
|
|
|
Automatisierung |
|
|
|
Blob Storage |
|
|
|
Tabellenspeicher |
|
|
|
App Service |
|
|
Das Skript deaktiviert immer nur den öffentlichen Netzwerkzugriff. Es aktiviert ihn nie wieder. Um den öffentlichen Zugriff auf eine Ressource wieder zu erlauben, ändern Sie deren Netzwerkmanagement-Einstellungen im Azure-Portal.
-
Wenn Sie
SkipDNSauftruesetzen und die DNS-Datensätze für die privaten Endpoints nicht in die privaten IP-Adressen aufgelöst werden, kann Nerdio Manager nicht auf seinen Key Vault und SQL Server zugreifen. Das Laden der App schlägt mit dem Fehler 500.30 fehl. Erstellen Sie die DNS-Datensätze. Bis sie in die privaten IP-Adressen aufgelöst werden, können Sie im Azure-Portal den öffentlichen Zugriff auf den Key Vault und SQL Server zulassen. -
Wenn Sie Nerdio Manager nicht erreichen können, nachdem Sie
MakeAppServicePrivateauftruegesetzt haben, stellen Sie von einem Host im privaten VNet oder einem per Peering verbundenen VNet eine Verbindung her. Alternativ können Sie im Azure-Portal den öffentlichen Zugriff auf den App Service zulassen. -
Wenn Real-Time Insights für einige User nicht in Nerdio Manager angezeigt wird, nachdem Sie
RtiAppServiceaufRestrictedoderPrivategesetzt haben, können die Browser dieser User den Real-Time Insights-App Service nicht erreichen, obwohl der App Service ausgeführt wird. Lassen Sie diese User eine Verbindung über das private VNet oder ein per Peering verbundenes VNet herstellen. Wenn SieRtiAppServiceaufRestrictedsetzen, können sie auch über ein VNet auf der Zulassungsliste eine Verbindung herstellen. Dazu muss für ein Subnetz eines verlinkten Netzwerks der Dienst-EndpointMicrosoft.Webaktiviert sein. Alternativ können Sie im Azure-Portal den öffentlichen Zugriff auf den Real-Time Insights-App Service zulassen. -
Wenn Scripted Actions nicht mehr ausgeführt werden, nachdem das Storage-Konto für Scripted Actions eingeschränkt wurde, stellen Sie den Azure Runbook-Ausführungsmodus auf Inline Script um. Siehe Scripted Actions für Azure Runbooks.
Das Skript ändert nicht den Adressbereich eines bereits vorhandenen App Service-Subnetzes. Für die regionale VNet-Integration von App Service erfordert Azure ein Subnetz mit mindestens /28. Für die bis zu vier integrierten Apps wird ein /26-Subnetz empfohlen: den Nerdio Manager-App Service, Intune Insights, Cost Calculator und Real-Time Insights. Frühere Versionen des Skripts erstellten ein /28-Subnetz. Der Standardwert ist jetzt ein /26.
Das Skript beendet die Ausführung mit einem Fehler, wenn das vorhandene Subnetz kleiner als ein /28 ist, und gibt eine Warnung aus, wenn es ein /27 oder ein /28 ist. Sie können den Bereich eines Subnetzes nicht erweitern, während Apps damit integriert sind.
So erweitern Sie ein vorhandenes App Service-Subnetz
-
Entfernen Sie im Azure-Portal die VNet-Integration von jeder App, die das Subnetz verwendet.
-
Ändern Sie den Adressbereich des Subnetzes auf ein /26-Netz oder ein größeres Netz.
-
Führen Sie das Skript erneut aus. Es integriert die Apps wieder mit dem Subnetz.
Kommentare (0 Kommentare)