View a markdown version of this page

AMI ウォーターマークを使用して AMI を追跡および識別する - Amazon Elastic Compute Cloud

AMI ウォーターマークを使用して AMI を追跡および識別する

AMI ウォーターマークは、プライベート AMI にアタッチして出所を追跡し、ガバナンスポリシーを適用するための識別子です。ウォーターマークは AMI ライフサイクル全体で保持されます。

  • ウォーターマーク付き AMI から起動された実行中のインスタンスから新しい AMI を作成すると、新しい AMI はウォーターマークを継承します。

  • ウォーターマーク付き AMI をコピーする場合、コピーにはウォーターマークが保持されます。

  • ウォーターマーク付き AMI を S3 に保存して復元する場合、復元された AMI はウォーターマークを保持します。

  • ウォーターマーク付き AMI を別のアカウントと共有した場合、ウォーターマークは受信者に表示されたままになります。

AMI ウォーターマークを使用すると、次のようなメリットがあります。

主な利点
  • アカウントとリージョン間の出所を追跡する — 承認されたベースイメージから派生する AMI を特定します。

  • アカウント全体で関連する AMI をフィルタリングして検索します。

  • AMI コンシューマーがプロジェクトまたは組織に関連付けられた信頼された AMI を検出して識別するのに役立ちます。

AMI ウォーターマークの仕組み

AMI ウォーターマークは、AMI に付加する構造化された識別子です。ウォーターマークの主な特徴を以下のとおりです。

  • 永続化 — AMI にウォーターマークを添付すると、そのウォーターマークはすべての派生 AMI にも引き継がれます。

  • 所有者のみ — AMI 所有者のみが AMI にウォーターマークをアタッチできます。

  • 誰でも表示可能 — AMI にアクセスできるユーザーは誰でもウォーターマークを表示できます。

  • 5 の制限 — AMI には最大 5 つのウォーターマークを含めることができます。

  • パブリック AMI では使用不可能 — ウォーターマークをパブリック AMI したり、ウォーターマークがある場合は AMI を公開したりすることはできません。

  • フィルタリング可能describe-images を使用すると、AMI ウォーターマークでフィルタリングできます。

ウォーターマークの形式

ウォーターマークは、次のフィールドを持つ構造化オブジェクトです。

  • WatermarkKey — ウォーターマークの一意の識別子は、account-id:watermark-name で構成されます。account ID は、REST API 所有者の 12 桁の AWS account ID です。ウォーターマークの名称部分は、お客様が指定した名前です。

  • SourceImageRegion — 最初にウォーターマークをアタッチした AMI のリージョン。

  • SourceImageId — ウォーターマークを最初にアタッチした AMI。

  • SourceImageCreationDate — ウォーターマークを最初にアタッチした AMI の作成日。

  • WatermarkCreationTime — ウォーターマークを適用したときのタイムスタンプ。

ウォーターマーク名は 3~128 文字で、英数字、括弧 (())、角括弧 ([])、スペース、ピリオド (.)、スラッシュ (/)、ダッシュ (-)、一重引用符 (')、アットマーク (@)、またはアンダースコア (_) を含めることができます。

必要なアクセス許可

AMI ウォーターマークを使用するには、次の IAM アクセス許可が必要です。

  • ec2:AttachImageWatermark — AMI にウォーターマークをアタッチします。

  • ec2:DetachImageWatermark — AMI からウォーターマークをデタッチします。

  • ec2:DescribeImages — AMI のウォーターマークを表示します。

AMI にウォーターマークをアタッチする

コンソール、AWS CLI、または PowerShell を使用して、AMI にウォーターマークをアタッチできます。

Console
AMI にウォーターマークをアタッチするには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで [AMI] を選択してください。

  3. AMI を選択します。

  4. 詳細 タブの ウォーターマーク セクションで、ウォーターマークの管理 を選択します。

  5. ウォーターマーク名を入力し、アタッチ を選択します。

AWS CLI
AMI にウォーターマークをアタッチするには

attach-image-watermark コマンドを使用します。

aws ec2 attach-image-watermark \ --image-id ami-1111111111EXAMPLE \ --image-watermark-name "prod-baseline"

以下は出力の例です。

{ "WatermarkKey": "123456789012:prod-baseline" }
PowerShell
AMI にウォーターマークをアタッチするには

Add-EC2ImageWatermark コマンドレットを使用します。

Add-EC2ImageWatermark ` -ImageId ami-1111111111EXAMPLE ` -ImageWatermarkName "prod-baseline"

1 つの AMI に最大 5 つのウォーターマークをアタッチできます。

AMI からウォーターマークをデタッチする

コンソール、AWS CLI、または PowerShell を使用して、AMI からウォーターマークをデタッチできます。

Console
AMI からウォーターマークをデタッチするには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで [AMI] を選択してください。

  3. AMI を選択します。

  4. 詳細 タブの ウォーターマーク セクションで、ウォーターマークの管理 を選択します。

  5. 削除するウォーターマークを選択し、削除 を選択します。

AWS CLI
AMI からウォーターマークをデタッチするには

detach-image-watermark コマンドを使用します。

aws ec2 detach-image-watermark \ --image-id ami-1111111111EXAMPLE \ --image-watermark-key "111122223333:prod-baseline"
PowerShell
AMI からウォーターマークをデタッチするには

Remove-EC2ImageWatermark cmdlet を使用します。

Remove-EC2ImageWatermark ` -ImageId ami-1111111111EXAMPLE ` -ImageWatermarkKey "111122223333:prod-baseline"
注記

AMI からウォーターマークをデタッチしても、そのウォーターマークが既に存在する派生 AMI からは削除されません。ウォーターマークが永続性を維持するには、ウォーターマークを管理する必要がある信頼できる管理者にのみ ec2:DetachImageWatermark のアクセス許可を付与します。

AMI ウォーターマークを表示する

コンソール、AWS CLI、または PowerShell を使用して、AMI のウォーターマークを表示できます。

Console
AMI のウォーターマークを表示するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで [AMI] を選択してください。

  3. AMI を選択します。

  4. 詳細 タブのウォーターマークセクションで ウォーターマーク を表示します。

AWS CLI
AMI のウォーターマークを表示するには

describe-images コマンドを使用します。

aws ec2 describe-images \ --image-ids ami-046863d776a820ccd \ --region us-east-1

レスポンスには、各 AMI に対応する ImageWatermarks の 配列が含まれます。

{ "Images": [ { "ImageId": "ami-046863d776a820ccd", "Public": false, "OwnerId": "123456789012", ... "ImageWatermarks": [ { "WatermarkKey": "111122223333:prod-baseline", "Region": "us-east-1", "SourceImageId": "ami-0b752bf1df193a6c4", "SourceImageCreationDate": "2024-07-10T08:15:00", "CreationDate": "2024-07-12T14:30:00" }, { "WatermarkKey": "222222222222:security-approved", "Region": "eu-north-1", "SourceImageId": "ami-12345678", "SourceImageCreationDate": "2024-06-01T10:00:00", "CreationDate": "2024-06-05T09:45:00" } ] } ] }
PowerShell
AMI のウォーターマークを表示するには

Get-EC2Image コマンドレットを使用します。

(Get-EC2Image -ImageId ami-046863d776a820ccd).ImageWatermarks

ウォーターマークで AMI をフィルタリング

コンソール、AWS CLI、PowerShell を使用して AMI をウォーターマークでフィルタリングできます。

Console
AMI ウォーターマークでフィルタリングするには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで [AMI] を選択してください。

  3. 検索バーで、ウォーターマークキー フィルターを選択し、ウォーターマークキーの値を入力します。

AWS CLI
AMI ウォーターマークでフィルタリングするには

image-watermark-key フィルターで「describe-images」コマンドを使用します。

aws ec2 describe-images \ --filters "Name=image-watermark-key,Values=111122223333:prod-baseline"

これにより、コピー操作によって継承された派生 AMI など、指定されたウォーターマークを持つ にアクセスできるすべての AMI が返されます。

PowerShell
AMI ウォーターマークでフィルタリングするには

-Filter パラメータで Get-EC2Image コマンドレットを使用します。

Get-EC2Image ` -Filter @{Name="image-watermark-key"; Values="111122223333:prod-baseline"}

これにより、コピー操作によって継承された派生 AMI など、指定されたウォーターマークを持つ にアクセスできるすべての AMI が返されます。