Share via


Skydda ett fristående kluster i Windows med hjälp av Windows-säkerhet

För att förhindra obehörig åtkomst till ett Service Fabric-kluster måste du skydda klustret. Säkerhet är särskilt viktigt när klustret kör produktionsarbetsbelastningar. Den här artikeln beskriver hur du konfigurerar nod-till-nod- och klient-till-nod-säkerhet med hjälp av Windows-säkerhet i ClusterConfig.JSON-filen . Processen motsvarar konfigurationssäkerhetssteget i Skapa ett fristående kluster som körs i Windows. Mer information om hur Service Fabric använder Windows-säkerhet finns i Klustersäkerhetsscenarier.

Anteckning

Du bör överväga valet av säkerhet från nod till nod noggrant eftersom det inte finns någon klusteruppgradering från ett säkerhetsval till ett annat. Om du vill ändra säkerhetsvalet måste du återskapa hela klustret.

Konfigurera Windows-säkerhet med hjälp av gMSA

gMSA är den rekommenderade säkerhetsmodellen. Exempelkonfigurationsfilen ClusterConfig.gMSA.Windows.MultiMachine.JSON som laddats ned med Microsoft.Azure.ServiceFabric.WindowsServer.< version>.zip fristående klusterpaket innehåller en mall för att konfigurera Windows-säkerhet med hjälp av grupphanterat tjänstkonto (gMSA):

"security": {
    "ClusterCredentialType": "Windows",
    "ServerCredentialType": "Windows",
    "WindowsIdentities": {  
        "ClustergMSAIdentity": "[gMSA Identity]",
        "ClusterSPN": "[Registered SPN for the gMSA account]",
        "ClientIdentities": [
            {
                "Identity": "domain\\username",
                "IsAdmin": true
            }
        ]
    }
}
Konfigurationsuppsättning Beskrivning
ClusterCredentialType Ställ in på Windows för att aktivera Windows-säkerhet för nod-nodkommunikation. 
ServerCredentialType Ställ in på Windows för att aktivera Windows-säkerhet för kommunikation med klientnoder.
WindowsIdentiteter Innehåller klustret och klientidentiteterna.
ClustergMSAIdentity Konfigurerar säkerhet från nod till nod. Ett grupphanterat tjänstkonto. Måste ha formatet "mysfgmsa@mydomain".
ClusterSPN Registrerat SPN för gMSA-konto
ClientIdentities Konfigurerar säkerhet från klient till nod. En matris med klientanvändarkonton.
Identitet Lägg till domänanvändaren, domän\användarnamn, för klientidentiteten.
IsAdmin Ange till true för att ange att domänanvändaren har administratörsklientåtkomst eller falskt för användarklientåtkomst.

Nod-till-nodsäkerhet konfigureras genom att ange ClustergMSAIdentity när Service Fabric måste köras under gMSA. För att skapa förtroenderelationer mellan noder måste de göras medvetna om varandra. Detta kan göras på två olika sätt: Ange det grupphanterade tjänstkontot som innehåller alla noder i klustret eller Ange den domändatorgrupp som innehåller alla noder i klustret. Vi rekommenderar starkt att du använder metoden Grupphanterat tjänstkonto (gMSA), särskilt för större kluster (mer än 10 noder) eller för kluster som sannolikt kommer att växa eller krympa.
Den här metoden kräver inte att en domängrupp skapas för vilken klusteradministratörer har beviljats åtkomstbehörighet för att lägga till och ta bort medlemmar. Dessa konton är också användbara för automatisk lösenordshantering. Mer information finns i Komma igång med grupphanterade tjänstkonton.

Säkerhet från klient till nod konfigureras med clientidentiteter. För att upprätta förtroende mellan en klient och klustret måste du konfigurera klustret så att det vet vilka klientidentiteter som det kan lita på. Detta kan göras på två olika sätt: Ange de domängruppsanvändare som kan ansluta eller ange de domännodanvändare som kan ansluta. Service Fabric stöder två olika åtkomstkontrolltyper för klienter som är anslutna till ett Service Fabric-kluster: administratör och användare. Åtkomstkontroll ger klusteradministratören möjlighet att begränsa åtkomsten till vissa typer av klusteråtgärder för olika användargrupper, vilket gör klustret säkrare. Administratörer har fullständig åtkomst till hanteringsfunktioner (inklusive läs-/skrivfunktioner). Användare har som standard bara läsbehörighet till hanteringsfunktioner (till exempel frågefunktioner) och möjlighet att lösa program och tjänster. Mer information om åtkomstkontroller finns i Rollbaserad åtkomstkontroll för Service Fabric-klienter.

Följande exempelsäkerhetsavsnitt konfigurerar Windows-säkerhet med gMSA och anger att datorerna i ServiceFabric.clusterA.contoso.com gMSA är en del av klustret och att CONTOSO\usera har administratörsklientåtkomst:

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

Konfigurera Windows-säkerhet med hjälp av en datorgrupp

Som beskrivs ovan är gMSA att föredra, men det stöds också att använda den här säkerhetsmodellen. Exempelkonfigurationsfilen ClusterConfig.Windows.MultiMachine.JSON som laddats ned med Microsoft.Azure.ServiceFabric.WindowsServer.< version>.zip fristående klusterpaket innehåller en mall för att konfigurera Windows-säkerhet. Windows-säkerhet konfigureras i avsnittet Egenskaper :

"security": {
    "ClusterCredentialType": "Windows",
    "ServerCredentialType": "Windows",
    "WindowsIdentities": {
        "ClusterIdentity" : "[domain\machinegroup]",
        "ClientIdentities": [{
            "Identity": "[domain\username]",
            "IsAdmin": true
        }]
    }
}
Konfigurationsuppsättning Beskrivning
ClusterCredentialType Ställ in på Windows för att aktivera Windows-säkerhet för nod-nodkommunikation. 
ServerCredentialType Ställ in på Windows för att aktivera Windows-säkerhet för kommunikation med klientnoder.
WindowsIdentiteter Innehåller klustret och klientidentiteterna.
ClusterIdentity Använd ett datorgruppnamn, domain\machinegroup, för att konfigurera säkerhet från nod till nod.
ClientIdentities Konfigurerar säkerhet från klient till nod. En matris med klientanvändarkonton.
Identitet Lägg till domänanvändaren, domän\användarnamn, för klientidentiteten.
IsAdmin Ange till true för att ange att domänanvändaren har administratörsklientåtkomst eller falskt för användarklientåtkomst.

Nod-till-nodsäkerhet konfigureras med hjälp av ClusterIdentity om du vill använda en datorgrupp inom en Active Directory-domän. Mer information finns i Skapa en datorgrupp i Active Directory.

Säkerhet från klient till nod konfigureras med hjälp av ClientIdentities. För att upprätta förtroende mellan en klient och klustret måste du konfigurera klustret så att det vet vilka klientidentiteter klustret kan lita på. Du kan upprätta förtroende på två olika sätt:

  • Ange vilka domängruppsanvändare som kan ansluta.
  • Ange de domännodanvändare som kan ansluta.

Service Fabric stöder två olika åtkomstkontrolltyper för klienter som är anslutna till ett Service Fabric-kluster: administratör och användare. Med åtkomstkontroll kan klusteradministratören begränsa åtkomsten till vissa typer av klusteråtgärder för olika användargrupper, vilket gör klustret säkrare. Administratörer har fullständig åtkomst till hanteringsfunktioner (inklusive läs-/skrivfunktioner). Användare har som standard bara läsbehörighet till hanteringsfunktioner (till exempel frågefunktioner) och möjlighet att lösa program och tjänster.

Följande exempelsäkerhetsavsnitt konfigurerar Windows-säkerhet, anger att datorerna i ServiceFabric/clusterA.contoso.com är en del av klustret och anger att CONTOSO\usera har administratörsklientåtkomst:

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

Anteckning

Service Fabric ska inte distribueras på en domänkontrollant. Kontrollera att ClusterConfig.json inte innehåller DOMÄNKONTROLLantens IP-adress när du använder en datorgrupp eller grupphanterat tjänstkonto (gMSA).

Nästa steg

När du har konfigurerat Windows-säkerhet i ClusterConfig.JSON-filen återupptar du klusterskapandeprocessen i Skapa ett fristående kluster som körs i Windows.

Mer information om hur säkerhet från nod till nod, säkerhet från klient till nod och rollbaserad åtkomstkontroll finns i Klustersäkerhetsscenarier.

Se Ansluta till ett säkert kluster för exempel på hur du ansluter med hjälp av PowerShell eller FabricClient.