翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
保管中の暗号化
デフォルトでは、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 は CodeGuru と提携してコードの脆弱性をスキャンします。脆弱性が検出されると、CodeGuru は脆弱性を含むコードのスニペットを抽出し、Amazon Inspector がアクセスをリクエストするまでそのコードを保存します。デフォルトでは、CodeGuru は AWS 所有キーを使用して抽出されたコードを暗号化しますが、暗号化に独自のカスタマーマネージド AWS KMS キーを使用するように Amazon Inspector を設定できます。
次のワークフローでは、Amazon Inspector が、設定したキーを使用してコードを暗号化する方法を説明しています。
Amazon Inspector UpdateEncryptionKey API を使用して Amazon Inspector に AWS KMS キーを指定します。
Amazon Inspector は、 AWS KMS キーに関する情報を CodeGuru に転送します。CodeGuru は将来の使用のために情報を保存します。
CodeGuru は、Amazon Inspector で設定したキー AWS KMS の許可を にリクエストします。
CodeGuru は、キーから暗号化されたデータ AWS KMS キーを作成し、保存します。このデータキーは、CodeGuru によって保存されたコードデータを暗号化するために使用されます。
Amazon Inspector がコードスキャンからデータをリクエストするたびに、CodeGuru はグラントを使用して暗号化されたデータキーを復号化し、次にそのキーを使用してデータを復号化して取得できるようにします。
Lambda コードスキャンを無効にすると、CodeGuru はグラントを廃止し、関連付けられたデータキーを削除します。
カスタマーマネージドキーによるコード暗号化のアクセス許可
暗号化を使用するには、 AWS KMS アクションへのアクセスを許可するポリシーと、Amazon Inspector と CodeGuru にこれらのアクションを条件キーで使用するためのアクセス許可を付与するステートメントが必要です。
アカウントの暗号化キーを設定、更新、またはリセットする場合は、AWS マネージドポリシー: AmazonInspector2FullAccess などの Amazon Inspector 管理者ポリシーを使用する必要があります。また、暗号化対象として選択したキーに関する検出結果またはデータからコードスニペットを取得する必要がある読み取り専用ユーザーには、次のアクセス許可を付与する必要があります。
KMS の場合、ポリシーは以下のアクションを実行できるようにする必要があります。
kms:CreateGrant
kms:Decrypt
kms:DescribeKey
kms:GenerateDataKeyWithoutPlainText
kms:Encrypt
kms:RetireGrant
ポリシーで正しい AWS KMS アクセス許可があることを確認したら、Amazon Inspector と CodeGuru が暗号化にキーを使用できるようにするステートメントをアタッチする必要があります。以下のポリシーステートメントをアタッチします。
注記
Region を、Amazon Inspector Lambda コードスキャンが有効になっている AWS リージョンに置き換えます。
{ "Sid": "allow CodeGuru Security to request a grant for a AWS KMS key", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "kms:GrantOperations": [ "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "Encrypt", "Decrypt", "RetireGrant", "DescribeKey" ] }, "StringEquals": { "kms:ViaService": [ "codeguru-security.
Region
.amazonaws.com" ] } } }, { "Sid": "allow Amazon Inspector and CodeGuru Security to use your AWS KMS key", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:RetireGrant", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "inspector2.Region
.amazonaws.com", "codeguru-security.Region
.amazonaws.com" ] } } }
注記
ステートメントをポリシーに追加するときに、構文が有効であることを確認します。ポリシーは JSON 形式を使用します。これは、ステートメントをポリシーに追加する場所に応じて、ステートメントの前後にカンマを追加する必要があることを意味します。ステートメントを最後のステートメントとして追加する場合は、前のステートメントの右中括弧の後にカンマを追加します。最初のステートメントとして追加するか、既存の 2 つのステートメントの間に追加する場合は、右中括弧の後にカンマを追加します。
カスタマーマネージドキーによる暗号化の設定
カスタマーマネージドキーを使用してアカウントの暗号化を設定するには、カスタマーマネージドキーによるコード暗号化のアクセス許可 で説明されているアクセス許可を持つ 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 を指定します。scanType
に CODE
を、resourceType
に AWS_LAMBDA_FUNCTION
を入力します。
UpdateEncryptionKey API を使用して、Amazon Inspector が暗号化に使用している AWS KMS キーを確認できます。
注記
カスタマーマネージドキーを設定していないGetEncryptionKey
ときに を使用しようとすると、オペレーションはResourceNotFoundException
エラーを返します。これは、 AWS 所有キーが暗号化に使用されていることを意味します。
キーを削除したり、Amazon Inspector や CodeGuru へのアクセスを拒否するようにポリシーを変更したりすると、コードの脆弱性の検出結果にアクセスできなくなり、アカウントの Lambda コードスキャンが失敗します。
ResetEncryptionKey
を使用して、 AWS 所有キーの使用を再開し、Amazon Inspector の検出結果の一部として抽出されたコードを暗号化できます。