次の方法で共有


Windows Azure Pack: Web サイトのWindows認証を有効にする

 

適用対象: Azure Pack Windows

Windows Azure Pack: Web サイトでは、認証のために Web サイトと Active Directory の統合がサポートされています。 また、アプリケーション プールに対応しているため、データベース リソースへの接続に使用する特定の ID で Web サイトを実行することができます。

注意

現在アプリケーション プール ID 機能で利用できるパススルーのシナリオは限られており、データベースとの連携のみがサポートされます。

Active Directory 認証を有効にするためには、次の条件を満たしている必要があります。

  • すべての Web サイト Worker ロールが、同じ Active Directory ドメインに参加している必要があります。

  • Active Directory ドメインに参加した Web サイト クラウドに追加できるのは、同じドメインに属しているワーカーだけです。

Active Directory 認証を有効にするには、管理ポータルまたは PowerShell コマンドを使用します。

管理ポータル

Web サイトと Active Directory 認証の統合を管理者側で有効にする

管理ポータルを使用して Active Directory を有効にするには

  1. [Web サイト クラウドの構成] タブ 開きます。

  2. [全般設定] セクションで、[Web サイト Windows認証] に次の 3 つのオプションのいずれかを選択します。

    設定

    説明

    "オフ"

    クラウド内の Web サイトの Windows 認証を無効にします。

    許可

    Windows 認証の使用を許可します。この場合テナントは、各自の Web サイト上で Windows 認証を有効にすることができます。

    "必須"

    クラウド内のすべての Web サイトで Windows 認証の使用を必須とします。

Windows 認証が管理上 [必須] に設定されている場合、Web サイト クラウド内のすべてのテナント Web サイトは、Web サイト間で Active Directory 統合されます。 つまり、認証を行わないという選択肢が、Web サイト テナント側にはありません。 [必須] 設定は、すべての Web サイトがセキュリティで保護されていることを Web サイト管理者に保証します。

Windows 認証が管理上 [許可] に設定されている場合、テナントはサイトを認証のために Active Directory と統合するかどうかを決定できます。 許可を有効にすると、テナントは Web サイト上の個々のページを操作して、認証を必要としません。

Web サイトの Active Directory 認証をテナント側で有効にする

テナントは、Web サイトの管理ポータルの [構成 ] タブで Active Directory 統合を有効にすることができます。 Active Directory との統合を構成するためのオプションを有効にするためには、対象の Web サイトが属している Web サイト クラウドの管理者がそれを許可している必要があります。 Active Directory との統合の有無をテナント側で選択できるのか、または Active Directory との統合が必須であるのかは、クラウド管理者によって適用された設定によって異なります。

テナントの Web サイトに対する Active Directory の構成をテナントの管理ポータルで行うには

  1. Web サイトの [構成] タブを 開きます。

  2. [全般] セクションで、Windows認証の次の 3 つのオプションから選択します。

    設定

    説明

    "オフ"

    Web サイトの Windows 認証を無効にします。

    許可

    Web サイトでの Windows 認証の使用を許可します。

    "必須"

    Web サイト全体を対象に Windows 認証の使用を必須とします。

Windows認証[必須] に設定されている場合、サイト内のすべてのページは Active Directory 認証によって保護されます。 [必須] 設定では、複数の開発者が同じ Web サイトを更新した場合でも、認証を無効にできないことを Web サイトの所有者に保証します。

Windows認証[許可] に設定されている場合、Web サイトは認証のために Active Directory によって保護されます。 ただし Web サイト開発者は、サイト内の個々のページについて認証を無効にすることができます。

クラウド システム管理者が Active Directory 認証を [必須] に設定している場合、テナントは Web サイトで無効にできません。

Web サイトのアプリケーション プール ID を管理者側で有効にする

アプリケーション プール ID を有効にするためには、Web サイト クラウド内のすべてのワーカーが同じ Active Directory ドメインに参加している必要があります。 管理者は、[Web サイト クラウドの 構成 ] タブからアプリケーション プール ID 機能を管理できます。

クラウドの管理ポータルでアプリケーション プール ID を有効にするには

  1. [Web サイト クラウドの構成] タブ 開きます。

  2. [全般設定] セクションで、[カスタム アプリケーション プール ID] を[許可] に設定します。

アプリケーション プール ID をテナント側で有効にする

アプリケーション プール ID を Web サイトに対して有効にするためには、対象の Web サイトが属している Web サイト クラウドについて、カスタム アプリケーション プール ID の使用が Web サイト クラウド管理者によって許可されている必要があります。 テナントは、Web サイトの管理ポータルの [構成 ] タブでアプリケーション プール ID を有効にすることができます。

テナント Web サイトの管理ポータルでカスタム アプリケーション プール ID を有効にするには

  1. [Web サイト クラウドの構成] タブ 開きます。

  2. [全般設定] セクションで、[カスタム アプリケーション プール ID] を[許可] に設定します。

  3. Web サイトの実行に使用するユーザー名とパスワードを指定します。

この設定が完了すると、Web サイトは、指定された ID を使用してフェデレーション (ユーザーと同じドメイン内のデータベースに接続) することができます。

PowerShell

PowerShell WebSites モジュールのインポート

まず、必要な PowerShell コマンドを有効にするために、次のコマンドを実行して、PowerShell WebSites モジュールをインポートします。

Import-Module WebSites

Web サイトの作成

まだ Web サイトがない場合は、Microsoft Azure Pack: Web サイト管理ポータルを使用するか、次の PowerShell コマンドレットを使用して作成してください。 この例では、 contosoadatumcontoso.fabrikam.com を、使用する Web サイトの名前、サブスクリプション ID、およびホスト名に置き換えます。

New-WebSitesSite -Name contoso -SubscriptionId adatum -HostNames contoso.fabrikam.com

Microsoft Azure Pack Web サイトに対する NTLM Windows 認証の有効化

Web サイトのWindows 認証を有効にするには、[許可] オプションを使用してコントローラーで次のコマンドレットを実行します。 [必須] オプションは、サイトのapplicationhost.config ファイル内の認証構成セクションをロックし、サイト上のweb.config ファイルまたはサイトの下のアプリケーションで上書きされないようにする場合に使用できます。 次の例では、 adatum をサブスクリプション ID に、 contoso を Web サイトの名前に置き換えます。

Set-WebSitesSiteConfig -SubscriptionId adatum -Name contoso –WindowsAuthEnabled {Allow |必須}

Microsoft Azure Pack Web サイトに対する Kerberos Windows 認証の有効化

Microsoft Azure Pack Web サイトに対して Kerberos を有効にするための手順を以下に示します。

  1. NTLM ベースの Windows 認証を有効にするときと同じコマンドを実行して Windows 認証を有効にします。

  2. ドメイン サーバー上にドメイン ユーザーを作成します。

  3. Kerberos をサポートする予定のサイトの各ホスト名に対応するサービス プリンシパル名 (SPN) を追加します。

  4. サブスクリプションのアプリケーション プール ID にドメイン ユーザーを割り当てます。

以下、これらの手順について詳しく説明します。

1. Windows 認証を有効にする

[許可] オプションを使用して、コントローラーで次のコマンドレットを実行します。 この例では、 adatum をサブスクリプション ID に、 contoso を Web サイトの名前に置き換えます。

Set-WebSitesSiteConfig -SubscriptionId adatum -Name contoso –WindowsAuthEnabled {Allow |必須}

2. ドメイン サーバーで、ドメイン ユーザーを作成します。

ドメイン ユーザーを作成するには、ドメイン サーバー上で次のコマンドを実行します。 lowprivilegeduserpassword を、環境に適した値に置き換えます。

net users /add lowprivilegeduserpassword

3. Kerberos をサポートするサイト内のすべてのホスト名にサービス プリンシパル名 (SPN) を追加する

Kerberos のサポートを予定しているサイトの各ホスト名に対応するサービス プリンシパル名 (SPN) を追加するには、ドメイン サーバー上で次のコマンドを実行します。 contoso.fabrikam.comdomainnamelowprivilegeduser を環境に対応する値に置き換えます。

Setspn -S http/contoso.fabrikam.comdomainname\lowprivilegeduser

4. Windows Azure Pack Web サイト コントローラーで、ドメイン ユーザーをアプリケーション プールに割り当てます

作成したドメイン ユーザーをアプリケーション プールに割り当てるには、Microsoft Azure Pack Web サイト コントローラー上で次の手順を実行します。 新しい PowerShell ウィンドウで、次のコマンドを実行します。 adatumcontosodomainnamelowprivilegeduser、password を環境に対応する値に置き換えます。

Add-PSSnapin WebHostingSnapin
Set-WebSitesSiteConfig -SubscriptionId adatum -Name contoso -CustomAppPoolIdentity $true -SiteRuntimeUser domainname\lowprivilegeduser -SiteRuntimeUserPassword password

Microsoft Azure Pack Web サイトの Windows 認証を無効にする

Windows 認証を無効にする必要がある場合は、次の PowerShell コマンドを実行します。 この例では、 adatum をサブスクリプション ID に置き換え、 contoso を Web サイトの名前に置き換えます。

Set-WebSitesSiteConfig -SubscriptionId adatum -Name contoso –WindowsAuthEnabled Off

Microsoft Azure Pack Web サイトの SQL 統合認証を有効にする

Microsoft Azure Pack Web サイトの SQL 統合認証を有効にするには、次の手順を実行します。

  1. ドメイン サーバー上にドメイン ユーザーを作成します。

  2. データベースに対する権限をドメイン ユーザーに付与します。

  3. サブスクリプションのアプリケーション プール ID にドメイン ユーザーを割り当てます。

以下、これらの手順について詳しく説明します。

1. ドメイン サーバーで、ドメイン ユーザーを作成します。

ドメイン ユーザーを作成するには、ドメイン サーバー上で次のコマンドを実行します。 lowprivilegeduserパスワードを、環境に対応する値に置き換えます。

net users /add lowprivilegeduserpassword

2. SQL Serverで、ドメイン ユーザー データベースのアクセス許可を付与します

作成したドメイン ユーザーにデータベースの権限を付与するには、SQL Server 上で次のコマンドを実行します。 usersdatabasenamedomainname\lowprivilegeduser、および lowPrivilegedDBUser を、環境に対応する値に置き換えます。

usersdatabasename を使用する。

CREATE LOGIN [domainname\lowprivilegeduser] FROM WINDOWS;

CREATE USER lowPrivilegedDBUser FOR LOGIN [domainname\lowprivilegeduser];

EXEC sp_addrolemember 'db_datareader', lowPrivilegedDBUser;

3. Windows Azure Pack Web サイト コントローラーで、ドメイン ユーザーをアプリケーション プールに割り当てます

作成したドメイン ユーザーをアプリケーション プールに割り当てるには、Microsoft Azure Pack Web サイト コントローラー上で次の手順を実行します。 新しい PowerShell ウィンドウで、次のコマンドを実行します。 adatumcontosodomainnamelowprivilegeduser、およびパスワードを、環境に対応する値に置き換えます。

Add-PSSnapin WebHostingSnapin Set-WebSitesSiteConfig -SubscriptionId adatum -Name contoso -CustomAppPoolIdentity $true -SiteRuntimeUser domainname\lowprivilegeduser -SiteRuntimeUserPassword password