

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

# 保管中の暗号化
<a name="encryption-rest"></a>

 デフォルトでは、Amazon Inspector は AWS 暗号化ソリューションを使用して保管中のデータを保存します。Amazon Inspector は、次のようなデータを暗号化します。
+  で収集されたリソースインベントリ AWS Systems Manager。
+  Amazon Elastic Container Registry イメージから解析されたリソースインベントリ 
+  から AWS 所有の暗号化キーを使用して生成されたセキュリティ検出結果 AWS Key Management Service 

 AWS 所有キーを管理、使用、または表示することはできません。ただし、データを暗号化するキーを保護するために何らかの操作を行ったり、プログラムを変更したりする必要はありません。詳細については、「[AWS 所有キー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys)」を参照してください。

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

## 検出結果のコードの保管時の暗号化
<a name="encryption-code-snippets"></a>

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

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

1.  Amazon Inspector [UpdateEncryptionKey](https://docs.aws.amazon.com/inspector/v2/APIReference/API_UpdateEncryptionKey.html) API を使用して Amazon Inspector に AWS KMS キーを指定します。

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

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

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

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

## カスタマーマネージドキーによるコード暗号化のアクセス許可
<a name="cmk-permissions"></a>

 暗号化するには、Amazon Inspector と Amazon Q が次のアクションを実行可能にするステートメントを含む[ポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html)を使用して KMS キーを作成する必要があります。
+  `kms:Decrypt` 
+  `kms:DescribeKey` 
+  `kms:Encrypt` 
+  `kms:GenerateDataKey` 
+  `kms:GenerateDataKeyWithoutPlainText` 

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

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

```
{
  "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 は、パッケージから抽出されたコードスニペットを暗号化するための[許可](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)をサポートしなくなりました。許可ベースのポリシーを使用している場合でも、検出結果にアクセスできます。ただし、KMS キーを更新またはリセットするか、Lambda コードスキャンを無効にする場合は、このセクションで説明する KMS キーポリシーを使用する必要があります。

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

## カスタマーマネージドキーによる暗号化の設定
<a name="configure-cmk-encryption"></a>

カスタマーマネージドキーを使用してアカウントの暗号化を設定するには、[カスタマーマネージドキーによるコード暗号化のアクセス許可](#cmk-permissions) で説明されているアクセス許可を持つ Amazon Inspector 管理者である必要があります。さらに、検出結果と同じ AWS リージョンに AWS KMS キー、または[マルチリージョンキー](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html)が必要になります。アカウントで既存の対称キーを使用するか、 AWS マネジメントコンソールまたは AWS KMS APIs を使用して対称カスタマーマネージドキーを作成できます。詳細については、 AWS KMS ユーザーガイドの[「対称暗号化 AWS KMS キーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)」を参照してください。

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

### Amazon Inspector APL を使用して暗号化を設定する
<a name="w2aac60c14c13c17b7"></a>

暗号化用のキーを設定するには、Amazon Inspector 管理者としてサインインしているときに Amazon Inspector API の [UpdateEncryptionKey](https://docs.aws.amazon.com/inspector/v2/APIReference/API_UpdateEncryptionKey.html) オペレーションを実行します。API リクエストで、 `kmsKeyId`フィールドを使用して、使用する AWS KMS キーの ARN を指定します。`scanType` に `CODE` を、`resourceType` に `AWS_LAMBDA_FUNCTION` を入力します。

[UpdateEncryptionKey](https://docs.aws.amazon.com/inspector/v2/APIReference/API_GetEncryptionKey.html) API を使用して、Amazon Inspector が暗号化に使用している AWS KMS キーを確認できます。

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

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

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