Udostępnij za pośrednictwem


Zabezpieczanie autonomicznego klastra w systemie Windows przy użyciu zabezpieczeń systemu Windows

Aby zapobiec nieautoryzowanemu dostępowi do klastra usługi Service Fabric, należy zabezpieczyć klaster. Zabezpieczenia są szczególnie ważne, gdy klaster uruchamia obciążenia produkcyjne. W tym artykule opisano sposób konfigurowania zabezpieczeń typu węzeł-węzeł i klient-węzeł przy użyciu zabezpieczeń systemu Windows w pliku ClusterConfig.JSON . Proces odpowiada krokowi konfigurowania zabezpieczeń w sekcji Tworzenie klastra autonomicznego uruchomionego w systemie Windows. Aby uzyskać więcej informacji na temat sposobu korzystania z zabezpieczeń systemu Windows przez usługę Service Fabric, zobacz Scenariusze zabezpieczeń klastra.

Uwaga

Należy dokładnie rozważyć wybór zabezpieczeń węzła-węzła, ponieważ nie ma uaktualnienia klastra z jednego wyboru zabezpieczeń do innego. Aby zmienić wybór zabezpieczeń, należy ponownie skompilować pełny klaster.

Konfigurowanie zabezpieczeń systemu Windows przy użyciu usługi gMSA

gMSA jest preferowanym modelem zabezpieczeń. Przykładowy plik konfiguracji ClusterConfig.gMSA.Windows.MultiMachine.JSON pobrany z serwerem Microsoft.Azure.ServiceFabric.WindowsServer.<version>.zip autonomiczny pakiet klastra zawiera szablon służący do konfigurowania zabezpieczeń systemu Windows przy użyciu konta usługi zarządzanej przez grupę (gMSA):

"security": {
    "ClusterCredentialType": "Windows",
    "ServerCredentialType": "Windows",
    "WindowsIdentities": {  
        "ClustergMSAIdentity": "[gMSA Identity]",
        "ClusterSPN": "[Registered SPN for the gMSA account]",
        "ClientIdentities": [
            {
                "Identity": "domain\\username",
                "IsAdmin": true
            }
        ]
    }
}
Ustawienie konfiguracji Opis
Typ klastraCredentialType Ustaw wartość Windows, aby włączyć zabezpieczenia systemu Windows dla komunikacji węzła węzła. 
ServerCredentialType Ustaw wartość Windows, aby włączyć zabezpieczenia systemu Windows na potrzeby komunikacji między węzłami klienta.
WindowsIdentities Zawiera tożsamości klastra i klienta.
ClustergMSAIdentity Konfiguruje zabezpieczenia węzła-węzła. Konto usługi zarządzane przez grupę. Musi mieć format "mysfgmsa@mydomain".
ClusterSPN Zarejestrowano nazwę SPN dla konta usługi gMSA
Identyfikatory klienta Konfiguruje zabezpieczenia klient-węzeł. Tablica kont użytkowników klienta.
Tożsamość Dodaj użytkownika domeny, domenę\nazwę użytkownika dla tożsamości klienta.
IsAdmin Ustaw wartość true, aby określić, że użytkownik domeny ma dostęp klienta administratora lub wartość false dla dostępu klienta użytkownika.

Zabezpieczenia węzła do węzła są konfigurowane przez ustawienie ClustergMSAIdentity , gdy usługa Service Fabric musi być uruchamiana w ramach konta zarządzanego przez grupę. Aby można było tworzyć relacje zaufania między węzłami, muszą być one ze sobą świadome. Można to zrobić na dwa różne sposoby: określ konto usługi zarządzane przez grupę, które obejmuje wszystkie węzły w klastrze lub Określ grupę maszyny domeny, która zawiera wszystkie węzły w klastrze. Zdecydowanie zalecamy użycie podejścia konta usługi zarządzanego przez grupę (gMSA ), szczególnie w przypadku większych klastrów (więcej niż 10 węzłów) lub klastrów, które mogą rosnąć lub zmniejszać.
Takie podejście nie wymaga utworzenia grupy domen, dla której administratorzy klastra otrzymali prawa dostępu, aby dodawać i usuwać członków. Te konta są również przydatne do automatycznego zarządzania hasłami. Aby uzyskać więcej informacji, zobacz Wprowadzenie do kont usług zarządzanych przez grupę.

Zabezpieczenia klienta do węzła są konfigurowane przy użyciu identyfikatorów ClientIdentities. Aby ustanowić relację zaufania między klientem a klastrem, należy skonfigurować klaster, aby wiedzieć, które tożsamości klienta mogą ufać. Można to zrobić na dwa różne sposoby: określ użytkowników grupy domen, którzy mogą łączyć się lub określać użytkowników węzłów domeny, którzy mogą się łączyć. Usługa Service Fabric obsługuje dwa różne typy kontroli dostępu dla klientów połączonych z klastrem usługi Service Fabric: administratorem i użytkownikiem. Kontrola dostępu umożliwia administratorowi klastra ograniczenie dostępu do niektórych typów operacji klastra dla różnych grup użytkowników, dzięki czemu klaster jest bezpieczniejszy. Administratorzy mają pełny dostęp do funkcji zarządzania (w tym możliwości odczytu/zapisu). Użytkownicy domyślnie mają tylko dostęp do odczytu do funkcji zarządzania (na przykład możliwości zapytań) oraz możliwość rozpoznawania aplikacji i usług. Aby uzyskać więcej informacji na temat kontroli dostępu, zobacz Kontrola dostępu oparta na rolach dla klientów usługi Service Fabric.

Poniższa przykładowa sekcja zabezpieczeń konfiguruje zabezpieczenia systemu Windows przy użyciu konta gMSA i określa, że maszyny w ServiceFabric.clusterA.contoso.com gMSA są częścią klastra i że contoso\usera ma dostęp klienta administratora:

"security": {
    "ClusterCredentialType": "Windows",
    "ServerCredentialType": "Windows",
    "WindowsIdentities": {
        "ClustergMSAIdentity" : "ServiceFabric.clusterA.contoso.com",
        "ClusterSPN" : "http/servicefabric/clusterA.contoso.com",
        "ClientIdentities": [{
            "Identity": "CONTOSO\\usera",
            "IsAdmin": true
        }]
    }
}

Konfigurowanie zabezpieczeń systemu Windows przy użyciu grupy maszyn

Jak opisano powyżej, preferowane jest gMSA, ale jest również obsługiwane do korzystania z tego modelu zabezpieczeń. Przykładowy plik konfiguracji ClusterConfig.Windows.MultiMachine.JSON pobrany z pliku Microsoft.Azure.ServiceFabric.WindowsServer.<wersja>.zip autonomiczny pakiet klastra zawiera szablon do konfigurowania zabezpieczeń systemu Windows. Zabezpieczenia systemu Windows są konfigurowane w sekcji Właściwości :

"security": {
    "ClusterCredentialType": "Windows",
    "ServerCredentialType": "Windows",
    "WindowsIdentities": {
        "ClusterIdentity" : "[domain\machinegroup]",
        "ClientIdentities": [{
            "Identity": "[domain\username]",
            "IsAdmin": true
        }]
    }
}
Ustawienie konfiguracji Opis
Typ klastraCredentialType Ustaw wartość Windows, aby włączyć zabezpieczenia systemu Windows dla komunikacji węzła węzła. 
ServerCredentialType Ustaw wartość Windows, aby włączyć zabezpieczenia systemu Windows na potrzeby komunikacji między węzłami klienta.
WindowsIdentities Zawiera tożsamości klastra i klienta.
Identyfikator klastra Użyj nazwy grupy maszyny, domeny\machinegroup, aby skonfigurować zabezpieczenia węzła-węzła.
Identyfikatory klienta Konfiguruje zabezpieczenia klient-węzeł. Tablica kont użytkowników klienta.
Tożsamość Dodaj użytkownika domeny, domenę\nazwę użytkownika dla tożsamości klienta.
IsAdmin Ustaw wartość true, aby określić, że użytkownik domeny ma dostęp klienta administratora lub wartość false dla dostępu klienta użytkownika.

Zabezpieczenia węzła do węzła są konfigurowane za pomocą ustawienia ClusterIdentity, jeśli chcesz użyć grupy maszyn w ramach domena usługi Active Directory. Aby uzyskać więcej informacji, zobacz Tworzenie grupy maszyn w usłudze Active Directory.

Zabezpieczenia klient-węzeł są konfigurowane przy użyciu identyfikatorów ClientIdentities. Aby ustanowić relację zaufania między klientem a klastrem, należy skonfigurować klaster, aby znać tożsamości klientów, którym klaster może ufać. Zaufanie można ustanowić na dwa różne sposoby:

  • Określ użytkowników grupy domen, którzy mogą się łączyć.
  • Określ użytkowników węzła domeny, którzy mogą się łączyć.

Usługa Service Fabric obsługuje dwa różne typy kontroli dostępu dla klientów połączonych z klastrem usługi Service Fabric: administratorem i użytkownikiem. Kontrola dostępu umożliwia administratorowi klastra ograniczenie dostępu do niektórych typów operacji klastra dla różnych grup użytkowników, co sprawia, że klaster jest bezpieczniejszy. Administratorzy mają pełny dostęp do funkcji zarządzania (w tym możliwości odczytu/zapisu). Użytkownicy domyślnie mają tylko dostęp do odczytu do funkcji zarządzania (na przykład możliwości zapytań) oraz możliwość rozpoznawania aplikacji i usług.

Poniższa przykładowa sekcja zabezpieczeń konfiguruje zabezpieczenia systemu Windows, określa, że maszyny w usłudze ServiceFabric/clusterA.contoso.com są częścią klastra i określa, że contoso\usera ma dostęp klienta administratora:

"security": {
    "ClusterCredentialType": "Windows",
    "ServerCredentialType": "Windows",
    "WindowsIdentities": {
        "ClusterIdentity" : "ServiceFabric/clusterA.contoso.com",
        "ClientIdentities": [{
            "Identity": "CONTOSO\\usera",
            "IsAdmin": true
        }]
    }
},

Uwaga

Usługa Service Fabric nie powinna być wdrażana na kontrolerze domeny. Upewnij się, że ClusterConfig.json nie zawiera adresu IP kontrolera domeny podczas korzystania z grupy maszyn lub zarządzanego konta usługi grupy (gMSA).

Następne kroki

Po skonfigurowaniu zabezpieczeń systemu Windows w pliku ClusterConfig.JSON wznów proces tworzenia klastra w sekcji Tworzenie autonomicznego klastra uruchomionego w systemie Windows.

Aby uzyskać więcej informacji na temat sposobu zabezpieczeń typu węzeł-węzeł, zabezpieczeń typu klient-węzeł i kontroli dostępu opartej na rolach, zobacz Scenariusze zabezpieczeń klastra.

Zobacz Nawiązywanie połączenia z bezpiecznym klastrem , aby zapoznać się z przykładami nawiązywania połączenia przy użyciu programu PowerShell lub fabricClient.