Azure Active Directory をオンプレミスの顧客 AD に接続する

Azure Active Directory をオンプレミスの顧客 AD に接続する

当社には、さまざまな顧客がログインできる Windows Azure で実行されている Web アプリケーションがあります。最近、シングル サインオン ソリューション、または少なくともローカル/ドメイン ユーザーと当社のアプリケーションに存在するユーザーの同期を求める顧客が増えています。いくつかのオプションを検討しましたが、実現可能と思われるオプションはまだ見つかりませんでした。以下は、検討したオプションの一覧ですが、基本的には、この問題への対処方法についてアドバイスをいただきたいと思います。

これを実現できるサードパーティのサービスもありますが、通常、それらを実装するには、私たちとお客様の両方にとって多少の作業、または多くの作業が必要です。これは、顧客の好みに応じて、これらのソリューションを複数または多数実装する必要があることを意味する場合もあります。

ほとんどすべてのお客様がオンプレミスの Active Directory を所有しており、それを何らかの方法でアプリケーションでも使用できれば理想的です。Web アプリケーションをオンプレミスの AD に接続することは、システム管理者が (当然のことながら) アクセスを許可しないため、実際には選択肢ではありません。

Azure にも AD をセットアップできます。そこで、オンプレミスの AD から Azure の AD に同期して、そこから実行できるのではないかと考えました。しかし、Microsoft の Azure Active Directory Connect ツールをテストすると、Azure 環境の管理者ログインを求められました。当然、顧客に Azure ポータルへのアクセスを許可したくないので、この方法はうまくいかないようです。

この問題のもう 1 つの問題は、私がプログラマーであり、AD 関連のすべての作業が自分の得意分野から少し外れているため、間違った場所を探している可能性があることです。

誰かこれについて経験があり、私に正しい方向を指し示してくれる人はいませんか?

答え1

ADConnect は、オンプレミスのディレクトリをクラウドと同期する方法です。最初の同期を設定するとき、およびツールで再度ログインするときに同期を変更するときに、ユーザー名とパスワードが求められます。また、設定中にローカル管理者の DA アカウントも必要になります。アカウントが 1 つもない場合、または 2 つともない場合、セットアップを完了できません。

あなたの提案から判断すると、Azure B2C を設定しようとしていることになります。そうでない場合は、ユーザー名やパスワードを尋ね回らなくて済むように、ドメインと顧客ドメインの間に ADFS フェデレーションを設定してください。アプリケーションはクレーム対応であり、ADFS を構成できる独自の Windows AD があると想定しています。

ADFS テスト環境をセットアップしようとしている場合は、4 部構成のブログに従って最初のラボを構築しました。皆さんにも問題なく動作するはずです。

http://blogs.technet.com/b/askpfeplat/archive/2013/12/09/how-to-build-your-adfs-lab-on-server-2012-part-1.aspx http://blogs.technet.com/b/askpfeplat/archive/2013/12/23/how-to-build-your-adfs-lab-on-server-2012-part2-web-sso.aspx

答え2

アプリケーションを SAML 認証をサポートするように構成すると、顧客は AD と連携するように ADFS (またはその他のもの) を構成できます。これは通常、サードパーティ アプリケーションへの SSO の処理方法です。

その仕組みは、ID とアプリケーションへのアクセスは引き続き管理しますが、顧客はそれを AD ユーザー名を含む独自の「クレーム」に結び付けることができます。これは、ADFS やその他のフェデレーション ID プラットフォームが行うことです (フェデレーション部分)。ただし、ID プロバイダー (自分のものと相手のもの) 間で信頼関係を構築する方法を提供する必要があります。

お客様側では、カスタム ID プロバイダーを作成したり、サードパーティのサービスを使用したり、ADFS などのフェデレーション サーバーを展開したりできます。ただし、PingFederate や Shibboleth など、他の方法 (商用とオープン ソースの両方) もあります。文字通り何百ものオプションがあります。SDK が必要な場合は、Ping Identity (PingFederate 開発者) が複数の言語 (Java、C# など) 向けの SDK を提供しています。これに役立つオープン ソース SDK もきっとあるはずです。

アイデンティティは複雑なトピックです。それを専門の会社やチームに任せれば任せるほど、より良い結果が得られます (Azure B2C は他の回答で述べられているようにプレビュー段階ですが、より迅速に進めたい場合はサード パーティを検討してください)

関連情報