2016-06-18 29 views
10

Ho appena distribuito un Service Fabric Cluster protetto (EncryptAndSign) con un LoadBalancer a una sottoscrizione di Azure. La distribuzione ha richiesto un po 'di tempo ma ha funzionato come previsto. Anche io in grado di connettersi al cluster via PowerShell:Servizio di manutenzione di Azure Fabric restituisce sempre 403

$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 

E 'anche possibile per me per distribuire un'applicazione al cluster tramite la porta 19000 con VisualStudio. All'interno del portale di Azure tutto sembra a posto, nessun avvertimento, nessun errore.

Unforum non riesco a collegarmi tramite la porta 19080 a Explorer. Mentre provo a connettermi tramite LoadBalancer, ricevo un Timeout della connessione. Così stabilito un RDP-Connection a uno dei nodi del cluster e ha cercato di accedere al Explorer localmente tramite

localhost:19080/Explorer 

Ma qui ricevo un Http-Errore 403 (Forbidden), che potrebbe essere il motivo per il timeout di connessione tramite Load-Balancer (poiché la sonda riceve sempre 403). Accroding alla Azure Documentation:

"Se si tenta di connettersi al servizio di tessuto Explorer su un cluster di sicuro, il browser vi chiederà di presentare un certificato al fine per ottenere l'accesso."

Bene, non è stato richiesto di presentare alcun certificato. Ho dimenticato qualcosa? C'è qualcosa di speciale da configurare? Grazie in anticipo.

risposta

9

Ok, questo non era così difficile, ma devi saperlo e non l'ho ancora letto da nessuna parte. Finché non si configura alcun certificato client Andmin, tutte le richieste a Explorer (: 19080/Explorer) terminano con un 403 come descritto sopra.

È possibile aggiungere un identificazione personale di un certificato client Admin nel portale: Azure Portal - Add Admin Certificate

e dovrebbe (non testato) funzionare anche con la seguente impostazione del braccio Template:

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

Come si può vedere, dovrebbe essere possibile (anche non testato) specificare più certificati in questo array.

+1

Ciao @fivet. Sto avendo lo stesso problema di te. Capisco che devo aggiungere un certificato Client Admin, ma quale certificato aggiungere? Devo farne uno nuovo? Come faccio a collegarlo al mio browser? Ci scusiamo per tutte le domande per principianti. Non ho mai usato certs side client prima quindi sono un po 'bloccato. –

+0

Btw, come te, posso accedere al cluster tramite il Cloud Explorer di Visual Studio –

+2

@NickBarrett, poiché è possibile definire più clientCerts in cui è possibile gestire le autorizzazioni con essi, il che consente ad es. condividere il non-admin-cert con gli altri in modo che possano accedere in sola lettura al cluster (ma non sono autorizzati a fare azioni di amministrazione come disattivare un nodo). Puoi anche rimuovere le impronte digitali cert tramite ad es. Portale di Azure per revocare l'accesso alla persona con tale certificato. Per questo motivo ti consiglio di creare almeno un nuovo certificato. L'integrazione del browser dipende dal tuo browser. In Firefox vai su Impostazioni -> Avanzate -> Certificati per gestire i certificati. – MrFiveT

Problemi correlati