リーエンでプロジェクトを保護する

Google Cloud プロジェクト リーエンを使用すると、重要なプロジェクトが誤って削除されたり、悪意を持って削除されたりするのを防ぐことができます。リーエンは、組織管理者またはプロジェクト オーナーがリーエンを削除するまで、プロジェクトの削除をブロックします。

Google Cloud は、リーエンを自動的に適用してリソースを保護することもできます。たとえば、あるプロジェクトのサービス アカウントを接続して別のプロジェクトのリソースに接続すると、 Google Cloud は Identity and Access Management(IAM)サービス アカウントを所有するプロジェクトにリーエンを配置して、依存関係の破損を防ぎます。

始める前に

プロジェクト リーエンを操作するには、gcloud CLI を使用するのが最も簡単な方法です。このツールをインストールしていない場合は、Google Cloud Shell を使用できます。

必要なロール

リーエンの変更に必要な権限を取得するには、プロジェクトに対するプロジェクト リーエン修飾子 (roles/resourcemanager.lienModifier)IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、リーエンの変更に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

リーエンを変更するには、次の権限が必要です。

  • resourcemanager.projects.updateLiens
  • プロジェクトのリーエンを一覧表示します: resourcemanager.projects.get

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

プロジェクトにリーエンを適用する

プロジェクトにリーエンを設定するには、alpha resource-manager liens create コマンドを使用します。

gcloud alpha resource-manager liens create \
    --project=PROJECT_ID \
    --restrictions=resourcemanager.projects.delete \
    --reason=LIEN_REASON \
    --origin=LIEN_ORIGIN

以下のように置き換えます。

  • PROJECT_ID: リーエンを適用するプロジェクトの ID。
  • LIEN_REASON: リーエンの存在理由に関する説明(人が読める形式)。この説明は二重引用符で囲みます。例: "This project is protected by a lien"
  • LIEN_ORIGIN: リーエンの発生源となったユーザーまたはシステムを示す文字列。これは必須フィールドですが、省略した場合はユーザーのメールアドレスが自動的に入力されます。

プロジェクトに適用されているリーエンを一覧表示する

プロジェクトに適用されているすべてのリーエンを一覧表示するには、alpha resource-manager liens list コマンドを使用します。

gcloud alpha resource-manager liens list

出力は次のようになります。

NAME                                                  ORIGIN            REASON
p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7  user@example.com  testing

プロジェクトからリーエンを削除する

プロジェクトからリーエンを削除するには、alpha resource-manager liens delete コマンドを使用します。

gcloud alpha resource-manager liens delete LIEN_NAME

LIEN_NAME は、削除するリーエンの名前に置き換えます(例: p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7)。

リファレンス

API リファレンス: REST リソース: リーエン