Azure Active Directory シームレス シングル サインオン: 技術的な詳細Azure Active Directory Seamless Single Sign-On: Technical deep dive

この記事では、Azure Active Directory シームレス シングル サインオン (シームレス SSO) 機能の技術的なしくみについて説明します。This article gives you technical details into how the Azure Active Directory Seamless Single Sign-On (Seamless SSO) feature works.

シームレス SSO のしくみHow does Seamless SSO work?

このセクションは、2 つの部分に分かれています。This section has two parts to it:

  1. シームレス SSO 機能の設定。The setup of the Seamless SSO feature.
  2. 1 人のユーザーのシングル サインイン トランザクションのシームレス SSO での動作。How a single user sign-in transaction works with Seamless SSO.

設定のしくみHow does set up work?

シームレス SSO は、こちらで示す通り、Azure AD Connect を使用して有効にできます。Seamless SSO is enabled using Azure AD Connect as shown here. この機能を有効にすると、次の手順が発生します。While enabling the feature, the following steps occur:

  • オンプレミスの Active Directory (AD) で (Azure AD を表す) AZUREADSSOACC という名前のコンピューター アカウントが作成されます。A computer account named AZUREADSSOACC (which represents Azure AD) is created in your on-premises Active Directory (AD).
  • コンピューター アカウントの Kerberos の復号化キーは、Azure AD と安全に共有されます。The computer account's Kerberos decryption key is shared securely with Azure AD.
  • また、Azure AD のサインイン時に使用される 2 つの URL を表す、2 つの Kerberos サービス プリンシパル名 (SPN) も作成されます。In addition, two Kerberos service principal names (SPNs) are created to represent two URLs that are used during Azure AD sign-in.

注意

(Azure AD Connect を使用して) Azure AD と同期する各 AD フォレストとシームレス SSO を有効にするユーザー用に、コンピューター アカウントと Kerberos SPN が作成されます。The computer account and the Kerberos SPNs are created in each AD forest you synchronize to Azure AD (using Azure AD Connect) and for whose users you want Seamless SSO. 同じ方法で管理され削除されないことを保証するために、その他のコンピューター アカウントが格納されている AZUREADSSOACC コンピューター アカウントに、組織単位 (OU) が移動されます。Move the AZUREADSSOACC computer account to an Organization Unit (OU) where other computer accounts are stored to ensure that it is managed in the same way and is not deleted.

重要

少なくとも 30 日ごとに、AZUREADSSOACC コンピューター アカウントの Kerberos の復号化キーをロールオーバーすることを強くお勧めします。We highly recommend that you roll over the Kerberos decryption key of the AZUREADSSOACC computer account at least every 30 days.

シームレス SSO でのサインインのしくみHow does sign-in with Seamless SSO work?

このセットアップが完了すると、シームレス SSO は、統合 Windows 認証 (IWA) を使用するその他のサインインと同様に機能します。Once the set-up is complete, Seamless SSO works the same way as any other sign-in that uses Integrated Windows Authentication (IWA). フローは次のとおりです。The flow is as follows:

  1. ユーザーは、(https://outlook.office365.com/owa/ の Outlook Web App などの) アプリケーションに企業ネットワーク内のドメインに参加している会社のデバイスからアクセスします。The user tries to access an application (for example, the Outlook Web App - https://outlook.office365.com/owa/) from a domain-joined corporate device inside your corporate network.
  2. まだサインインしていない場合、ユーザーは、Azure AD のサインイン ページにリダイレクトされます。If the user is not already signed in, the user is redirected to the Azure AD sign-in page.

    注意

    Azure AD に対するサインイン要求に、domain_hint (例: テナントを識別する contoso.onmicrosoft.com) または login_hint (例: ユーザーを識別する user@contoso.onmicrosoft.com または user@contoso.com) パラメーターが含まれている場合は、手順 2 は省略されます。If the Azure AD sign-in request includes a domain_hint (identifying your tenant- for example, contoso.onmicrosoft.com) or login_hint (identifying the user - for example, user@contoso.onmicrosoft.com or user@contoso.com) parameter, then step 2 is skipped.

  3. ユーザーが、Azure AD サインイン ページにユーザー名を入力します。The user types in their user name into the Azure AD sign-in page.

  4. Azure AD が JavaScript をバックグラウンドで使用して、Kerberos チケットを提供するよう、401 認証エラーを通じてクライアントに要求します。Using JavaScript in the background, Azure AD challenges the browser, via a 401 Unauthorized response, to provide a Kerberos ticket.
  5. ブラウザーは、代わりに Active Directory から (Azure AD を表す) AZUREADSSOACC コンピューター アカウント用にチケットを要求します。The browser, in turn, requests a ticket from Active Directory for the AZUREADSSOACC computer account (which represents Azure AD).
  6. Active Directory がコンピューター アカウントを検索し、コンピューター アカウントのシークレットで暗号化された Kerberos チケットをブラウザーに返します。Active Directory locates the computer account and returns a Kerberos ticket to the browser encrypted with the computer account's secret.
  7. ブラウザーが Active Directory から取得した Kerberos チケットが Azure AD (ブラウザーのイントラネット ゾーンの設定に追加した Azure AD の URL の 1 つ) に転送されます。The browser forwards the Kerberos ticket it acquired from Active Directory to Azure AD (on one of the Azure AD URLs previously added to the browser's Intranet zone settings).
  8. Azure AD が、会社のデバイスにサインインしているユーザーの ID を含む Kerberos チケットを以前に共有していたキーを使用して解読します。Azure AD decrypts the Kerberos ticket, which includes the identity of the user signed into the corporate device, using the previously shared key.
  9. 評価後、Azure AD はアプリケーションにトークンを返すか、多要素認証などの他の検査を実行するようユーザーに要求します。After evaluation, Azure AD either returns a token back to the application or asks the user to perform additional proofs, such as Multi-Factor Authentication.
  10. ユーザーのサインインが成功すると、アプリケーションにアクセスできるようになります。If the user sign-in is successful, the user is able to access the application.

次の図に、すべてのコンポーネントと必要な手順を示します。The following diagram illustrates all the components and the steps involved.

シームレス シングル サインオン

シームレス SSO は便宜的であり、何らかの理由で失敗した場合、サインイン エクスペリエンスはその通常の動作に戻ります。つまり、ユーザーはサインインするためにパスワードを入力する必要があります。Seamless SSO is opportunistic, which means if it fails, the sign-in experience falls back to its regular behavior - i.e, the user needs to enter their password to sign in.

次のステップNext steps