

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 代码安全的先决条件
<a name="code-security-assessments-prerequisites"></a>

 在开始使用代码安全之前，您必须先激活代码安全并决定如何加密您的数据。此信息可以是集成凭证、代码等信息，也可以是与集成、代码存储库和项目相关的任何其他信息。默认情况下，您的数据使用 [AWS 拥有的密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)进行加密。这意味着密钥由相应服务创建、拥有和管理。如果要拥有和管理用于加密数据的密钥，可以创建[客户托管的 KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)。

# 激活 Code Security
<a name="code-security-assessments-activate"></a>

 激活 Code Security 的方式与激活所有自动扫描类型的方式相同。有关更多信息，请参阅[激活扫描类型](https://docs.aws.amazon.com/inspector/latest/user/activate-scans.html)。

# 创建客户管理的密钥进行访问 AWS KMS
<a name="code-security-assessments-creating-a-key"></a>

 默认情况下，您的数据使用 [AWS 拥有的密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)进行加密。这意味着密钥由相应服务创建、拥有和管理。如果要拥有和管理用于加密数据的密钥，可以创建[客户托管的 KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)。Amazon Inspector 不会与您的数据进行交互。Amazon Inspector 仅从您的源代码提供商的存储库中摄取元数据。有关如何创建客户托管 KMS 密钥的信息，请参阅《AWS Key Management Service 用户指南》**中的[创建 KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)。

**策略示例**  
 [创建客户托管密钥](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)时，使用以下策略示例。

**注意**  
 以下策略中的 [FAS 权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)特定于 Amazon Inspector，因为它们仅允许 Amazon Inspector 执行那些 API 调用。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "key-policy",
  "Statement": [
    {
      "Sid": "Allow Q to use Encrypt Decrypt GenerateDataKey and GenerateDataKeyWithoutPlaintext",
      "Effect": "Allow",
      "Principal": {
        "Service": "q.amazonaws.com"
      },
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
        "aws:SourceAccount": "111122223333"
        },
        "StringLike": {
        "kms:EncryptionContext:aws:qdeveloper:codesecurity-scope": "111122223333"
        },
        "ArnLike": {
        "aws:SourceArn": "arn:aws:inspector2:us-east-1:111122223333:codesecurity-integration/*"
        }
      }
    },
    {
      "Sid": "Allow Q to use DescribeKey",
      "Effect": "Allow",
      "Principal": {
        "Service": "q.amazonaws.com"
      },
      "Action": "kms:DescribeKey",
      "Resource": "*"
    },
    {
      "Sid": "Allow Inspector to use Encrypt Decrypt GenerateDataKey and GenerateDataKeyWithoutPlaintext using FAS",
      "Effect": "Allow",
      "Principal": {
      "AWS": "arn:aws:iam::111122223333:role/inspectorCodeSecurity"
      },
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "kms:ViaService": "inspector2.us-east-1.amazonaws.com"
        },
        "StringLike": {
        "kms:EncryptionContext:aws:qdeveloper:codesecurity-scope": "111122223333"
        }
      }
    },
    {
      "Sid": "Allow Inspector to use DescribeKey using FAS",
      "Effect": "Allow",
      "Principal": {
      "AWS": "arn:aws:iam::111122223333:role/inspectorCodeSecurity"
      },
      "Action": [
        "kms:DescribeKey"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "kms:ViaService": "inspector2.us-east-1.amazonaws.com"
        }
      }
    }
  ]
}
```

------

 创建 KMS 密钥后，您可以使用以下 Amazon Inspector APIs。
+  UpdateEncryptionKey — 与 f `CODE_REPOSITORY` or `resourceType` 和一起使用`CODE`作为扫描类型，配置客户托管 KMS 密钥的使用。
+  GetEncryptionKey — 与 f `CODE_REPOSITORY` or `resourceType` 和一起使用`CODE`作为扫描类型来配置 KMS 密钥配置的检索。
+  ResetEncryptionKey — 与 for `resourceType` 和 `CODE_REPOSITORY` for 一起使用`CODE`可重置您的 KMS 密钥配置并使用 AWS 拥有的 KMS 密钥。