Delen via


Een zelfstandig cluster in Windows beveiligen met behulp van Windows-beveiliging

Als u onbevoegde toegang tot een Service Fabric-cluster wilt voorkomen, moet u het cluster beveiligen. Beveiliging is vooral belangrijk wanneer het cluster productieworkloads uitvoert. In dit artikel wordt beschreven hoe u beveiliging tussen knooppunten en client-naar-knooppunten configureert met behulp van Windows-beveiliging in het ClusterConfig.JSON-bestand . Het proces komt overeen met de beveiligingsstap configureren van het maken van een zelfstandig cluster dat wordt uitgevoerd in Windows. Zie Clusterbeveiligingsscenario's voor meer informatie over hoe Service Fabric gebruikmaakt van Windows-beveiliging.

Notitie

Overweeg zorgvuldig de selectie van beveiliging tussen knooppunten, omdat er geen clusterupgrade van de ene beveiligingskeuze naar een andere is. Als u de beveiligingsselectie wilt wijzigen, moet u het volledige cluster opnieuw bouwen.

Windows-beveiliging configureren met gMSA

gMSA is het voorkeursbeveiligingsmodel. Het voorbeeld ClusterConfig.gMSA.Windows.MultiMachine.JSON configuratiebestand dat is gedownload met de Microsoft.Azure.ServiceFabric.WindowsServer.<versie>.zip zelfstandig clusterpakket bevat een sjabloon voor het configureren van Windows-beveiliging met behulp van GMSA (Group Managed Service Account):

"security": {
    "ClusterCredentialType": "Windows",
    "ServerCredentialType": "Windows",
    "WindowsIdentities": {  
        "ClustergMSAIdentity": "[gMSA Identity]",
        "ClusterSPN": "[Registered SPN for the gMSA account]",
        "ClientIdentities": [
            {
                "Identity": "domain\\username",
                "IsAdmin": true
            }
        ]
    }
}
Configuratie-instelling Beschrijving
ClusterCredentialType Stel deze optie in op Windows om Windows-beveiliging in te schakelen voor communicatie tussen knooppunten. 
ServerCredentialType Stel deze optie in op Windows om Windows-beveiliging in te schakelen voor communicatie tussen clientknooppunten.
WindowsId-entiteiten Bevat de cluster- en clientidentiteiten.
ClustergMSAIdentity Hiermee configureert u beveiliging tussen knooppunten. Een door een groep beheerd serviceaccount. Moet de indeling 'mysfgmsa@mydomain' hebben.
ClusterSPN Geregistreerde SPN voor gMSA-account
ClientId-entiteiten Hiermee configureert u de beveiliging van client-naar-knooppunten. Een matrix met clientgebruikersaccounts.
Identiteit Voeg de domeingebruiker, domein\gebruikersnaam, toe voor de clientidentiteit.
IsAdmin Stel in op true om op te geven dat de domeingebruiker beheerdersclienttoegang of onwaar heeft voor gebruikersclienttoegang.

Knooppuntbeveiliging naar knooppunt wordt geconfigureerd door ClustergMSAIdentity in te stellen wanneer service fabric moet worden uitgevoerd onder gMSA. Om vertrouwensrelaties tussen knooppunten te bouwen, moeten ze op de hoogte worden gesteld van elkaar. Dit kan op twee verschillende manieren worden bereikt: geef het door de groep beheerde serviceaccount op dat alle knooppunten in het cluster bevat of geef de domeincomputergroep op die alle knooppunten in het cluster bevat. We raden u ten zeerste aan om de GMSA-benadering (Group Managed Service Account) te gebruiken, met name voor grotere clusters (meer dan 10 knooppunten) of voor clusters die waarschijnlijk toenemen of verkleinen.
Voor deze aanpak is het maken van een domeingroep waarvoor clusterbeheerders toegangsrechten hebben gekregen om leden toe te voegen en te verwijderen, niet vereist. Deze accounts zijn ook handig voor automatisch wachtwoordbeheer. Zie Aan de slag met door groepen beheerde serviceaccounts voor meer informatie.

Client-naar-knooppuntbeveiliging wordt geconfigureerd met behulp van ClientId-entiteiten. Als u een vertrouwensrelatie tot stand wilt brengen tussen een client en het cluster, moet u het cluster configureren om te weten welke clientidentiteiten het kan vertrouwen. U kunt dit op twee verschillende manieren doen: geef de domeingroepgebruikers op die verbinding kunnen maken of de domeinknooppuntgebruikers kunnen opgeven die verbinding kunnen maken. Service Fabric ondersteunt twee verschillende typen toegangsbeheer voor clients die zijn verbonden met een Service Fabric-cluster: beheerder en gebruiker. Toegangsbeheer biedt de clusterbeheerder de mogelijkheid om de toegang tot bepaalde typen clusterbewerkingen voor verschillende groepen gebruikers te beperken, waardoor het cluster veiliger wordt. Beheerders hebben volledige toegang tot beheermogelijkheden (inclusief lees-/schrijfmogelijkheden). Gebruikers hebben standaard alleen leestoegang tot beheermogelijkheden (bijvoorbeeld querymogelijkheden) en de mogelijkheid om toepassingen en services op te lossen. Zie Op rollen gebaseerd toegangsbeheer voor Service Fabric-clients voor meer informatie over toegangsbeheer.

In het volgende voorbeeld van de beveiligingssectie wordt Windows-beveiliging geconfigureerd met gMSA en wordt aangegeven dat de computers in ServiceFabric.clusterA.contoso.com gMSA deel uitmaken van het cluster en dat CONTOSO\usera beheerdersclienttoegang heeft:

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

Windows-beveiliging configureren met behulp van een computergroep

Zoals hierboven beschreven, heeft gMSA de voorkeur, maar het wordt ook ondersteund om dit beveiligingsmodel te gebruiken. Het voorbeeld van ClusterConfig.Windows.MultiMachine.JSON configuratiebestand dat is gedownload met de Microsoft.Azure.ServiceFabric.WindowsServer.<versie>.zip zelfstandig clusterpakket bevat een sjabloon voor het configureren van Windows-beveiliging. Windows-beveiliging is geconfigureerd in de sectie Eigenschappen :

"security": {
    "ClusterCredentialType": "Windows",
    "ServerCredentialType": "Windows",
    "WindowsIdentities": {
        "ClusterIdentity" : "[domain\machinegroup]",
        "ClientIdentities": [{
            "Identity": "[domain\username]",
            "IsAdmin": true
        }]
    }
}
Configuratie-instelling Beschrijving
ClusterCredentialType Stel deze optie in op Windows om Windows-beveiliging in te schakelen voor communicatie tussen knooppunten. 
ServerCredentialType Stel deze optie in op Windows om Windows-beveiliging in te schakelen voor communicatie tussen clientknooppunten.
WindowsId-entiteiten Bevat de cluster- en clientidentiteiten.
ClusterIdentity Gebruik een computergroepnaam, domein\machinegroup, om beveiliging van knooppunt-naar-knooppunt te configureren.
ClientId-entiteiten Hiermee configureert u de beveiliging van client-naar-knooppunten. Een matrix met clientgebruikersaccounts.
Identiteit Voeg de domeingebruiker, domein\gebruikersnaam, toe voor de clientidentiteit.
IsAdmin Stel in op true om op te geven dat de domeingebruiker beheerdersclienttoegang of onwaar heeft voor gebruikersclienttoegang.

Knooppunt-naar-knooppuntbeveiliging is geconfigureerd met behulp van ClusterIdentity als u een computergroep binnen een Active Directory-domein wilt gebruiken. Zie Een machinegroep maken in Active Directory voor meer informatie.

Client-naar-knooppuntbeveiliging wordt geconfigureerd met behulp van ClientId-entiteiten. Als u een vertrouwensrelatie tot stand wilt brengen tussen een client en het cluster, moet u het cluster configureren om de clientidentiteiten te kennen die het cluster kan vertrouwen. U kunt vertrouwen op twee verschillende manieren tot stand brengen:

  • Geef de domeingroepgebruikers op die verbinding kunnen maken.
  • Geef de domeinknooppuntgebruikers op die verbinding kunnen maken.

Service Fabric ondersteunt twee verschillende typen toegangsbeheer voor clients die zijn verbonden met een Service Fabric-cluster: beheerder en gebruiker. Met toegangsbeheer kan de clusterbeheerder de toegang tot bepaalde typen clusterbewerkingen beperken voor verschillende groepen gebruikers, waardoor het cluster veiliger wordt. Beheerders hebben volledige toegang tot beheermogelijkheden (inclusief lees-/schrijfmogelijkheden). Gebruikers hebben standaard alleen leestoegang tot beheermogelijkheden (bijvoorbeeld querymogelijkheden) en de mogelijkheid om toepassingen en services op te lossen.

In het volgende voorbeeld van de beveiligingssectie wordt Windows-beveiliging geconfigureerd, wordt aangegeven dat de machines in ServiceFabric/clusterA.contoso.com deel uitmaken van het cluster en geeft u op dat CONTOSO\usera beheerdersclienttoegang heeft:

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

Notitie

Service Fabric mag niet worden geïmplementeerd op een domeincontroller. Zorg ervoor dat ClusterConfig.json het IP-adres van de domeincontroller niet opneemt wanneer u een computergroep of een beheerd serviceaccount (gMSA) gebruikt.

Volgende stappen

Nadat u Windows-beveiliging in het ClusterConfig.JSON-bestand hebt geconfigureerd, hervat u het proces voor het maken van het cluster in Een zelfstandig cluster maken dat wordt uitgevoerd in Windows.

Zie Clusterbeveiligingsscenario's voor meer informatie over de beveiliging van knooppunten, client-naar-knooppuntbeveiliging en op rollen gebaseerd toegangsbeheer.

Zie Verbinding maken met een beveiligd cluster voor voorbeelden van verbinding maken met behulp van PowerShell of FabricClient.