如何重新创建 AWS Config 传输通道?
我删除了我的 AWS Config 传输通道,我想重新创建该通道。
简短描述
当您使用 AWS Config 控制台设置 AWS Config 时,设置过程会指导您配置 AWS 资源。资源配置为向传输通道发送通知。AWS Config 设置包括配置以下资源:
- Amazon Simple Storage Service (Amazon S3) 存储桶
- Amazon Simple Notification Service (Amazon SNS) 主题
- AWS Identity and Access Management (IAM) 角色
- 要记录的资源类型
如果您使用 AWS 命令行界面 (AWS CLI) delete-delivery-channel 命令删除 AWS Config 传输通道,则配置记录器将关闭。如果您尝试打开配置记录器,则会出现以下错误:
“Delivery channel is not available to start configuration recorder.”(传输通道不可用于启动配置记录器。)
**注意:**您无法使用 AWS Config 控制台重新创建传输通道。
解决方法
注意:如果在运行 AWS CLI 命令时收到错误,请参阅排查 AWS CLI 错误。此外,请确保您使用的是最新版本的 AWS CLI。
完成以下步骤,以手动重新创建 AWS Config 传输通道并打开配置记录器。
**注意:**如果您没有删除与已删除的 AWS Config 传输通道关联的 Amazon S3 存储桶、S3 主题和 IAM 角色,则可以跳过这些步骤。
创建 Amazon S3 存储桶
完成以下步骤:
- 在与您的 AWS Config 服务相同的 AWS 区域中打开 Amazon S3 控制台。
- 在导航窗格中,选择 Create bucket(创建存储桶)。
- 对于 Bucket name(存储桶名称),输入 S3 存储桶的名称,然后选择 Create bucket(创建存储桶)。
- 在 S3 buckets(S3 存储桶)中,选择您刚刚创建的 S3 存储桶。
- 选择 Permissions(权限),然后选择 Bucket Policy(存储桶策略)。
- 输入以下示例存储桶策略,然后选择 Save(保存):
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSConfigBucketPermissionsCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::targetBucketName", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } }, { "Sid": "AWSConfigBucketExistenceCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::targetBucketName", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } }, { "Sid": "AWSConfigBucketDelivery", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID/Config/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "AWS:SourceAccount": "sourceAccountID" } } } ] }
创建 SNS 主题
完成以下步骤:
- 在与 AWS Config 服务相同的区域中打开 Amazon SNS 控制台。
- 在导航窗格上,选择 Topics(主题),然后选择 Create topic(创建主题)。
- 对于 Name(名称),为您的 SNS 主题输入名称。然后选择 Create topic(创建主题)。
- 选择 Create subscription(创建订阅)。
- 对于 Protocol(协议),选择 Email(电子邮件)。
- 对于 Endpoint(端点),输入要与此 SNS 主题关联的电子邮件地址,然后选择 Create subscription(创建订阅)。
- 查看您的电子邮件以确认订阅,然后选择 Confirm subscription(确认订阅)。
确认订阅后,您会收到消息 Subscription confirmed!(订阅已确认!)。
**注意:**要使用您的 SNS 主题,请确保您拥有所需的权限。
创建 IAM 角色
完成以下步骤:
-
打开 IAM 控制台。
-
选择 Roles(角色),然后选择 Create role(创建角色)。
-
为 Select type of trusted entity(选择可信实体类型),选择 AWS service(AWS 服务)。
-
在 Use cases for other AWS services(其他 AWS 服务的用例)下,选择 Config(配置)。
-
对于 Select your use case(选择您的用例),选择 Config - Customizable(配置 - 可自定义),然后选择 Next: Permissions(下一步:权限)。
-
选择 Next(下一步),输入 Role name(角色名称),然后选择 Create role(创建角色)。
-
选择您创建的角色,选择 Create inline policy(创建内联策略),然后选择 JSON 选项卡。
-
请参阅以下示例策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID-WithoutHyphens/*" ], "Condition": { "StringLike": { "s3:x-amz-acl": "bucket-owner-full-control" } } }, { "Effect": "Allow", "Action": [ "s3:GetBucketAcl" ], "Resource": "arn:aws:s3:::targetBucketName" }, { "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:region:account_number:targetTopicName" } ] }
-
对于 Policy name(策略名称),输入名称,然后选择 Create policy(创建策略)。
创建 KMS 密钥
最佳做法是对由 AWS Config 传输到 Amazon S3 存储桶的对象使用基于 AWS Key Management Service (AWS KMS) 的加密。在与 AWS Config 服务相同的区域创建 KMS 密钥。
完成以下步骤:
- 打开 AWS KMS 控制台。
- 在导航窗格中,选择 Customer managed keys(客户自主管理型密钥),然后选择 Create key(创建密钥)。
- 对于 Key type(密钥类型),选择 Symmetric(对称)以创建对称加密 KMS 密钥。
- 对于 Key usage(密钥使用),选择 Encrypt and decrypt(加密和解密)选项,然后选择 Next(下一步)。
- 输入 KMS 密钥的别名。然后,选择 Next(下一步)。
注意: 您的别名不能以 aws/ 开头。 - 选择可以管理 KMS 密钥的 IAM 用户和角色。然后,选择 Next(下一步)。
- 选择可以在加密操作中使用密钥的 IAM 用户和角色。然后,选择 Next(下一步)。
- 选择 Finish(完成)以创建 KMS 密钥。
- 在导航窗格中,选择 Customer managed keys(客户自主管理型密钥)。然后,在 Customer managed keys(客户自主管理型密钥)下,选择您创建的密钥。
- 在 Key Policy(密钥策略)选项卡下,选择 Switch to policy view(切换到策略视图)。然后,选择 Edit(编辑)。
- 如果您为 AWS Config 使用自定义 IAM 角色,请输入以下策略声明作为附加密钥策略声明。然后,选择 Save changes(保存更改)。
{ "Statement": [ { "Sid": "AWSConfigKMSPolicy", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "myKMSKeyARN", "Principal": { "AWS": [ "arn:aws:iam:account_id:role/my-config-role-name" ] } } ] }
或者,如果您对 AWS Config 使用服务关联角色 (SLR),请使用以下策略声明更新 KMS 密钥策略:
{ "Statement": [ { "Sid": "AWSConfigKMSPolicy", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "myKMSKeyARN", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } } ] }
创建传输通道
完成以下步骤:
-
在文本编辑器中输入以下示例模板,然后将其另存为 JSON 文件:
{ "name": "default", "s3BucketName": "targetBucketName", "s3KeyPrefix": "Optionalprefix", "snsTopicARN": "arn:aws:sns:region:account_ID:targetTopicName", "s3KmsKeyArn": "arn:aws:kms:region:account_ID:KmsKey", "configSnapshotDeliveryProperties": { "deliveryFrequency": "Twelve_Hours" } }
**注意:**如果 S3 存储桶策略将 PutObject 限制为某个前缀而不是默认前缀,则必须提供 s3KeyPrefix。更改 deliveryFrequency 值以匹配您的用例。如果您选择不激活加密,则从 JSON 文件中省略 s3KmsKeyArn 值。
-
运行 put-delivery-channel AWS CLI 命令:
$ aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json
-
要确认传输通道已创建,请运行 describe-delivery-channels AWS CLI 命令:
$ aws configservice describe-delivery-channels
启动配置记录器
完成以下步骤:
- 打开 AWS Config 控制台。
- 在导航窗格中,选择 Settings(设置)。
- 在 Recording is off(录制已关闭)中,选择 Turn on(打开),然后选择 Continue(继续)。或者,运行 start-configuration-recorder AWS CLI 命令:
$ aws configservice start-configuration-recorder --configuration-recorder-name configRecorderName
有关详细信息,请参阅管理配置记录器和使用 AWS Config 规则评估资源。
相关信息
相关内容
- AWS 官方已更新 1 年前
- AWS 官方已更新 4 年前
- AWS 官方已更新 7 个月前
- AWS 官方已更新 1 年前