Atlassian Data Center アプリの SAML シングル サインオン
セキュリティ アサーション マークアップ言語 (SAML) は、サービスに対し、アイデンティティ プロバイダー (IdP) との認証データの交換を許可する XML ベースのデータ形式です。最も一般的な使用事例は、ユーザーに対し、同じ認証情報 (通常はユーザー名とパスワード) を使用して、複数のソフトウェア アプリケーションへのサインインを許可することです。これを、シングルサインオン (SSO) と言います。
アトラシアンでは、Atlassian Data Center のアプリが IdP に接続してユーザーに SSO を提供できるようにするSSO for Atlassian Data Center アプリを提供しています。
このページでは、次の製品で利用できる最新の SSO 機能を説明します。
- Jira Software Data Center 8.15 以降
- Jira Service Management 5.15 以降
- Bitbucket Data Center 7.12 以降
- Confluence Data Center 7.12 以降
- Bamboo Data Center 8.1 以降
以前のバージョンまたは Server 製品では、機能が制限される場合があります。ご利用の SSO アプリをアップグレードできるかどうかを確認するか、管理の「SSO 2.0」で SSO の機能を見つけます。
SSO for Atlassian Data Center は認証のみを処理します。アプリ アクセスやその他の必要な認証 (ユーザーが適切なグループ / ロールに所属して、必要な権限を持っていることの確認など) は、ユーザー ディレクトリやアプリ自体で設定する必要があります。
サポートされるアイデンティティ プロバイダー
SSO for Atlassian Data Center は、HTTP POST バインディングによって SAML 2.0 Web ブラウザー SSO プロファイルを実装する任意の ID プロバイダーと連携させる必要があります。または、認証を Crowd に委任できます。
現在、次のアイデンティティ プロバイダー (IdP) でテストを実行しています。
- Microsoft Azure Active Directory
- Microsoft Active Directory (ADFS 3.0 を使用)
- Bitium
- Okta
- OneLogin
- PingIdentity
シングルサインオンのセットアップ
シングル サインオン (SSO) のセットアップ前に、ユーザーが Crowd を使用して Jira にログインするのか、選択したアイデンティティ プロバイダーにログインするのかを決める必要があります。その後、ユーザーにシングル サインオン (SSO) を提供するために、Data Center と IdP を設定する必要があります。
アイデンティティ プロバイダーのセットアップ
アプリケーションで SSO を提供する場合は、そのアプリケーションをアイデンティティ プロバイダーに追加する必要があります。正確なプロセスは IdP に応じて異なりますが、通常は次が必要です。
- IdP で "アプリケーション" を定義します。
- アプリケーションに関するデータ (アプリケーションの認証方法画面でアクセスできるデータを含む) を入力します。
- IdP のユーザーの NameID 属性が、アトラシアン アプリケーションでユーザー名に設定されていることを確認します。
- アプリケーションを使用する適切なユーザー権限を提供します。
セットアップ プロセスの最後に、IdP から、Atlassian アプリケーションの構成に必要なデータ セットが提供されます。
Atlassian アプリケーションの SAML SSO を設定する
- [認証方法] 画面を開くには、次の手順に従います。
- Jira アプリケーションの場合は、 > [システム] > [認証方法] の順に選択します。
- Bamboo の場合は、 > [セキュリティ] > [認証方法] の順に選択します。
- Bitbucket の場合は、 > [アカウント] > [認証方法] の順に選択します。
- Confluence の場合は、 > [一般設定] > [認証方法] の順に選択します。
- [設定を追加] を選択します。
[認証方法] メニューで [SAML シングル サインオン] を選択します。
設定に一意の名前を作成します。
次の SAML SSO 設定を行います。
設定 詳細 シングルサインオン発行者
この値は、SAML 設定の一部として IdP によって提供されます。「エンティティ ID」と呼ばれることもあります。
発行者は、アプリケーションが認証リクエストを承認することになる IdP です。
アイデンティティ プロバイダー シングルサインオン URL
この値は、SAML 設定の一部として、IdP によって提供されます。
ログイン時にユーザーがリダイレクトされる URL を定義します。
X.509 証明書
この値は、SAML 設定の一部として IdP によって提供されます。「サインイン証明書」と表されることもあります。通常、キーは "-----BEGIN CERTIFICATE-----" で開始します。
これには、受信したすべての SAML 認証リクエストの発行元がお使いの IdP であることを検証するために使用するパブリック キーが含まれます。
ユーザーのログイン情報を記録する 選択すると、ログイン情報が保存されるため、ユーザーは自動的にログインされます。 ユーザー名のマッピング
IdP からの属性。ユーザーを一意に識別して Jira のユーザー名にマッピングできます。たとえば、${NameID} と入力すると、IdP からのこの属性の値がユーザー名として使用されます。IdP ドキュメントで属性のリストをご確認ください。
次の情報は「認証方法」画面で提供されて、IdP の設定に必要となります。これらのリンクをアイデンティティ プロバイダーにコピー & ペーストします。
設定 詳細 アサーション コンシューマー サービス URL IdP が SAML 認証リクエストを返す先となる URL です。
オーディエンス URL (エンティティ ID) IdP が SAML 認証リクエストを準備する URL です。
次の設定はオプションで、自分の用途に合わせて設定できます。
設定 詳細 JIT プロビジョニング [アプリケーションへのログイン時にユーザーを作成] が選択されている場合は、SSO 経由で Atlassian Data Center アプリケーションにログインすると、ユーザーが自動で作成されて更新されます。詳細については「JIT ユーザー プロビジョニング」をご参照ください。
SAML SSO の動作 [ユーザー ログインを記憶] が選択されている場合は、ユーザーのログイン情報が記憶されるため自動でログインします。
顧客のログインを含める (Jira Service Management のみ) 選択されている場合は、カスタマー ポータルによる Jira Service Management の顧客のすべてのログインは、設定済み IdP にリダイレクトされます。未選択の場合、顧客はカスタマー ポータルからログインする必要があります。 ログイン ページの設定 [ログイン ページに IdP を表示] が選択されている場合は、ログイン ページにアイデンティティ プロバイダーが表示されます。 - [設定を保存] を選択します。
アプリケーションと IdP の両方を構成したら、SSO を使用する準備が整います。
べスト プラクティス
- 認証プロセスのセキュリティとプライバシーを保証するには、Atlassian アプリケーションと IdP の両方が HTTPS プロトコルを使用して互いに通信し、設定されたアプリケーションのベース URL が HTTPS のものであることをご確認ください。
- SAML 認証リクエストは、限られた回数のみ有効です。アトラシアン アプリケーションを実行しているサーバーの時刻が、IdP と同期されていることをご確認ください。
- アトラシアン アプリケーションのユーザーやグループが User Directories によって設定されている場合は、通常、IdP とアトラシアン アプリケーションの両方で同じ LDAP ディレクトリをユーザーのソースとして使用することをお勧めします。ユーザーは SSO によってログインする前に、ユーザー ディレクトリ内に存在している必要があります。
トラブルシューティング
SAML 認証の選択に失敗した、または IdP でログインできない場合は、auth_fallback 機能によって SAML 認証を回避できます。
- 認証エラーが発生した場合、ユーザーには、うまくいかなかった点に関する基本的な詳細のみが表示されます。セキュリティ上の理由から、元となる問題に関する詳細は表示されません。アプリケーション ログで問題の原因を確認する必要があります。
- IdP によってエラーが表示される場合もあります。このような場合は、アトラシアン サポートではなく、IdP によって提供されたサポートやツールを使用する必要があります。
- SAML をプライマリ認証として使用していて、アプリケーションで CAPTCHA を有効にしている場合は、HTTP 基本認証を使用しているユーザー (REST リソース コール、Bitbucket での Git HTTPS の使用など) が誤ったパスワードを規定回数を超えて入力すると、ロックされる可能性があります。このような場合、管理者はユーザー リスト画面でユーザーの CAPTCHA をリセットする必要があります。
エラー ページにスタック トレース情報を表示させるには、次のフラグを使用します。
-Datlassian.darkfeature.atlassian.authentication.include.stacktrace.in.error.messages=true