ニフクラ DevOps with GitLab:パラメーター
パラメーターを利用すれば、DevOpsサーバーへのアクセスを制御できます。
パラメーターグループ
- パラメーターグループは、リージョン単位で作成します。
- パラメーターグループのリージョンと、DevOpsサーバーのリージョンが一致する場合のみ、そのパラメーターグループをDevOpsサーバーに適用できます。
- パラメーター変更時パラメーターが適用されているDevOpsサーバーは再起動されます。
- パラメーターはDevOpsサーバー1台につき1つのパラメーターのみ適用できます。
- 作成済みのDevOpsサーバーに対してパラメーターの付替えはできません。
パラメーターのデフォルト値
- パラメーターグループを新規で作成した場合すべての項目のパラメーターは空で作成されます。
- すべての値が空で作成されたパラメーターグループをDevOpsサーバーに適用した場合、DevOpsサーバーはカスタマイズされずシステムデフォルトの仕様が適用されます。
設定可能なパラメーターの一覧
パラメーターグループで指定可能なパラメーター名と値は以下の表の通りです。
カスタムESS設定
DevOpsサーバーから送信されるメールのFromやReply-toをカスタマイズ可能なパラメーターです。
パラメーター名 | 値 |
---|---|
parameters.smtp_user_name | ニフクラESSのSMTPユーザー名を指定します。システムデフォルトのESSを使用する場合はsmtp_user_nameとsmtp_passwordを空に設定してください。 (空文字の設定可能、最大文字数は50文字) |
parameters.smtp_password | ニフクラESSのSMTP パスワード名を指定します。システムデフォルトのESSを使用する場合はsmtp_user_nameとsmtp_passwordを空に設定してください。 (空文字の設定可能、最大文字数は50文字) |
parameters.gitlab_email_from | ニフクラESSの認証済みメールアドレスを入力します。DevOpsサーバーから送信されるメールのFromをカスタマイズすることができます。 (空文字の設定可能、最大文字数は320文字) |
parameters.gitlab_email_reply_to | ニフクラESSの認証済みメールアドレスを入力します。DevOpsサーバーから送信されるメールのReply-Toをカスタマイズすることができます。 (空文字の設定可能、最大文字数は320文字) |
SAML認証連携
DevOpsサーバーのログインにSAML認証を追加することができるパラメーターです。
最大5つまで認証先を追加することができます。
パラメーター名 | 値 |
---|---|
parameters.omniauth_allow_single_sign_on | SAML認証を有効にする場合は「saml」を指定します。SAML認証を無効にする場合は空文字を設定してください。 (CSV形式、空文字、saml) |
parameters.omniauth_auto_sign_in_with_provider | Gitlabのログイン画面を表示した際に自動でSAML認証画面に遷移します。自動で遷移させる場合には「saml」を指定します。 (空文字の設定可能、saml) |
parameters.omniauth_block_auto_created_users | SAML認証でログインに成功した場合にGitlab側に自動でユーザを作成するのを防ぐことができます。自動でユーザを登録しても良い場合には「false」を設定します。 (空文字の設定可能、true, false、デフォルトはfalse) |
parameters.omniauth_auto_link_saml_user | SAML認証でログインに成功した場合にGitlab側に存在する既存ユーザと自動的にリンクすることができます。自動でユーザをリンクさせない場合には「false」を設定します。 (空文字の設定可能、true, false、デフォルトはfalse) |
parameters.omniauth_providers_saml_name | 「saml」を指定します。 (空文字の設定可能、saml) |
parameters.omniauth_providers_saml_label | Gitlabのログイン画面に表示されるSAML認証ボタンのラベル名を設定します。 (空文字の設定可能、最大文字数は20文字) |
parameters.omniauth_providers_saml_assertion_consumer_service_url | SAML認証を使用するアクセス元のURLを設定します。この値はDevOpsサーバーのURLに/users/auth/saml/callbackを付与したURLを設定します。 (空文字の設定可能、最大文字数は100文字) |
parameters.omniauth_providers_saml_idp_cert_fingerprint | IdPが発行するフィンガープリントを設定します。 (空文字の設定可能、最大文字数は60文字) |
parameters.omniauth_providers_saml_idp_sso_target_url | IdPが発行するSAML連携時のログインURLを設定します。 (空文字の設定可能、最大文字数は100文字) |
parameters.omniauth_providers_saml_issuer | SAML認証を使用するアクセス元のURLを設定します。この値はDevOpsサーバーのURLを設定します。 (空文字の設定可能、最大文字数は100文字) |
parameters.omniauth_providers_saml_name_identifier_format | IdPが発行するユーザ名を識別するための識別子を設定します。 (空文字の設定可能、最大文字数は100文字) |
parameters.omniauth_providers_saml_groups_attribute | SAMLログイン成功時にユーザに付与されるグループ属性を特定するためのキー情報を設定します。IdP側で設定した属性名と合わせる必要があります。 (空文字の設定可能、最大文字数は20文字) |
parameters.omniauth_providers_saml_required_groups | SAMLログイン成功時にユーザが所属していなければいけないグループを指定します。複数のグループをCSVで記載できます。 (CSV形式、空文字の設定可能、最大文字数は50文字) |
parameters.omniauth_providers_saml_external_groups | SAMLログイン成功時にユーザがこのグループに所属していると自動的に外部ユーザとして登録されます。複数のグループをCSVで記載できます。 (CSV形式、空文字の設定可能、最大文字数は30文字) |
parameters.omniauth_providers_saml_admin_groups | SAMLログイン成功時にユーザがこのグループに所属していると自動的に管理ユーザとして登録されます。複数のグループをCSVで記載できます。 (CSV形式、空文字の設定可能、最大文字数は30文字) |
parameters.omniauth_providers_saml_auditor_groups | SAMLログイン成功時にユーザがこのグループに所属していると自動的に読み込み専用ユーザとして登録されます。複数のグループをCSVで記載できます。 (CSV形式、空文字の設定可能、最大文字数は30文字) |
LDAP認証連携
DevOpsサーバーのログインにLDAP認証を追加することができるパラメーターです。
Premiumライセンスを登録している場合に最大5つまで認証先を追加することができます。
パラメーター名 | 値 |
---|---|
parameters.ldap_enabled | LDAP認証を有効にする場合は「true」を、無効にする場合は「false」を設定してください。 (空文字の設定可能、true, false、デフォルトはfalse) |
parameters.ldap_servers_name | 連携先LDAPを一意に識別する名前を設定します。LDAP認証を個別に無効にする場合は空文字を設定してください。 (空文字の設定可能、最大文字数は20文字) |
parameters.ldap_servers_label | Gitlabのログイン画面に表示されるLDAP認証のラベル名を設定します。 (空文字の設定可能、最大文字数は20文字) |
parameters.ldap_servers_host | 連携先LDAPサーバのホスト名またIPアドレスを指定します。 (空文字の設定可能、最大文字数は255文字) |
parameters.ldap_servers_port | 連携先LDAPサーバのポート番号を指定します。 (空文字の設定可能、0-65535) |
parameters.ldap_servers_uid | サインインに使用するユーザー名にマップされるLDAP属性を指定します。 (空文字の設定可能、最大文字数は30文字) |
parameters.ldap_servers_encryption | 暗号化方式を指定します。start_tlsやsimple_tlsを指定します。 (空文字の設定可能、start_tls, simple_tls, plain) |
parameters.ldap_servers_verify_certificates | SSL 証明書の検証を有効にするかどうか指定します。falseに設定すると、LDAPサーバーのSSL証明書の検証は実行されません。 (空文字の設定可能、true, false、デフォルトはfalse) |
parameters.ldap_servers_bind_dn | バインドするユーザのフルDN名を指定します。 (空文字の設定可能、最大文字数は100文字) |
parameters.ldap_servers_password | 連携先LDAPサーバのパスワードを指定します。 (空文字の設定可能、最大文字数は50文字) |
parameters.ldap_servers_timeout | 連携先LDAPサーバと接続確認をするタイムアウト時間(秒)を指定します。 (空文字の設定可能、0-3600) |
parameters.ldap_servers_active_directory | 連携先LDAPサーバがActiveDirectoryの場合はtrueを指定します。 (空文字の設定可能、true, false、デフォルトはfalse) |
parameters.ldap_servers_allow_username_or_email_login | trueを設定するとサインイン時に送信されたLDAPユーザー名の最初のアットマーク以後の値をすべてを無視します。 (空文字の設定可能、true, false、デフォルトはfalse) |
parameters.ldap_servers_block_auto_created_users | trueを設定した場合は新規で作成されたユーザは管理者が許可するまでログインできません。 (空文字の設定可能、true, false、デフォルトはfalse) |
parameters.ldap_servers_base | ユーザを検索するベースDN名を指定します。 (空文字の設定可能、最大文字数は100文字) |
parameters.ldap_servers_user_filter | LDAPユーザをフィルタすることができます。フォーマットはRFC4515です。 (空文字の設定可能、最大文字数は200文字) |
parameters.ldap_servers_lowercase_usernames | trueを設定するとGitLabは名前を小文字に変換します。 (空文字の設定可能、true, false、デフォルトはfalse) |
parameters.ldap_servers_attributes_username | Gitlabで使用されるユーザ名のLDAP属性を指定します。 (空文字の設定可能、最大文字数は50文字) |
parameters.ldap_servers_attributes_email | Gitlabで使用されるユーザ名のメールアドレスのLDAP属性を指定します。 (空文字の設定可能、最大文字数は50文字) |
parameters.ldap_servers_attributes_name | Gitlabで表示されるユーザ名のLDAP属性を指定します。 (空文字の設定可能、最大文字数は20文字) |
parameters.ldap_servers_attributes_first_name | Gitlabで表示されるユーザのファーストネームのLDAP属性を指定します。name属性が存在しない場合に使われます。 (空文字の設定可能、最大文字数は20文字) |
parameters.ldap_servers_attributes_last_name | Gitlabで表示されるユーザのラストネームのLDAP属性を指定します。name属性が存在しない場合に使われます。 (空文字の設定可能、最大文字数は20文字) |
サンプルリクエスト
curl -XPUT https://jp-east-1.devops.api.nifcloud.com/v1/parameterGroups/gitlab1pg
-H 'X-Amz-Date: 20230401T000000Z'
-H 'Authorization: AWS4-HMAC-SHA256 ...'
-H 'content-type:application/json'
-d '
{
"changedParameterGroupName":"gitlab1pg",
"description":"production_pg",
"parameters":{
"smtp_user_name":"user1",
"smtp_password":"xxxx",
"gitlab_email_from":"a@b",
"gitlab_email_reply_to":"c@d",
"omniauth_allow_single_sign_on":"saml",
"omniauth_auto_sign_in_with_provider":"saml",
"omniauth_block_auto_created_users":"true",
"omniauth_auto_link_saml_user":"false",
"omniauth_providers_saml_name":"saml",
"omniauth_providers_saml_label":"TestSAML",
"omniauth_providers_saml_assertion_consumer_service_url":"https://saml.assertion.consumer.service.url",
"omniauth_providers_saml_idp_cert_fingerprint":"ab:ce:ef:gh:ij:kl:mn:op:qr:st:uv:wx:yz",
"omniauth_providers_saml_idp_sso_target_url":"https://saml.idp.sso.target.url",
"omniauth_providers_saml_issuer":"issuer",
"omniauth_providers_saml_name_identifier_format":"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent",
"omniauth_providers_saml_groups_attribute":"groups",
"omniauth_providers_saml_required_groups":"a_group,b_group,c_group,d_group",
"omniauth_providers_saml_external_groups":"a_group",
"omniauth_providers_saml_admin_groups":"b_group",
"omniauth_providers_saml_auditor_groups":"c_group",
"ldap_enabled":"true",
"ldap_servers_name":"main",
"ldap_servers_label":"Login",
"ldap_servers_host":"ldap.server.com",
"ldap_servers_port":"389",
"ldap_servers_uid":"uid",
"ldap_servers_encryption":"start_tls",
"ldap_servers_verify_certificates":"true",
"ldap_servers_bind_dn":"cn=admin,dc=my-company,dc=com",
"ldap_servers_password":"ldappassword",
"ldap_servers_timeout":"10",
"ldap_servers_active_directory":"true",
"ldap_servers_allow_username_or_email_login":"true",
"ldap_servers_block_auto_created_users":"true",
"ldap_servers_base":"dc=my-company,dc=com",
"ldap_servers_user_filter":"(employeeType=developer)",
"ldap_servers_lowercase_usernames":"true",
"ldap_servers_attributes_username":"uid,userid,sAMAccountName",
"ldap_servers_attributes_email":"mail,email,userPrincipalName",
"ldap_servers_attributes_name":"displayName",
"ldap_servers_attributes_first_name":"givenName",
"ldap_servers_attributes_last_name":"sn"
}
}'