保管中の暗号化 - Amazon Inspector

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

保管中の暗号化

デフォルトでは、Amazon Inspector は AWS 暗号化ソリューションを使用して保管中のデータを保存します。Amazon Inspector は、次のようなデータを暗号化します。

  • で収集されたリソースインベントリ AWS Systems Manager。

  • Amazon Elastic Container Registry イメージから解析されたリソースインベントリ

  • から AWS 所有の暗号化キーを使用して生成されたセキュリティ検出結果 AWS Key Management Service

AWS 所有キーを管理、使用、または表示することはできません。ただし、データを暗号化するキーを保護するために何らかの操作を行ったり、プログラムを変更したりする必要はありません。詳細については、「AWS 所有キー」を参照してください。

Amazon Inspector を無効にすると、収集したインベントリやセキュリティ検出結果など、Amazon Inspector が保存または管理するすべてのリソースが永久に削除されます。

検出結果のコードの保管時の暗号化

Amazon Inspector Lambda コードスキャンの場合、Amazon Inspector は Amazon Q と提携してコードの脆弱性をスキャンします。脆弱性が検出されると、Amazon Q は脆弱性を含むコードのスニペットを抽出し、Amazon Inspector がアクセスをリクエストするまでそのコードを保存します。デフォルトでは、Amazon Q は AWS 所有キーを使用して抽出されたコードを暗号化します。ただし、暗号化に独自のカスタマーマネージド AWS KMS キーを使用するように Amazon Inspector を設定できます。

次のワークフローでは、Amazon Inspector がコードを暗号化するために設定したキーを使用する方法について説明します。

  1. Amazon Inspector UpdateEncryptionKey API を使用して Amazon Inspector に AWS KMS キーを指定します。

  2. Amazon Inspector は AWS KMS キーに関する情報を Amazon Q に転送し、Amazon Q は将来使用するために情報を保存します。

  3. Amazon Q は、キーポリシーを通じて Amazon Inspector で設定した KMS キーを使用します。

  4. Amazon Q は、キーから暗号化されたデータ AWS KMS キーを作成し、保存します。このデータキーは、Amazon Q に保存されているコードデータを暗号化するために使用されます。

  5. Amazon Inspector がコードスキャンからデータをリクエストすると、Amazon Q は KMS キーを使用してデータキーを復号します。Lambda コードスキャンを無効にすると、Amazon Q は関連付けられたデータキーを削除します。

カスタマーマネージドキーによるコード暗号化のアクセス許可

暗号化するには、Amazon Inspector と Amazon Q が次のアクションを実行できるようにするステートメントを含むポリシーで KMS キーを作成する必要があります。

  • kms:Decrypt

  • kms:DescribeKey

  • kms:Encrypt

  • kms:GenerateDataKey

  • kms:GenerateDataKeyWithoutPlainText

ポリシーステートメント

KMS キーを作成するときに、次のポリシーステートメントを使用できます。

注記

を 12 桁の AWS アカウント ID account-idに置き換えます。を、Amazon Inspector と Lambda コードスキャンを有効に AWS リージョン した Regionに置き換えます。を IAM ロールの Amazon リソースネームrole-ARNに置き換えます。

{ "Effect": "Allow", "Principal": { "Service": "q.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:qdeveloper:lambda-codescan-scope": "account-id" }, "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:qdeveloper:Region:account-id:scans/*" } } }, { "Effect": "Allow", "Principal": { "Service": "q.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:qdeveloper:Region:account-id:scans/*" } } }, { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:GenerateDataKey" ], "Principal": { "AWS": "role-ARN" }, "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "inspector2.Region.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:qdeveloper:lambda-codescan-scope": "account-id" } } }, { "Effect": "Allow", "Action": [ "kms:DescribeKey" ], "Principal": { "AWS": "role-ARN" }, "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "inspector2.Region.amazonaws.com" } } }

ポリシーステートメントは JSON 形式でフォーマットされます。ステートメントを含めたら、ポリシーを確認して構文が有効であることを確認します。ステートメントがポリシーの最後のステートメントである場合は、前のステートメントの括弧の後にカンマを配置します。ステートメントが最初のステートメントであるか、ポリシー内の 2 つの既存のステートメントの間にある場合は、ステートメントの括弧の後にカンマを配置します。

注記

Amazon Inspector は、パッケージから抽出されたコードスニペットを暗号化するための許可をサポートしなくなりました。グラントベースのポリシーを使用している場合でも、検出結果にアクセスできます。ただし、KMS キーを更新またはリセットしたり、Lambda コードスキャンを無効にしたりした場合は、このセクションで説明する KMS キーポリシーを使用する必要があります。

アカウントの暗号化キーを設定、更新、またはリセットする場合は、 AWS 管理ポリシー などの Amazon Inspector 管理者ポリシーを使用する必要がありますAmazonInspector2FullAccess

カスタマーマネージドキーによる暗号化の設定

カスタマーマネージドキーを使用してアカウントの暗号化を設定するには、カスタマーマネージドキーによるコード暗号化のアクセス許可 で説明されているアクセス許可を持つ Amazon Inspector 管理者である必要があります。さらに、検出結果と同じ AWS リージョンに AWS KMS キー、またはマルチリージョンキーが必要になります。アカウントで既存の対称キーを使用するか、 AWS マネジメントコンソールまたは AWS KMS APIs を使用して対称カスタマーマネージドキーを作成できます。詳細については、「 AWS KMS ユーザーガイド」の「対称暗号化 AWS KMS キーの作成」を参照してください。

注記

2025 年 6 月 13 日以降、コードスニペットの暗号化/復号中に CloudTrail に記録された AWS KMS リクエストのサービスプリンシパルは「codeguru-reviewer」から「q」に変更されます。

Amazon Inspector APL を使用して暗号化を設定する

暗号化用のキーを設定するには、Amazon Inspector 管理者としてサインインしているときに Amazon Inspector API の UpdateEncryptionKey オペレーションを実行します。API リクエストで、 kmsKeyIdフィールドを使用して、使用する AWS KMS キーの ARN を指定します。scanTypeCODE を、resourceTypeAWS_LAMBDA_FUNCTION を入力します。

UpdateEncryptionKey API を使用して、Amazon Inspector が暗号化に使用している AWS KMS キーを確認できます。

注記

カスタマーマネージドキーを設定GetEncryptionKeyしていない場合に を使用しようとすると、オペレーションはResourceNotFoundExceptionエラーを返します。これは、 AWS 所有キーが暗号化に使用されていることを意味します。

キーを削除するか、Amazon Inspector または Amazon Q へのアクセスを拒否するポリシーを変更すると、コード脆弱性の検出結果にアクセスできず、Lambda コードスキャンはアカウントで失敗します。

ResetEncryptionKey を使用して、 AWS 所有キーの使用を再開し、Amazon Inspector の検出結果の一部として抽出されたコードを暗号化できます。