- 便利なユーザー体験:ユーザーは一度認証するだけで複数のシステムへアクセスでき、ユーザー名とパスワードを繰り返し入力する必要がなくなります。これにより体験と生産性の双方が向上します。
- セキュリティの向上:SSOは集中認証サービスを通じてユーザーの身元を検証するため、各システムにパスワードを保存するセキュリティリスクを回避し、パスワード漏洩のリスクを低減できます。
- 管理の簡素化:ユーザーは1組の認証情報のみを管理すればよいため、ユーザー管理の負担が削減され、システム管理者の運用コストも軽減されます。
対応プロトコル
YiDA専用版は現在、OAuth 2.0、OIDC、CASに基づくSSOに対応しています。以下では、OAuth 2.0を例に、IDaaS SSOとの統合方法をご紹介します。 OAuth 2.0の概要 OAuth 2.0は権限付与のためのオープン標準です。ユーザーが認証情報を共有することなく、サードパーティアプリに別のアプリ内のリソースへのアクセス権を付与できます。ユーザーのプライバシーとデータの安全を保護しつつ、安全で柔軟かつ標準化された権限付与を実現します。OAuth 2.0は、ソーシャルメディアのログイン、APIアクセス制御、SSOなど幅広いシナリオで利用され、ユーザーと開発者によりスムーズで一貫した体験を提供します。 主なプロトコルフロー:- YiDA専用版がSSOを提供し、サービスプロバイダー(SP)として動作します。
- 組織管理者がSSOを有効化します。未認証の社員がYiDAへアクセスしようとすると、システムは管理者が設定したアイデンティティプロバイダー(IdP)のアドレスへページリクエストをリダイレクトします。
- ユーザーがすでにIdPにログイン済みの場合、IdPはセッションからユーザー情報を読み取り、管理者が設定した方法でYiDAに返します。
- ユーザーがまだIdPにログインしていない場合は、必要な情報を入力してログインする必要があります。ログイン完了後、ユーザー情報がYiDAに返されます。
- YiDAはユーザー情報を受け取ると、DingTalkの連絡先APIを呼び出してユーザーの身元を検証し、サービスを提供します。
- IdPはIdentity Providerの略で、ユーザー情報を保持し、認証プロセス中にユーザーとのセッションを維持する認証センターです。
- SPはService Providerの略です。ユーザーがSPの提供するサービスにアクセスした際、SPがユーザーを識別できない場合、IdPに対してそのユーザーの認証を依頼します。
設定
前提条件:インターネット経由でアクセス可能な公開エンドポイントを提供する必要があります。また、ユーザー情報エンドポイントはDingTalkのuidまたはuserId(DingTalkアカウント体系に基づく)を返す必要があります。 以下では、Alibaba Cloud IDaaSとOAuth 2.0プロトコルを例に、DingTalk認証システムを設定したIDaaS認証サービスを通じてYiDAへログインする方法を示します。IDaaS側の設定
1
Alibaba Cloudコンソールにアクセスし、インスタンスを作成します。
2
OAuth 2.0プロトコルアプリを作成します(OIDCおよびCASプロトコルも同様の手順です)。
3
アプリ情報を設定します。
4
アプリ認可を設定します:IDaaS側では、さまざまな次元でアプリを認可できます。認可された範囲内のユーザーのみが、そのアプリを通じて認証されます。
5
アプリ情報を確認します。
YiDA側の設定
IDaaSでアプリを作成・認可した後、管理者はYiDAへ移動してSSOを有効化し、関連設定を完了します。- SSOのスイッチをオンにします。
- SSO情報を設定します(ログインプロトコルを1つ選択します。以下のスクリーンショットではOAuth 2.0を例としています)。
- 設定を保存した後、いったんログアウトして再度ログインし、SSOサービスへリダイレクトされてログインすることを確認します。この設定は組織全体に適用されます。
YiDA SSOプロトコルのフォーマット例
返却されるアイデンティティコールバックデータは、以下のフォーマットに従う必要があります。OAuth2
OIDC
設定した公開鍵に基づいて、返却されたユーザー情報をパースします。パース後のフォーマットは以下のとおりです。YiDAはsubフィールドを読み取ります。CAS
主要な概念
FAQ
Q:YiDA SSOで他の製品をYiDAに統合できますか?
A:YiDA SSOは、YiDAを他システムや他製品に統合し、それらのシステムや製品からYiDAへのサイレントログインを可能にします。YiDAから他製品へのサイレントログインは本技術ソリューションの範囲外であり、独自にシステムを設計する必要があります。Q:自社構築の認証システム(IDaaSではない)をYiDA SSOと統合できますか?
A:はい、可能です。YiDAでは、より軽量で設定ベースのSSO統合を実現するためにIDaaSの利用をおすすめしています。OAuth 2.0、OIDC、CASに対応する他のIdPをお持ちの場合も、YiDA SSO設定ページで正しく設定を行い、YiDAが要求するフォーマットでアイデンティティコールバックデータを返すことで統合できます。ただし、統合には一定のコストが発生する場合があります。Q:SSO統合が正常に機能しているかを確認するには?
A:**www.your-organization-domain.aliwork.com/xxx**にアクセスして確認できます。各組織のドメインは固有であるため、YiDAはアクセス先URLに含まれる**組織ドメイン**を用いて、その組織がSSOを有効化しているかどうかを判定します。SSOが有効化されている場合、その組織のログインは標準の統一ログインではなくSSOを使用します。Q:組織ドメインの有効化はSSO利用の前提条件ですか?組織ドメインはどこで確認できますか?
A:はい、前提条件です。組織がSSOを有効化しているかは固有の組織ドメインのマッピングを通じて判定されるため、共有のwww.yidaapps.comにアクセスしても特定の組織にマッピングできず、SSOを利用できません。YiDAプラットフォーム管理者は、組織 プラットフォーム管理 > 基本情報 > 組織ドメインで確認できます。Q:カスタマーの連絡先とDingTalk連絡先をどのようにマッピングしますか?
A:IDaaS統合の場合、このサービスはIDaaS製品によって提供されます。詳細はIDaaS製品のテクニカルサポートまでお問い合わせください。自社構築による統合の場合は、マッピングを自ら実装する必要があります。DingTalkオープンプラットフォームOpenAPIを呼び出して統合することをおすすめします。Q:プラットフォーム管理コンソールに組織ドメインを変更するエントリが表示されないのはなぜですか?
- DingTalk組織のスーパー管理者のみが、組織ドメインをカスタマイズする権限を持ちます。
- 組織ドメインはYiDAの比較的新しい機能です(「リリースノート」を参照)。変更にはコストとリスクが伴います。一部の古いYiDA組織では、すでに多くの業務がYiDA上で稼働しているため、2021年より前の一部の既存カスタマーには変更ボタンが表示されないことがあります。サポートまでお問い合わせのうえ有効化してください。