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

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

アトラシアンでは、Atlassian Server と Data Center のアプリケーションが IdP に接続してユーザーに SSO を提供できるようにする、SSO for Atlassian Server および Data Center アプリを提供しています。

このページでは、次の製品で利用できる最新の SSO 機能を説明します。

  • Jira Software Data Center 8.15 以降

  • Bitbucket Data Center 7.12 以降

  • Confluence Data Center 7.12 以降

  • Bamboo Data Center 8.1 以降

以前のバージョンまたは Server 製品では、機能が制限される場合があります。ご利用の SSO アプリをアップグレードできるかどうかを確認するか、管理の「SSO 2.0」で SSO の機能を見つけます。

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

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

OpenID Connect シングル サインオン (SSO) のセットアップ前に、ユーザーがアトラシアン アプリケーションか選択したアイデンティティ プロバイダーのどちらにログインするかを決める必要があります。その後、ユーザーにシングル サインオン (SSO) を提供するために IdP を設定する必要があります。

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

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

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

  • アプリケーションに関するデータ (アプリケーションの認証方法画面でアクセスできるデータを含む) を入力します。

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

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

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

アトラシアン アプリケーションで OpenID Connect SSO を設定する 

  1. [認証方法] 画面を開くには、次の手順に従います。 

    • Jira アプリケーションの場合は、 > [システム] > [認証方法] の順に選択します

    • Bitbucket の場合は、 > [アカウント] > [認証方法] の順に選択します。

    • Bamboo の場合は、 > [セキュリティ] > [認証方法] の順に選択します。
    • In Confluence, select  > General Configuration > User & Security > Authentication methods.

  2. [設定を追加] を選択します。

  3. 設定に一意の名前を作成します。

  4. [認証方法] メニューから [OpenID Connect シングル サインオン] を選択します。

  5. 次の OpenID Connect 設定を行います。

    設定

    詳細

    発行者 URL

    OpenID Provider の完全な URL。

    クライアント ID

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

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

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

    ユーザー名のマッピング

    IdP からの属性。ユーザーを一意に識別して Jira のユーザー名にマッピングできます。たとえば、${NameID} と入力すると、IdP からのこの属性の値がユーザー名として使用されます。IdP ドキュメントで属性のリストをご確認ください。

    追加スコープ

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

  6. 次のリンクをアイデンティティ プロバイダーにコピー & ペーストします。

    設定

    詳細

    リダイレクト URL

    アカウント認証が成功した後に移動する場所です。

    ログイン開始 URL

    OpenID のプロバイダー経由 (Provider-initiated) のログインに使用される URL です。

  7. 次の設定はオプションで、自分の用途に合わせて選択できます。

    設定

    詳細

    追加設定

    [選択したアイデンティティ プロバイダーからデータを自動入力する] が選択されている場合は、アイデンティティ プロバイダーがこのオプションをサポートしていれば、承認、トークン、ユーザー情報のエンドポイントは自動で入力されます。

    JIT プロビジョニング

    [アプリケーションへのログイン時にユーザーを作成] が選択されている場合は、SSO 経由でログインするとユーザーが自動で作成されて更新されます。

    OpenID Connect の動作

    [ユーザー ログインを記憶] が選択されている場合は、ユーザーのログイン情報が記憶されるため自動でログインされます。

    ログイン ページの設定

    [ログイン ページに IdP を表示] が選択されている場合は、ログイン ページにアイデンティティ プロバイダーが表示されます。

  8. [設定を保存] を選択します。 

アプリケーションと 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


最終更新日 2022 年 11 月 18 日

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

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