GitLab Pagesへのアクセス制御
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
管理者がGitLabインスタンスでアクセス制御機能を有効にしている場合、プロジェクトでPagesのアクセス制御を有効にできます。有効にすると、認証されたプロジェクトのメンバー(少なくともゲスト)のみが、デフォルトでWebサイトにアクセスできます:
デモンストレーションについては、Pagesのアクセス制御を参照してください。
左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
設定 > 一般を選択します。
可視性、プロジェクトの機能、権限を展開します。
Pagesボタンを切り替えて、アクセス制御を有効にします。切り替えボタンが表示されない場合は、有効になっていないことを意味します。管理者に有効にするように依頼してください。
Pagesのアクセス制御ドロップダウンリストを使用すると、プロジェクトの表示レベルに応じて、GitLab Pagesでホストされているページを表示できるユーザーを設定できます:
- プロジェクトがプライベートの場合:
- Only project members(プロジェクトメンバーのみ): プロジェクトメンバーのみがWebサイトを閲覧できます。
- 全員: GitLabにログインしているかログアウトしているかに関わらず、すべての人がプロジェクトのメンバーシップに関係なくWebサイトを閲覧できます。
- プロジェクトが内部の場合:
- Only project members(プロジェクトメンバーのみ): プロジェクトメンバーのみがWebサイトを閲覧できます。
- Everyone with access(アクセスできる人すべて): GitLabにログインしているすべての人が、プロジェクトのメンバーシップに関係なくWebサイトを閲覧できます。外部ユーザーは、プロジェクトのメンバーシップを持っている場合にのみWebサイトにアクセスできます。
- 全員: GitLabにログインしているかログアウトしているかに関わらず、すべての人がプロジェクトのメンバーシップに関係なくWebサイトを閲覧できます。
- プロジェクトがパブリックの場合:
- Only project members(プロジェクトメンバーのみ): プロジェクトメンバーのみがWebサイトを閲覧できます。
- Everyone with access(アクセスできる人すべて): GitLabにログインしているかログアウトしているかに関わらず、すべての人がプロジェクトのメンバーシップに関係なくWebサイトを閲覧できます。
- プロジェクトがプライベートの場合:
変更を保存を選択します。変更はすぐには有効にならない場合があります。GitLab Pagesは効率性のためにキャッシュ機構を使用します。キャッシュが無効になるまで変更が有効にならない場合があります。通常、1分もかかりません。
次に誰かがWebサイトにアクセスしようとしたときにアクセス制御が有効になっている場合、GitLabにサインインしてWebサイトにアクセスできることを確認するページが表示されます。
関連付けられたグループに対してSAML SSOが構成され、アクセス制御が有効になっている場合、ユーザーはWebサイトにアクセスする前にシングルサインオンを使用して認証する必要があります。
グループPagesのパブリックアクセスを削除
グループのPagesのパブリック表示レベルオプションを削除するための設定を構成します。有効にすると、グループとそのサブグループ内のすべてのプロジェクトは、「全員」の表示レベルを使用する機能を失い、プロジェクトの表示レベル設定に応じて、プロジェクトメンバーまたはアクセス権を持つすべてのユーザーに制限されます。
前提要件
- Pagesへのパブリックアクセスは、インスタンスレベルで失効されていない必要があります。
- グループのオーナーロールを持っている必要があります。
これを行うには、次の手順を実行します:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > 一般を選択します。
- 権限とグループ機能を展開します。
- Pages public access(Pagesのパブリックアクセス)で、パブリックアクセスの削除チェックボックスをオンにします。
- 変更を保存を選択します。
GitLab Pagesは効率性のためにキャッシュを使用します。アクセス制御設定への変更は通常、キャッシュが更新されると1分以内に有効になります。
アクセストークンで認証
制限されたGitLab Pagesサイトに対して認証するには、Authorizationヘッダーにアクセストークンを指定します。
前提要件:
read_apiスコープを持つ次のアクセストークンのいずれかが必要です:
たとえば、OAuth準拠のヘッダーでアクセストークンを使用するには、次のようにします:
curl --header "Authorization: Bearer <your_access_token>" <published_pages_url>無効または認証されていないアクセストークンの場合、404が返されます。
Pagesセッションの終了
GitLab Pages Webサイトからサインアウトするには、GitLab Pagesのアプリケーションアクセストークンを失効します:
- 左側のサイドバーで、自分のアバターを選択します。新しいナビゲーションをオンにしている場合、このボタンは右上隅にあります。
- プロファイルの編集を選択します。
- アプリケーションを選択します。
- 許可したアプリケーションセクションで、GitLab Pagesエントリを見つけて、取り消しを選択します。