アプリケーション リンクの OAuth セキュリティ
OAuth のセキュリティ モデル
アトラシアンのアプリケーション リンクでは 2 つの OAuth セキュリティ モデルを使用できます。
OAuth 認証 | 偽装を伴う OAuth | |
---|---|---|
説明 |
|
|
メリット |
|
|
要件 |
|
|
You shouldn't link to a non-Atlassian application using OAuth authentication, unless you trust the other application. Linked applications have the ability to use OAuth to impersonate users and so are a potential security risk for the applications they connect to. If your server is compromised, the data there and on linked servers is at risk.
OAuth 認証
OAuth 認証はユーザーがリモート アプリケーションにログインするようにリダイレクトします。その後、ユーザー用に生成されたトークンが、ローカル アプリケーションから生成されたリクエストの認可に使用されます。リクエストを処理するリモート アプリケーションは、そのリモート アプリケーションにログインしたユーザーのアカウントのアクセス権限を使用します。
一般的なシナリオには以下が含まれます。
- 一連の同じユーザーを共有しない 2 つのアプリケーション間にアプリケーション リンクをセットアップする場合。
- パブリック サインオンが許可されるようになったアプリケーションへのリンクや、共有ユーザーベースで以前に構成されたリンクを引き続き使用したい場合。アプリケーション リンクを編集する際に、[OAuth (偽装)] を [OAuth] に変更して、アプリケーション リンクを更新することができます。
詳細は、「アプリケーションリンク用の OAuth セキュリティ」を参照してください。
偽装を伴う OAuth
アトラシアンの偽装を伴う OAuth により、アトラシアン アプリケーション間での緊密な連携のメリットをユーザーに簡単に提供できます。
- ユーザーは他のアプリケーションで自動的に認証され、リクエストの認可を求められません。
- ユーザーには、自身が表示権限を持つ情報のみが表示されます。
偽装認証は、現在ログイン中のユーザーに代わりリクエストを行います。
アトラシアンの偽装を伴う OAuth は、アトラシアンのアプリケーション間のアプリケーション リンクにのみ使用できることにご注意ください。また、2 つのアプリケーションが同じユーザーベース (通常は LDAP を使用した外部ディレクトリで管理) を共有する場合にのみ使用します。
一般的なシナリオは以下のとおりです。
- アプリケーション リンクをセットアップしましたが、ユーザーは引き続き定期的に認証を受ける必要があります。これはアプリケーション リンクが同じユーザーベースを共有しないように設定された場合に発生することがあります。アプリケーションが同じユーザーベースを共有しない場合、アプリケーション リンクを編集する際に、OAuth (偽装) を選択することで、アプリケーション リンクを更新することができます。
詳細は、「アプリケーションリンク用の OAuth セキュリティ」を参照してください。
OAuth を使用するように既存のリンクを更新する
以下の場合は、OAuth を使用するように既存のアプリケーション リンクを更新する必要がある場合があります。
- バージョン 5.2 以降のアプリケーション リンクを使用するバージョンにアトラシアン アプリケーションをアップグレードした場合。「アプリケーション リンクのバージョン マトリクス」を参照してください。
- 既存のリンクは信頼済みアプリケーションの認証を使用しているが、チームは Jira Software 課題の開発パネルで Bitbucket Server などの開発者ツールからの要約情報を表示できない場合。
- 既存のアプリケーション リンクが OAuth を使用しているが、チームは Jira Software 課題の開発パネルで詳細ダイアログを表示できない場合。
- OAuth 認証タイプが必要なプラグインを使用している場合。
ここでは Jira Software での方法を説明しますが、他のアトラシアン サーバー製品でもプロセスはほとんど同じです。
ローカル アプリケーションから開始
ローカル アプリケーションの管理領域の [アプリケーション リンクを設定] ページに移動します。
更新が必要なリンクの横に DEPRECATED というマークが表示される場合があります。
[編集] ダイアログの [接続] 配下でリンクのローカル認証を設定します。
次のいずれかを選択します。
- OAuth if the applications have different userbases.
- OAuth (impersonation) if both applications share the same userbase (typically managed with an external directory using LDAP).
See OAuth security for application links for more information.
入力および出力方向の両方で、ローカルおよびリモート エンドの認証が一致していることを確認します。
[変更を保存] をクリックします。
リモート アプリケーションでの操作
リモート アプリケーションの管理領域の [アプリケーション リンクの設定] ページに移動します。表示している UI と一致する手順の列を選択します (いずれも同じ結果になります)。
[編集] ダイアログの [接続] 配下でリンクのローカル認証を設定します。
次のいずれかを選択します。
- OAuth if the applications have different userbases.
- OAuth (impersonation) if both applications share the same userbase (typically managed with an external directory using LDAP).
See OAuth security for application links for more information.
入力および出力方向の両方で、ローカルおよびリモート エンドの認証が一致していることを確認します。
[変更を保存] をクリックします。
[設定] ダイアログで、[送信認証] をクリックして [OAuth] タブをクリックします。
[2-Legged OAuth の有効化] を選択します。ここでは、アプリケーションは異なるユーザーベースを持っていると想定しています。
Optionally, select Enable 2-Legged OAuth with impersonation, if both applications share the same userbase (typically managed with an external directory using LDAP).
[更新] をクリックします。
Now, click Incoming Authentication and then the OAuth tab:
[2-Legged OAuth の有効化] を選択します。ここでは、アプリケーションは異なるユーザーベースを持っていると想定しています。
両方のアプリケーションが同じユーザーベースを共有している場合は、任意で [2-Legged OAuth (なりすまし機能あり) の有効化] を選択します。
[更新] をクリックします。
注意:
Jira Software の開発パネルの要約データを表示できるユーザーが、その要約に集約される、詳細ダイアログの各情報 (ブランチ、コミット、プル リクエストなど) の閲覧権限を持っていない場合があります。これは、詳細ダイアログが、接続されたアプリケーションでそのユーザーが持っているアクセス権限を尊重しているためです。
開発パネルを表示するには、チーム メンバーが Jira Software で "開発ツールの表示" 権限を持っている必要があります。
ポート 443 でアプリケーションを実行する場合、すべての機能を利用するには、有効な SSL 証明書 (自己署名証明書ではありません) を使用する必要があります。