GitLab SSO連携設定
(最終更新:2024年2月)
利用に際しての留意事項
- SAML連携検証済みバージョンは 9.2.7-ce.0、10.0.4-ce.0、11.5.3-ee、11.7.5-ee です。
- GitLab側ではOmniAuthを使ってSAML連携を行っているのでバージョンによってSSO連携に影響は出ないものと思われますが、ご利用のGitLabバージョンが弊社検証環境バージョンと著しく異なる場合は、お客様側でも事前に動作検証いただくことを推奨致します。
- https通信での検証は未実施となります。
- GitLabの管理者画面>Setting>Sign-in Restrictionにて「Password authentication enabled for web interface」チェックをOFFにすることでCloudGate UNO経由ログインの強制化が行えます。
SSO連携設定の手順
GitLab のSSO設定
GitLab のSSO設定には CloudGate UNO の情報が必要になります。
CloudGate UNO 管理者サイトのシングルサインオン設定画面(左メニュー > 設定 > サービスプロバイダー > 各サービスパネルの「編集」 > シングルサインオン設定タブ)の「SAML 2.0のIdP情報」項目より以下情報を取得して、 GitLab に設定します。
CloudGate UNO 項目名 |
GitLab の設定箇所 |
---|---|
プロバイダー名 |
ー |
ログインURL |
GitLabのconfigurationファイル内>「OmniAuth Settings」を編集する際に、[idp_sso_target_uri]の情報として入力します。 |
ログアウトURL |
ー |
パスワード変更画面URL |
ー |
証明書 |
GitLabのconfigurationファイル内>「OmniAuth Settings」を編集する際に、[idp_cert_fingerprint]の情報として詳細から取得できる「公開鍵のフィンガープリント(SHA1)」を入力します。 |
SAML 2.0 メタデータURL |
ー |
SAML 2.0メタデータ |
ー |
CloudGate UNO のSSO設定
CloudGate UNO 項目名 |
設定値 |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|
IdP-initiated SSO |
ON |
|||||||||
SP-initiated SSO |
ON |
|||||||||
Sign-on URL / SAML endpoint URL / SSO URL(*) |
GitLabの[サーバURL] を取得し、その値を入力します。 |
|||||||||
Issuer / Provider name / Entity ID(*) |
GitLabの[サーバURL] を取得し、その値を入力します。 |
|||||||||
Assertion consumer service URL(*) |
GitLabの[ACS URL](GitLabの[サーバURL]に「/users/auth/saml/callback」を付け加えたURL) を取得し、その値を入力します。 |
|||||||||
Name IDの形式 |
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent |
|||||||||
リクエストの署名要求 |
OFF |
|||||||||
レスポンスへの署名 |
ON |
|||||||||
アサーションへの署名 |
ON |
|||||||||
ダイジェストアルゴリズムタイプ |
http://www.w3.org/2001/04/xmlenc#sha256 |
|||||||||
署名検証アルゴリズム情報タイプ |
http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 | |||||||||
正規化アルゴリズムタイプ |
http://www.w3.org/2001/10/xml-exc-c14n#WithComments | |||||||||
署名検証鍵情報タイプ |
x509証明書 | |||||||||
追加属性(*) |
シングルサインオンするには下記の追加属性が必要です。
|
|||||||||
シングルサインオフの設定 | ||||||||||
サインオフメソッド |
HTTP GET |
|||||||||
ログアウトURL(*) |
https://echizen.cloudgate.jp/ |
CloudGate UNO と GitLab アカウントIDの関連付け
下記の情報が一致している必要があります。
CloudGate UNO |
GitLab |
---|---|
アカウントID |
メール |
SAML認証の有効化
GitLabのconfigurationファイル内>「OmniAuth Settings」を以下の通りに編集し保存します。
- [omniauth_enable]:[true]
- [omniauth_block_auto_created_users]:[true]
- [omniauth_auto_link_samluser]:[true]
- [assertion_consumer_service_url]:[GitLabのACS URL(GitLabのサーバURLに「/users/auth/saml/callback」を付け加えたURL)]
- [idp_sso_target_uri]:CloudGate UNOから取得した[ログインURL]
- [idp_cert_fingerprint]:CloudGate UNOから取得した[証明書のフィンガープリント(SHA1)]
- [issuer]:[GitLabのサーバURL]
- [name_identifier_format]:[urn:oasis:names:tc:SAML:2.0:nameid-format:persistent ]
- [label]:[任意の文字列(SAML開始ボンタン名)]