2016-06-18 10 views
10

Ich habe gerade einen gesicherten Service Fabric Cluster (EncryptAndSign) mit einem LoadBalancer für ein Azure-Abonnement bereitgestellt. Die Bereitstellung dauerte einige Zeit, aber es funktionierte wie erwartet. Auch kann ich mit dem Cluster über Powershell verbinden:Azure Service Fabric Explorer gibt immer 403 zurück

$connectionEndpoint = ("{0}.{1}.cloudapp.azure.com:19000" -f 
    "mycluster", "somewhere") 

Connect-serviceFabricCluster -ConnectionEndpoint $connectionEndpoint ` 
    -KeepAliveIntervalInSec 10 ` 
    -X509Credential ` 
    -ServerCertThumbprint "..." ` 
    -FindType FindByThumbprint ` 
    -FindValue $clusterCertificate.Thumbprint ` 
    -StoreLocation CurrentUser -StoreName My 

Es ist auch möglich, dass ich einen Antrag an den Cluster über den Port 19000 mit Visual Studio zu implementieren. Innerhalb des Azure-Portals sieht alles gut aus, keine Warnung, keine Fehler.

Leider kann ich nicht über Port 19080 mit dem Explorer verbinden. Während ich versuche über den LoadBalancer eine Verbindung herzustellen, erhalte ich ein Verbindungs-Timeout. So wurde eine RDP-Verbindung zu einem der Knoten im Cluster und versuchte, den Explorer für den Zugriff auf lokal über

localhost:19080/Explorer 

Aber hier erhalte ich einen Http-Fehler 403 (Forbidden), die der Grund für die Verbindungs-Timeout sein könnte über Load-Balancer (da die Sonde immer 403 empfängt). Accroding zum Azure Documentation:

„Wenn Sie auf Service Fabric Explorer auf einem sicheren Cluster zu verbinden versuchen, Ihr Browser wird Sie bitten, eine Bescheinigung vorzulegen, um um Zugang zu erhalten.“

Nun, ich wurde nicht aufgefordert, ein Zertifikat vorzulegen. Habe ich etwas verpasst? Gibt es etwas Besonderes zu konfigurieren? Danke im Voraus.

Antwort

9

Okay, das war nicht so schwierig - aber Sie müssen es wissen und ich habe es noch nirgends gelesen. Solange Sie kein Andmin Client-Zertifikat konfigurieren, endet Ihre gesamte Anfrage an den Explorer (: 19080/Explorer) mit einem 403, wie oben beschrieben.

Sie können einen Fingerabdruck eines Admin-Client-Zertifikats im Portal hinzufügen: Azure Portal - Add Admin Certificate

Und es sollte (ungetestet) auch mit folgenden Einstellung in Ihren ARM Template arbeiten:

{ 
    "type": "Microsoft.ServiceFabric/clusters", 
    ... 
    "properties": { 
    ... 
    "ClientCertificateThumbprints": [ 
     { 
     "CertificateThumbprint": "THUMBPRINT_HERE", 
     "IsAdmin": true 
     } 
    ], 
    ... 
    } 
} 

Wie Sie kann sehen, es sollte möglich sein (auch ungetestet), mehrere Zertifikate in diesem Array anzugeben.

+1

Hallo @fivet. Ich habe das gleiche Problem wie du. Ich verstehe, dass ich ein Admin-Client-Zertifikat hinzufügen muss, aber welches Zertifikat muss ich hinzufügen? Muss ich ein neues machen? Wie verknüpfe ich es mit meinem Browser? Entschuldigung für alle neuen Fragen. Ich habe noch nie clientseitige Zertifikate verwendet, daher bin ich ein bisschen festgefahren. –

+0

Btw, wie Sie Ich kann den Cluster über Visual Studio Cloud Explorer –

+2

@ NickBarrett zugreifen, da s Sie mehrere ClientCerts definiert haben können Sie Berechtigungen mit ihnen verwalten, die Sie z. um das Nicht-Admin-Cert mit anderen zu teilen, so dass sie nur lesend auf den Cluster zugreifen können (aber sie dürfen keine Admin-Aktionen wie das Deaktivieren eines Knotens ausführen). Sie können die Cert-Fingerabdrücke auch z. Azure Portal, um den Zugriff auf die Person mit diesem Zertifikat zu widerrufen. Aus diesem Grund würde ich Ihnen empfehlen, mindestens ein neues Zertifikat zu erstellen. Die Browser-Integration hängt von Ihrem Browser ab. In Firefox navigieren Sie zu Einstellungen -> Erweitert -> Zertifikate, um die Zertifikate zu verwalten. – MrFiveT

Verwandte Themen