2013-11-23 22 views
16

Ho cercato in modo approfondito - scuse in anticipo se mi manca una risposta ovvia. Seguito le raccomandazioni al link sottostante e la soluzione non ha funzionato. La soluzione inoltre non indica se si applica a un server Web di produzione che esegue IIS e SQL Server su computer separati. Add IIS 7 AppPool Identities as SQL Server LogonsCrea accesso SQL Server per IIS APPPOOL - IIS e SQL Server su macchine diverse

collegamento di Microsoft qui sotto non fornisce la sintassi specifica per la creazione di uno SQL Server login di Windows: http://www.iis.net/learn/manage/configuring-security/application-pool-identities

Il nostro obiettivo è quello di distribuire in modo sicuro un ASP.NET applicazioni web 4.0 al pubblico su un computer Server 2008 R2 eseguire IIS 7.5 nel nostro ambiente di produzione. Come da best practice, abbiamo SQL Server 2008 in esecuzione su un computer separato nello stesso dominio. Vogliamo utilizzare l'autenticazione di Windows Sever Sever senza rappresentazione per consentire all'applicazione ASP.NET nella casella IIS e SQL Server di comunicare. Attualmente una stringa di connessione di accesso di SQL Server consente l'applicazione .NET per connettersi a SQL Server ma vogliamo aggiornare la stringa di connessione per essere un account di accesso di Windows di SQL Server per essere più sicuri.

In IIS 7.5 abbiamo configurato un pool di applicazioni per il sito web. Nell'ambito delle impostazioni avanzate del pool di applicazioni, l'account predefinito ha provato a utilizzare senza problemi sia ApplicationPoolIdentity che il servizio di rete. Si dice che la migliore pratica sia l'uso di ApplicationPoolIdentity per una maggiore sicurezza.

Il passaggio che non riesce è la creazione di un accesso di Windows Server di Windows.

Abbiamo seguito le seguenti operazioni per il primo link:

  1. In SQL Server Management Studio, cercare la cartella di sicurezza (la cartella di sicurezza allo stesso livello come i database, gli oggetti del server, ecc . cartelle ... non la cartella di sicurezza all'interno di ogni singolo database)

  2. login fare clic destro e selezionare "Nuovo login"

  3. Nel campo nome di accesso, il tipo IIS APPPOOL\YourAppPoolName - non fare clic mare RCH

  4. Fill qualunque altri valori che ti piace (per esempio, tipo di autenticazione, database predefinito, ecc)

  5. Fare clic su OK

Potete per favore dirmi con IIS 7.5 e di essere SQL Server su caselle separate, quale sintassi devo utilizzare per creare l'accesso alla finestra di SQL Server?

ho provato: "mydomain\machine1$\IIS APPPOOL\MyAppPoolName" molte volte senza successo.
messaggio di errore è: "Windows NT User or group IIS APPPOOL\MyAppPoolName can not be found"

ho usato il nome di rete del server web al posto di machine1 (insieme con il nome effettivo app pool, e il nome di dominio).

Grazie in anticipo per il vostro aiuto.

PS Sarebbe bello se Microsoft ha fornito un tutorial passo passo su come raggiungere questo obiettivo comune e quello che dovrebbe essere un compito facile.Le vostre risposte qui su StackOverflow aiuterà molte persone :)

risposta

7

Una soluzione al problema potrebbe essere quella di impostare un account separato (non incorporato) per il pool di applicazioni. È possibile assegnare a quell'account diritti minimi e inoltre consentire l'accesso a SQL Server.

In questo modo è possibile utilizzare un account di dominio che è facile da configurare, ma controllare ancora la sicurezza ermeticamente.

+1

Szymon- grazie per il suggerimento. Se è possibile connettersi a un account IIS 7.5 virtuale attraverso la rete dalla casella SQL Server al riquadro IIS 7.5, sarebbe preferibile 1) Mantenerlo semplice 2) evitare di aumentare la potenziale superficie di attacco. Terrò in considerazione il tuo suggerimento se non è possibile utilizzare account virtuali su una rete. –

+1

Ciao Szymon- Non ho trovato alcuna informazione che indichi che sia possibile utilizzare account virtuali attraverso una rete, quindi ho accettato la risposta e l'ho implementata come soluzione reale. Ci sono voluti solo pochi minuti per iniziare e funziona alla grande. Grazie per l'aiuto! –

4

So che questa domanda è vecchia, ma dal momento che ho sofferto finché non ho avuto il lavoro, mi piacerebbe condividere la mia esperienza per rispondere a questa domanda.

I passi che hai seguito lavorato con me, se non:

3- L'account è necessario aggiungere gli account di accesso di SQL Server è mydomain\machine1$not mydomain\machine1$\IIS APPPOOL\MyAppPoolName

4- congedo ogni cosa nella pagina delle impostazioni generali come default (in realtà, è necessario assicurarsi di utilizzare l'autenticazione di Windows).

Quindi andare a Mapping utente | seleziona il database a cui vuoi accedere la tua applicazione | concedilo qualunque permessi tu voglia. Ad esempio, assegnagli le autorizzazioni db_datareader & db_datawriter.

5- Fare clic su OK per salvare.

Ma essere ware che tutte le applicazioni che utilizzano gli account virtuali da stessa macchina sarà in grado di accedere a questo database.

Problemi correlati