View a markdown version of this page

AWSSupport-ShareEncryptedAMIOrEBSSnapshot - AWS Systems Manager オートメーションランブックリファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWSSupport-ShareEncryptedAMIOrEBSSnapshot

説明

このランブックは、暗号化された または Amazon Elastic Block Store スナップショットAmazon Machine Imageを他の Amazon Web Services アカウントと共有するプロセスを自動化します。このランブックは、 AWS Key Management Service キーポリシーの変更やリソース許可の更新など、暗号化されたリソースのクロスアカウント共有に関する複雑な要件を処理します。

この自動化は、 AWS セキュリティブログ記事「アカウント間で暗号化された を共有して、暗号化された Amazon Elastic Compute Cloud インスタンスを起動する方法AMI」で説明されているステップを実行します。

重要な考慮事項
  • このランブックはリソースを変更します。ランブックは AWS KMS カスタマーマネージドキー (CMK) ポリシーにクロスアカウントアクセス許可を追加し、ターゲットアカウントにAMI起動アクセス許可または Amazon EBS スナップショット作成ボリュームアクセス許可を付与します。

  • 追加料金が適用される場合があります。リソース (異なるリージョンまたは AWS マネージドキー暗号化) をコピーする場合、新規AMIまたは Amazon EBS スナップショットとリージョン間のデータ転送には追加料金が発生します。

  • このランブックはアカウントの存在を検証できないため、送信先アカウント ID を確認してください

  • 手動検証による自動ロールバック: このランブックは、失敗した変更を自動的にロールバックしようとします。ただし、ロールバック自体が失敗した場合、アカウントに余分な AMI/Snapshot コピーが残っていないこと、リソース LaunchPermission/CreateVolumePermission 属性に意図しないアカウントが含まれていないこと、 AWS KMS キーポリシーが元の状態であることを確認します。

動作の仕組み

ランブックは、以下の大まかなステップを実行します。

  • 入力リソースの存在、状態、暗号化設定を検証します

  • 送信先アカウントとの現在のリソース共有アクセス許可を確認します

  • AWS KMS キーポリシーを分析し、必要なすべての変更の包括的なプレビューを作成します

  • 変更を行う前に、指定されたプリンシパルの承認をリクエストします

  • リソースのコピー (必要な場合)、アクセス許可の更新、 AWS KMS キーポリシーの変更など、承認された変更を実行します

  • 必要に応じてロールバック情報を含む包括的な実行レポートを提供します。

このオートメーションを実行する (コンソール)

必要な IAM アクセス許可

AutomationAssumeRole パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。

AutomationAssumeRole パラメータには、次のアクションが必要です。

  • ec2:DescribeImages

  • ec2:DescribeSnapshots

  • ec2:DescribeImageAttribute

  • ec2:DescribeSnapshotAttribute

  • ec2:ModifyImageAttribute

  • ec2:ModifySnapshotAttribute

  • ec2:CopyImage

  • ec2:CopySnapshot

  • ec2:DeregisterImage

  • ec2:DeleteSnapshot

  • kms:DescribeKey

  • kms:GetKeyPolicy

  • kms:PutKeyPolicy

  • kms:CreateGrant

  • kms:GenerateDataKey*

  • kms:ReEncrypt*

  • kms:Decrypt

  • accessanalyzer:CheckAccessNotGranted

指示

次の手順に従って自動化を設定します。

  1. ドキュメントの Systems Manager AWSSupport-ShareEncryptedAMIOrEBSSnapshotで に移動します。

  2. [Execute automation] (オートメーションを実行) を選択します。

  3. 入力パラメータには、次のように入力します。

    • AutomationAssumeRole(オプション):

      Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS AWS Identity and Access Management ロールの Amazon リソースネーム。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。

    • 承認者 (必須):

      アクションを承認または拒否できる AWS 認証済みプリンシパルのリスト。承認者の最大数は 10 です。プリンシパルは、ユーザー名、ユーザー ARN、IAM ロール ARN、または IAM 継承ロール ARN のいずれかの形式を使用して指定できます。

    • ResourceId (必須):

      AMI または共有する Amazon EBS スナップショット ID (例: ami-123456789012 または snap-123456789012)。

    • DestinationAccountId (必須):

      リソースを共有する 12 桁の AWS アカウント ID。

    • CustomerManagedKeyId (オプション):

      AWS KMS リソースを再暗号化する CMK ID。リソースが AWS マネージドキーで暗号化されている場合、またはクロスリージョンコピーに DestinationRegion が指定されている場合に必要です。クロスリージョンコピーの場合、このキーは宛先リージョンに存在する必要があります。

    • DestinationRegion (オプション):

      リソースがコピーされる AWS リージョン。デフォルト値は現在のリージョンです。別のリージョンが指定されている場合、CustomerManagedKeyId パラメータで指定された AWS KMS CMK を使用してリソースが宛先リージョンにコピーされます。

  4. [実行] を選択します。

  5. 自動化が開始されます。

  6. ドキュメントは以下のステップを実行します。

    • ValidateResources:

      入力リソースの存在、状態、暗号化設定を検証し、共有に必要な変更を決定します。

    • BranchOnResourcePermission:

      リソース共有アクセス許可をチェックする必要があるかどうかに基づいてワークフローを分岐します。

    • CheckResourcePermission:

      ターゲットアカウントにリソースの共有アクセス許可が必要かどうかを確認します。

    • AnalyzeChanges:

      AWS KMS キーポリシーを分析し、必要なすべての変更の包括的なプレビューを作成します。

    • BranchOnChanges:

      変更を承認する必要があるかどうかに基づいてワークフローを分岐します。

    • GetApproval:

      指定された IAM AWS プリンシパルの承認が必要な変更に進むのを待ちます。

    • ExecuteChanges:

      失敗時にロールバックして承認済みの変更を実行します。

    • Results:

      暗号化AMIまたはスナップショット共有プロセス中に実行されたすべてのアクションをまとめた包括的な実行レポートを生成します。

  7. 完了したら、出力セクションで詳細な実行結果を確認します。

送信先アカウントの必須 AWS AWS Identity and Access Management ポリシー

送信先アカウントの IAM ロールまたはユーザーは、次の IAM アクセス許可を設定して、暗号化された共有 から暗号化された Amazon EC2 インスタンスを起動AMIするか、暗号化された共有 Amazon EBS スナップショットからボリュームを作成する必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:ReEncrypt*", "kms:CreateGrant", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:<region>:<account-id>:key/<key-id>" ] } ] }

リファレンス

Systems Manager Automation