Confluence Data Center で SAML をバイパスするデフォルトのログイン ページを有効化する

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

This article applies to version 4.X.X of the SSO for Atlassian Data Center app. The version bundled with your version of Confluence may be different.
See documentation for older versions below.

目的

The SSO plugin supports a bypass parameter to login to Confluence directly without using your configured IDP. This query parameter, auth_fallback is disabled by default, works only on the login page URL, and is useful for troubleshooting SSO issues. An example of such a URL for Confluence is http://<base-url>/login.action?auth_fallback (e.g. http://confluence.com/login.action?auth_fallback). If the application is configured to allow bypassing SSO authentication, then users will be able to access the default login page directly by providing this parameter.

When using SSO for Atlassian Data Center app version 4.0.X or 4.1.X, you can also enable SSO bypass for all users and all URLs by setting the Login mode to Use OpenID Connect / SAML as secondary authentication in SSO 2.0 configuration. With this option enabled, all users will be able to log in through the default login page directly and will be able to log in through your IDP by going to https://<base-url>/plugins/servlet/external-login.

When using SSO for Atlassian Data Center app version 4.2.X,  you can also enable SSO bypass for all users and all URLs by enabling the Show on login page for the Login Option "Username and password" in Authentication Methods configuration. This is possible as starting in v4.2.0, Multiple IdPs support was introduced. 

Note that enabling this will mean that users are not automatically redirected to log in through your IDP when visiting Confluence, and may find this disruptive. To minimize disruption to active users, you may prefer the approach detailed below.


Method-1:  REST API

In order to make use of this functionality, the allow-redirect-override flag (or enable-authentication-fallback flag, depending on the version) needs to be enabled via REST API. This can be done with other REST clients or via cURL, but the following is a user-friendly approach:

1. ご利用のブラウザ用に Postman をダウンロードします (別の REST クライアントをお持ちの場合はご自身のものを使えます)

2. Postman を開きます。

3. ドロップダウン メニューから GET を選択し、[Authorization] タブで [Basic Auth] を選択します (Confluence の管理用の資格情報を入力)。

Please bear in mind, the '

{"message":"Basic Authentication has been disabled on this instance."

4. ご利用の環境に合わせて変更した次の URL を入力します。http(s)://<ベース URL>/rest/authconfig/1.0/sso (例: https://confluence.com/rest/authconfig/1.0/sso)

5. OIDC が構成されている場合、SEND をクリックすると次のような内容が返されます。

OIDC 構成の出力例
{
    "sso-type": "OIDC",
    "redirect-on-login": true,
    "allow-redirect-override": false,
    "include-customer-logins": false,
    "enable-remember-me": true,
    "issuer-url": "https://<redacted>-testing.okta.com",
    "client-id": "<redacted>gUe4x5",
    "discovery-enabled": true,
    "username-claim": "preferred_username"
}

SAML が構成されている場合は次のような出力になります。 

SSO for Atlassian Data Center アプリのバージョン 4.2.x 以降でのレスポンス...
SAML 構成の出力例
{
    "show-login-form": false,
    "enable-authentication-fallback": true,
    "show-login-form-for-jsm": false,
    "last-updated": "2021-12-13T15:43:25.388+01:00"
}

enable-authentication-fallback フィールドを true に設定する必要があります。


SSO for Atlassian Data Center アプリのバージョン 4.1.x 以前でのレスポンス...
SAML 構成の出力例
{
    "certificate": "-----BEGIN CERTIFICATE-----<redacted>==-----END CERTIFICATE-----",
    "sso-type": "SAML",
    "redirect-on-login": false,
    "allow-redirect-override": false,
    "include-customer-logins": false,
    "enable-remember-me": true,
    "idp-type": "GENERIC",
    "sso-url": "https://<redacted>-testing.okta.com/app/atlassianorg621049_samltest_1/<redacted>/sso/saml",
    "sso-issuer": "http://www.okta.com/<redacted>"
}

allow-redirect-override フィールドを true に設定する必要があります。



6. これを行うには、Postman で新しいタブを開きます。

7. ドロップダウンから [PATCH] を選択し、次の URL を入力します。http(s)://<ベース URL>/rest/authconfig/1.0/sso (例: https://confluence.com/rest/authconfig/1.0/sso)

  • Confluence の一部のバージョンではこの操作を試行したときに 405 - Method Not Allowed エラーが返される可能性があります。この場合は PATCH の代わりに PUT を使うか、逆方向の入れ替えを行ってください。以降のすべての情報が引き続き適用されます。
  • 415 - Unsupported Media Type クライアント エラーが表示される場合、ペイロードのフォーマットがサポート対象外であるためにサーバーがリクエストの受け入れを拒否しています。Header で Content-type が application/json に設定されていることをご確認ください。


8. [Authorization] タブで [Basic Auth] を選択し、管理アカウントの資格情報を入力します。

9. [Body] タブに移動し、ラジオ ボタンから [raw] を選択します。ドロップダウン メニューから [JSON (application/json)] を選択します。

10. 以降の JSON 本文を利用して関連するパラメーターtrue に設定します。

アプリ バージョン 4.2.x 以降向けの JSON 本文...
{
  "enable-authentication-fallback": true
}


11. [Send] ボタンをクリックすると 200 または 304 ステータスが返されます。

12. これで、http://confluence.com/login.action?auth_fallback にアクセスして SSO をバイパスできるようになります。意図された挙動を復元するため、メンテナンスが完了したらこのフラグを false に戻すことを忘れないようにしてください。これを行うには、同じ PATCH リクエストを true ではなく false で発行します。

13. Once this is done, verify that allow-redirect-override  or enable-authentication-fallback is back to false by sending the same GET request to http(s)://<base-url>/rest/authconfig/1.0/sso described earlier. 

Method-2: Database

SSO 構成は次のクエリを通じてデータベースで直接確認することもできます。


SSO for Atlassian Data Center app version 4.2.x and newer...
select * from bandana where bandanakey like 'com.atlassian.plugins.authentication.sso.config.enable-authentication-fallback';

The returned value will/should be "false" for the bandanakey  com.atlassian.plugins.authentication.sso.config.enable-authentication-fallback

UPDATE BANDANA SET BANDANAVALUE='<string>true</string>' WHERE BANDANAKEY='com.atlassian.plugins.authentication.sso.config.enable-authentication-fallback';

上記の更新クエリを実行して値を true に変更できます。しかしながら、データベースでの値の直接変更は推奨されません。REST API のエンドポイントを使うほうが安全ですが、上記の SELECT 句は必要に応じて現在の設定を確認するのに利用できます。

Please bear in mind, to make sure that the DB change is effective please Flush all caches or restart the Confluence Server.

SSO for Atlassian Data Center app version 4.1.x and older...
select * from bandana where bandanakey like 'com.atlassian.plugins.authentication.sso.config.allow-redirect-override';

The returned value will/should be "false" for the bandanakey  com.atlassian.plugins.authentication.sso.config.allow-redirect-override 

UPDATE BANDANA SET BANDANAVALUE='<string>true</string>' WHERE BANDANAKEY='com.atlassian.plugins.authentication.sso.config.allow-redirect-override';

上記の更新クエリを実行して値を true に変更できます。しかしながら、データベースでの値の直接変更は推奨されません。REST API のエンドポイントを使うほうが安全ですが、上記の SELECT 句は必要に応じて現在の設定を確認するのに利用できます。

Please bear in mind, to make sure that the DB change is effective please Flush all caches or restart the Confluence Server.

Method-3: Recover Admin User Rights

If none of the above methods did help you you may consider starting Confluence in recovery mode to recover your admin user rights. Please refer to the Restore Passwords To Recover Admin User Rights.

アプリ バージョン 3.2 以前の場合

SSO for Atlassian Data Center アプリのバージョン 3.2 以前を実行している場合、手順が異なります。 

アプリ バージョン 3.2 用のドキュメントを確認...

REST API を利用してデフォルトのログイン ページを有効化するためのソリューション

この機能を利用するには、REST API 経由で allow-saml-redirect-override フラグを有効化する必要があります。これは他の REST クライアントや cURL 経由で行えますが、ユーザー フレンドリーな方法は次のとおりです。

1. ご利用のブラウザ用に Postman をダウンロードします (別の REST クライアントをお持ちの場合はご自身のものを使えます)

2. Postman を開きます。

3. ドロップダウン メニューから GET を選択し、[Authorization] タブで [ Basic Auth ] を選択します (管理用の資格情報を入力)。

4. ご利用の環境に合わせて変更した次の URL を入力します。https://localhost:PORT/contextPath/rest/authconfig/1.0/saml (例: https://confluence.com/rest/authconfig/1.0/saml)

5. SEND をクリックすると次のような内容が返されます。

{
  "sso-url": "https://dev-486166.oktapreview.com/app/jeancodev486166_confdc_1/exk9awjfupbFE8VQp0h7/sso/saml",
  "sso-issuer": "http://www.okta.com/exk9awjfupbFE8VQp0h7",
  "certificate": "MIIDpDCCAoygAwIBAgIGAVl1EwJVUzETMBEG\nA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU\nMBIGA1UECwwLU1NPUHJvdmlkZXIxEzARBgNVBAMMCmRldi00ODYxNjYxHDAaBgkqhkiG9w0BCQEW\nDWluZm9Ab2t0YS5jb20wHhcNMTcwMTA2MjExMjExWhcNMjcwMTA2MjExMzExWjCBkjELMAkGA1UE\nBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNV\nBAoMBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRMwEQYDVQQDDApkZXYtNDg2MTY2MRwwGgYJ\nKoZIhvcNAQkBFg1pbmZvQG9rdGEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nn5+MbxEb0rRA5kDBxVvzNRO3otJS7UMB3ldTEqivmieXvkXiSLjVYQJr7gbg+OYAX12V35HmrIs6\nRiT/d4trsePI09hRjQD2eMXsd11v1eKmoyAbsV026LZTHoVpXZQyeK383chJLEp2G6lRVdA/uFpP\nj5OCSiB5jVhEdRXymbfeESecMbh5YJu9H025sDBiqyzDHmZXunPdmJ0fyFpY9Q98bMfi7KUICHff\nlncSYQRDYax17wTO/2Nu4akWVESiBaedBlXAKuEOoB26ysxbQiUATOJTKodiGydyxLAlk2DV+Uzz\nDAeN8mQw7y4MArrSDqTWnTbtg3SJl6e0Ho/CGQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQBNy/LR\nG85t3nuk4bnh2XRWtOXlSKtq6fVMAtJ4kd8vxB8M8DyFWDIaoXTd35COs1p2LX176hdBKjgau8Ux\nNUOJ3MIOw8qQAwFWguBHFWYhrcgDCVtCvz3wLIBRZehW/tX2ah+M8ATsn8oLPHaL2W11Z0JOiEcV\nIdAu6CyR1iDcVjCT7DV3h8aUWaLjfnfcJasEqiTEs2DH1d8E+GdW/lWaGiAdVlnxmxv5rvkwFxvZ\nDJyk2VPxZmFVdK16cUbPgnk5Bge7wnNaQZOUBmUZKAKmzeA+22lhKPpv8IGTIwEpcoUHggAdhvrT\nHfcvAs4OyFQgeaBA5//UjZVa/MfAFmqP",
  "user-attribute": null,
  "allow-saml-redirect-override": false,
  "include-customer-logins": false,
  "redirect-on-login": false,
  "enable-remember-me": false
}

allow-saml-redirect-override フィールドを true に設定する必要があります。

6. これを行うには、Postman で新しいタブを開きます。

7. ドロップダウンから [PUT] を選択し、次の URL を入力します。http://localhost:PORT/contextPath/rest/authconfig/1.0/saml (例: https://confluence.com/rest/authconfig/1.0/saml)

8. [Authorization] タブで [Basic Auth] を選択し、管理アカウントの資格情報を入力します。

9. [Body] タブに移動し、ラジオ ボタンから [Raw] を選択します。ドロップダウン メニューから [JSON] を選択します。

10. コマンドの結果を参考に、allow-saml-redirect-overridetrue に設定します。

{
  "allow-saml-redirect-override": true
}

11. [Send] ボタンをクリックすると 200 または 304 ステータスが返されます。

12. これで、http://confluence.com/login.action?auth_fallback にアクセスして SSO をバイパスできるようになります。意図された挙動を復元するため、メンテナンスが完了したらこのフラグを false に戻すことを忘れないようにしてください。

13. 歯車 > [全般設定] > [SAML 認証] ページでプライマリ認証に SAML を設定できるようになります。

データベース

SAML 構成は次のクエリを通じてデータベース側で確認することもできます。

select * from bandana where bandanakey like '%samlconfig%';

しかしながら、 データベースでの値の直接変更は推奨されません 。 REST API のエンドポイントを使うほうが安全です。上記のクエリは必要に応じて現在の設定を確認するのに利用できます。



最終更新日 2023 年 11 月 21 日

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

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