外部ユーザー
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed、GitLab Dedicated
インスタンス内の内部またはプライベートのグループとプロジェクトに対し、外部ユーザーはアクセスが制限されています。通常のユーザーとは異なり、外部ユーザーはグループまたはプロジェクトに明示的に追加する必要があります。ただし、通常のユーザーと同様に、外部ユーザーにはメンバーロールが割り当てられ、関連するすべての権限が付与されます。
外部ユーザー:
- パブリックグループ、プロジェクト、およびスニペットにアクセスできます。
- メンバーである内部またはプライベートのグループとプロジェクトにアクセスできます。
- メンバーであるすべてのトップレベルグループで、サブグループ、プロジェクト、およびスニペットを作成できます。
- 個人のネームスペースでグループ、プロジェクト、またはスニペットを作成することはできません。
外部ユーザーは、組織外のユーザーが特定のプロジェクトへのアクセスのみを必要とする場合に一般的に作成されます。外部ユーザーにロールを割り当てる場合、ロールに関連付けられたプロジェクトの表示レベルと権限に注意する必要があります。たとえば、外部ユーザーがプライベートプロジェクトのゲストロールを割り当てられている場合、コードにアクセスできません。
外部ユーザーは請求対象ユーザーとしてカウントされ、ライセンスシートを消費します。
外部ユーザーの作成
新しい外部ユーザーを作成するには:
- 左側のサイドバーの下部で、管理者を選択します。
- 概要 > ユーザーを選択します。
- 新規ユーザーを選択します。
- アカウントセクションで、必要なアカウント情報を入力します。
- オプション。アクセスセクションで、プロジェクトの制限またはユーザータイプ設定を構成します。
- 外部チェックボックスを選択します。
- ユーザーの作成を選択します。
次の方法でも外部ユーザーを作成できます:
デフォルトで、新規ユーザーを外部ユーザーにする
すべての新規ユーザーをデフォルトで外部ユーザーにするようにインスタンスを構成できます。これらのユーザーアカウントは、後で変更して外部の指定を削除できます。
この機能を構成すると、メールアドレスの識別に使用される正規表現を定義することもできます。一致するメールを持つ新しいユーザーは除外され、外部ユーザーとしてマークされません。この正規表現は、以下を満たす必要があります:
- Ruby形式を使用します。
- JavaScriptに変換可能であること。
- 大文字と小文字を区別しないフラグを設定します(
/regex pattern/i)。
次に例を示します:
\.int@example\.com$:.int@domain.comで終わるメールアドレスに一致します。^(?:(?!\.ext@example\.com).)*$\r?:.ext@example.comを含まないメールアドレスに一致します。
正規表現を追加すると、正規表現サービス拒否(ReDoS)攻撃のリスクが高まる可能性があります。
前提要件:
- GitLab Self-Managedインスタンスの管理者である必要があります。
デフォルトで新しいユーザーを外部ユーザーにするには:
- 左側のサイドバーの下部で、管理者を選択します。
- 設定 > 一般を選択します。
- アカウントと制限セクションを展開します。
- デフォルトで、新規ユーザーを外部ユーザーにするチェックボックスを選択します。
- オプション。メール除外パターンフィールドに、正規表現を入力します。
- 変更を保存を選択します。