アトラシアンの Data Center アプリケーションで OpenID Connect を使用する

OpenID Connect は、OAuth 2.0 プロトコルを元にしたアイデンティティ レイヤーです。これにより、クライアント アプリケーションは OpenID Connect Provider が実行する認証に依存してユーザーの ID を検証できます。クライアントでは、相互にやり取り可能かつ REST のような方法で、ユーザーの基本的なプロファイル情報を OpenID Connect Provider から取得することもできます。

アトラシアンでは、Atlassian DC 製品 (Jira Software Data Center、Jira Service Desk Data Center、Bitbucket Data Center、および Confluence Data Center) をアイデンティティ プロバイダー (IdP) に接続してユーザーに認証を提供する、OpenID Connect アプリを提供します。OpenID Connect との互換性を持つ製品とバージョンの完全な一覧については Atlassian Marketplace を参照してください。 

OpenID Connect は Jira 8.7、Bitbucket 7.0、Confluence 7.5 以降に組み込まれています。これらのバージョンでは Atlassian Marketplace からインストールする必要はありません。

OpenID Connect は認証のみを処理します。アプリケーション アクセスや必要な認証 (ユーザーが適切なグループ / ロールに所属し、必要な権限を持っていることの確認など) は、ユーザー ディレクトリやアプリケーション自体で構成する必要があります。

OpenID Connect シングル サインオンのセットアップ

SSO 2.0 をインストールしたら、ユーザーをアトラシアン アプリケーションにログインさせるか、任意のアイデンティティ プロバイダーにログインさせるかを決定する必要があります。その後、ユーザーにシングル サインオン (SSO) を提供するために IdP を構成する必要があります。

アイデンティティ プロバイダーのセットアップ

アプリケーションで SSO を使用する場合、それを IdP に追加する必要があります。正確なプロセスは IdP に応じて異なりますが、通常は以下が必要です。

  • IdP で "アプリケーション" を定義する

  • アプリケーションに関する情報 (アプリケーションの "認証" 画面でアクセスできる情報を含む) を提供する

  • アトラシアン アプリケーションは既定で、sub 要求および openid スコープでユーザー名を検索します。ユーザー名を渡すスコープ内で IdP が別の要求を使用している場合、アトラシアン アプリケーションの [ユーザー名要求] と [カスタム スコープ] 設定でそれらを指定します。詳細は、「OpenID Connect を使用して Okta と連携する」を参照してください。

  • アプリケーションを使用する適切なユーザー権限を提供する

セットアップ プロセスの最後に、IdP から、アトラシアン アプリケーションの構成に必要なデータ セットが提供されます。

アトラシアン アプリケーションで SSO 2.0 を構成する 

  1. SSO 画面に移動します。 

    • Jira アプリケーションの場合、 > [システム] > [SSO 2.0 認証] を選択します。

    • Bitbucket の場合、 > [アカウント] > [SSO 2.0] を選択します。

    • Confluence の場合、 > [一般設定] > [SSO 2.0] に移動します。

  2. [認証メソッド] ドロップダウン リストから [OpenID Connect] を選択します。

  3. 次の設定を構成する:

    設定

    注意

    発行者 URL

    OpenID Provider の完全な URL。

    クライアント ID

    OpenID Provider で登録されたクライアント識別子。

    クライアント シークレット

    クライアント シークレットは、、OpenID Provider に対してクライアント アプリケーションを認識するよう、クライアント ID と組み合わせて使用されます。

    ユーザー名要求

    アトラシアン アプリケーションがユーザー名の格納先として想定する要求。デフォルトの要求は sub です。OpenID Provider が別の要求にユーザー名を保管している場合、変更します。

    追加スコープ

    スコープは、ユーザー詳細へのアクセスを認証するために、認証時にアプリケーションによって使用されます。各スコープは要求と呼ばれる一連のユーザー属性を返します。
    既定のスコープは Openid です。ユーザー名要求を取得する必要がある場合、さらにスコープが必要です。

    ログイン モード

    ユーザーによるシングル サインオンの使用方法を定義します。

    • セカンダリ認証として OpenID Connect を使用する – 既定のログイン方法は、標準アプリケーション ログイン フォームとなります。ご利用の OpenID Provider に移動してアプリケーションを選択するか、URL: BASE-URL/plugins/servlet/external-login を使用することで、OpenID Connect を使用してログインできます。

    すべてが正しく構成され、ユーザーが SSO を使用してログインできることをテストするため、この方法をお勧めします。

    • OpenID Connect をプライマリ認証として使用する – このモードでは、ブラウザベースのすべてのユーザーはログインのためにアプリケーションのログイン画面から IdP にリダイレクトされます。引き続き以下を使用して認証することもできます。

      • Basic Auth

      • 専用 REST エンドポイントを介したフォーム ベースの認証

      • 既存の「ログイン情報を記憶する」トークン

      • Git HTTP(S) (for Bitbucket Server)

      • Git SSH (for Bitbucket Server)

      このモードは、OpenID Connect 認証が期待どおり動作していることを検証した後にのみ有効することをおすすめします。

  4. [構成の保存] をクリックします。 

    アプリケーションと OpenID Provider の両方を構成したら、SSO を使用する準備は完了です。


べスト プラクティス...
  • OpenID Connect の認証リクエストは、限られた回数のみ有効です。アトラシアン アプリケーションを実行しているサーバーの時刻と OpenID Provider の時刻とが同期されていることをご確認ください。

  • アトラシアン アプリケーションのユーザーとグループがユーザー ディレクトリを使用して構成されている場合、OpenID Provider とアトラシアン アプリケーションの両方で同じ LDAP ディレクトリをユーザーのソースとして使用することがあります。ユーザーは SSO を使用してログインする前にユーザー ディレクトリ内に存在している必要があります。

トラブルシューティング
  • OpenID Connect 認証の構成に失敗したり、OpenID Provider を使用してログインできないような場合、DELETE リクエスト (ユーザー ディレクトリで構成された管理者のユーザー名とパスワードを使用) を発行してログイン フォーム認証を復元できます。

    curl -u admin_user:admin_password -X DELETE http://BASE_URL/rest/authconfig/1.0/sso
  • 認証エラーが発生した場合、ユーザーには、うまくいかなかった点に関する基本的な詳細のみが表示されます。セキュリティ上の理由から、元となる問題に関する詳細は表示されません。アプリケーション ログで問題の原因を確認する必要があります。 

  • OpenID Provider によってエラーが表示される場合があります。この場合、アトラシアン サポートではなく、OpenID Provider が提供しているサポートやツールご利用ください。

  • OpenID Connect をプライマリ認証として使用していて、アプリケーションで CAPTCHA を有効化している場合、HTTP 基本認証を使用しているユーザー (REST リソース コール、Bitbucket での Git HTTPS の使用など) が誤ったパスワードを規定回数を超えて入力すると、ロックアウトされる場合があります。このような場合、管理者はユーザー一覧の画面でユーザーの CAPTCHA をリセットする必要があります。

  • エラー ページにスタック トレース情報を表示させるには、次のフラグを使用します。

    -Datlassian.darkfeature.atlassian.authentication.include.stacktrace.in.error.messages=true
最終更新日 2020 年 8 月 21 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.