Jira Data Center アプリケーション向け SAML SSO
セキュリティ アサーション マークアップ言語 (SAML) は、サービスに対し、アイデンティティ プロバイダー (IdP) との認証データの交換を許可する XML ベースのデータ形式です。最も一般的な使用事例は、ユーザーに対し、同じ認証情報 (通常はユーザー名とパスワード) を使用して、複数のソフトウェア アプリケーションへのサインインを許可することです。これを、シングルサインオン (SSO) と言います。
ユーザーの SSO エクスペリエンスのため、Jira Software Data Center および Jira Service Management Data Center アプリケーションでは IdP に接続する機能を提供しています。これは認証のみをサポートします。アプリケーション アクセスやその他の必要な認証 (ユーザーが適切なグループ/ロールに所属し、必要な権限を持っていることの確認など) は、ユーザー ディレクトリおよびアプリケーション自体で構成する必要があります。
クロスドメインの SSO ソリューションをお探しですか?
Crowd SSO 2.0 機能を備えた Crowd Data Center 3.4 は、Server、および Data Center アプリケーションのための単一のソリューションで、わずか数分でセットアップできます。変更への準備は万全ですか? 「Crowd SSO 2.0」をご覧ください。
シングルサインオンのセットアップ
ユーザー向けにシングル サインオンを提供するには、アプリケーションと IdP を構成する必要があります。
サポートされるアイデンティティ プロバイダー
SAML シングル サインオンは、HTTP POST バインディングを使用して、SAML 2.0 ウェブ ブラウザ SSO プロファイルを実装する任意のアイデンティティ プロバイダーと連携させることができます。
弊社では現在、次のアイデンティティ プロバイダーでテストを実行しています。
SSL/TLS のセットアップ
セットアップが完了すると、アプリケーションの設定したベース URL が HTTPS プロトコルを使用していることを確認する必要があります。
リバース プロキシを使用して SSL/TLS を設定する
リバース プロキシを使用する場合は、具体的な設定手順を示した、これらの製品固有のドキュメントを参照してください。
- Apache HTTP Server (mod_proxy_http) でアトラシアンのサーバー アプリケーションをプロキシする
- SSL を利用して Jira と Apache を統合する方法
- SSL と Apache を使用してアトラシアン アプリケーションを保護する
SSL/TLS を終了するリバース プロキシを使用している場合は、アプリケーション サーバーに表示されるリクエスト URL が、リバース 逆プロキシの完全修飾ドメイン名と一致することを確認する必要があります。これは通常、<Connector> 指令を、適切な proxyName、proxyPort、セキュア および スキーム 設定で構成することによってアーカイブされます。具体的な例については上記のドキュメントを参照してください。
アイデンティティ プロバイダーのセットアップ
アプリケーションで SSO を提供する場合は、そのアプリケーションを IdP に追加する必要があります。正確なプロセスは IdP に応じて異なりますが、通常は以下が必要です。
- IdP で「アプリケーション」を定義する
- アプリケーションに関する情報 (アプリケーションの「認証」画面でアクセスできる情報を含む) を提供する
- IdP のユーザーの NameID 属性が、アトラシアン アプリケーションでユーザー名に設定されていることを確認する
- アプリケーションを使用する適切なユーザー パーミッションを提供する
セットアップ プロセスの最後に、IdP から、アトラシアン アプリケーションの構成に必要なデータ セットが提供されます。
Configuring SAML Authentication in your Atlassian application
- [管理] () > [システム] > [SAML 認証] の順に選択して、SAML 認証画面に移動します。
- SAML シングルサインオンを選択する。
次の設定を構成する:
設定 注意 シングルサインオン発行者
この値は、SAML 設定の一部として、IdP によって提供されます。「エンティティ ID」と呼ばれることもあります。
発行者は、アプリケーションが認証リクエストを承認することになる IdP です。
アイデンティティ プロバイダー シングルサインオン URL
この値は、SAML 設定の一部として、IdP によって提供されます。
ログイン時にユーザーがリダイレクトされる URL を定義します。
X.509 証明書
この値は、SAML 設定の一部として、IdP によって提供されます。「サインイン証明書」と表されることもあります。キーは通常 '-----BEGIN CERTIFICATE-----' で開始します。
これには、受信したすべての SAML 認証リクエストの発行元がお使いの IdP であることを検証するために使用するパブリック キーが含まれます。
ログイン モード
ユーザーによるシングルサインオンの使用方法を定義します。オプション:
- セカンダリ認証として SAML を使用する – 既定のログイン方法は、標準アプリケーション ログイン フォームとなります。お使いの IdP へ移動してアプリケーションを選択するか、URL: BASE-URL/plugins/servlet/external-login を使用してログインすることができます。すべてが正しく構成され、ユーザーが SSO を使用してログインできることをテストするため、この方法をお勧めします。
- SAML をプライマリ認証として使用する – このモードでは、すべてのブラウザ ベース ユーザーはログインするため、アプリケーションのログイン画面から IdP にリダイレクトされます。引き続き以下を使用して認証することもできます:
- Basic Auth
- 専用 REST エンドポイントを介したフォーム ベースの認証
- 既存の「ログイン情報を記憶する」トークン
Confluence ホーム ディレクトリおよびその他の重要なディレクトリのルートにある
ユーザーのログイン情報を記録する オンにすると、成功したユーザーのログインが、ユーザーのブラウザに記憶せrます。アプリケーションをブラウズすると、ユーザーは SAML に対して認証を行わなくても自動的にログインされます。 (Jira Service Desk のみ) オンにした場合、カスタマー ポータルを使用した Jira Service Management の顧客からのすべてのログインは、構成済 IdP へリダイレクトされます。オフにした場合、顧客はカスタマー ポータルからログインする必要があります。
次の情報は「認証」画面で提供され、IdP の構成に必要となります。
設定名 注意 アサーション コンシューマー サービス URL IdP が SAML 認証リクエストを返す先となる URL です。
オーディエンス URL (エンティティ ID) IdP が SAML 認証リクエストを準備する URL です。
- 構成の保存をクリックします。
アプリケーションと IdP の両方を構成したら、SSO を使用する準備が整います。
べスト プラクティス
- SAML 認証リクエストは、限られた回数のみ有効です。アプリケーションを実行しているサーバーの時刻が IdP と同期化されていることを確認する必要があります。
- お使いのアプリケーションのユーザーやグループが ユーザー ディレクトリ を使用して構成されている場合は通常、IdP とアトラシアン アプリケーションの両方で、同じ LDAP ディレクトリをユーザーのソースとして使用することになります。ユーザーは、SSO を使用してログインする前にユーザー ディレクトリ内に存在する必要があります。
トラブルシューティング
SAML 認証の構成で失敗したり、IdP を使用してログインできない場合は、DELETE リクエストを発行して (ユーザー ディレクトリで構成された管理者にユーザー名とパスワードを使用する)、ログイン フォーム認証を復元することができます。
curl -u admin_user:admin_password -X DELETE http://base-url/product/rest/authconfig/1.0/saml
- 認証エラーが発生した場合、ユーザーには、うまくいかなかった点に関する基本的な詳細のみが表示されます。セキュリティ上の理由から、元となる問題に関する詳細は表示されません。アプリケーション ログで問題の原因を確認する必要があります。
- IdP によってエラーが表示される場合があります。これらの場合、アトラシアン サポートではなく、IdP によって提供されたサポートやツールを使用する必要があります。
- SAML をプライマリ認証として使用しており、アプリケーションで CAPTCHA が有効になっている場合、HTTP 基本認証を使用しているユーザーは(たとえば、REST リソース コールの場合)、間違ったパスワードを既定回数を超えて入力すると、ロックアウトされる場合があります。このような場合、ユーザー リスト画面でユーザーの CAPTCHA をリセットする必要があります。