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 リソース: リーエン