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