正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

保護パッケージ

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

デフォルトでは、少なくともデベロッパーロールを持つすべてのユーザーは、パッケージを作成、編集、削除できます。どのユーザーがパッケージを変更できるかを制限するには、パッケージ保護ルールを追加します。

GitLabは、NPM、PyPi、Maven、Conanパッケージのパッケージ保護をサポートしていますが、エピック5574では、追加機能とパッケージ形式を追加することを提案しています。

パッケージが保護されている場合、デフォルトの動作では、パッケージにこれらの制限が適用されます:

アクション最小ロールまたはトークン
パッケージを保護するメンテナー以上のロール。
新しいパッケージをプッシュするプッシュに必要な最小アクセスレベルで設定された最小ロール以上。
デプロイトークンで新しいパッケージをプッシュする有効なデプロイトークン、プッシュされたパッケージが保護ルールと一致しない場合に限ります。保護されたパッケージは、デプロイトークンでプッシュできません。
パッケージを削除する削除に必要な最小アクセスレベルで設定された最小ロール以上。

パッケージの保護

前提要件:

  • メンテナーロール以上が必要です。

パッケージを保護するには、次の手順に従います:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 設定 > パッケージとレジストリを選択します。
  3. パッケージレジストリを展開します。
  4. 保護されたパッケージで、保護ルールを追加するを選択します。
  5. フィールドに入力します:
    • 名前パターンは、保護するパッケージ名のパターンです。パターンには、ワイルドカード(*)を含めることができます。
    • パッケージタイプは、保護するパッケージのタイプです。
    • プッシュに必要な最小アクセスレベルは、名前パターンに一致するパッケージをプッシュするために必要な最小ロールです。
    • 削除に必要な最小アクセスレベルは、名前パターンに一致するパッケージを削除するために必要な最小ロールです。
  6. 保護を選択します。

パッケージ保護ルールが作成され、設定に表示されます。

複数のパッケージの保護

ワイルドカードを使用して、同じパッケージ保護ルールで複数のパッケージを保護できます。たとえば、CI/CDパイプライン中にビルドされた一時的なパッケージをすべて保護できます。

次の表に、複数のパッケージに一致するパッケージ保護ルールの例を示します:

ワイルドカード付きのパッケージ名パターン一致するパッケージ
@group/package-*@group/package-prod@group/package-prod-sha123456789
@group/*package@group/package@group/prod-package@group/prod-sha123456789-package
@group/*package*@group/package@group/prod-sha123456789-package-v1

同じパッケージに複数の保護ルールを適用できます。少なくとも1つの保護ルールがパッケージに適用される場合、そのパッケージは保護されます。

パッケージ保護ルールを削除して、パッケージの保護を解除します

前提要件:

  • メンテナーロール以上が必要です。

パッケージの保護を解除するには、次の手順に従います:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 設定 > パッケージとレジストリを選択します。
  3. パッケージレジストリを展開します。
  4. 保護されたパッケージで、削除する保護ルールの横にある削除 remove )を選択します。
  5. 確認ダイアログで、削除を選択します。

パッケージ保護ルールが削除され、設定に表示されなくなります。