如何理解 Amazon SNS ConfigurationItemChangeNotification 通知中的 configurationItemDiff 字段?
我收到了 ConfigurationItemChangeNotification Amazon Simple Notification Service (Amazon SNS) 通知,我想知道这意味着什么。
解决方法
每当资源的配置发生更改(例如创建、更新或删除)时,AWS Config 都会创建配置项目。有关 AWS Config 支持的资源的列表,请参阅 AWS Config 支持的资源类型。AWS Config 使用 Amazon SNS 在更改发生时发送通知。Amazon SNS 通知有效载荷中包含可帮助您跟踪 AWS 区域中资源更改的字段。有关详细信息,请参阅配置项目更改通知示例。
要了解您收到 ConfigurationItemChangeNotification 通知的原因,请查看 configurationItemDiff 详细信息。这些字段因更改类型而异,可以形成不同的组合,例如 UPDATE-UPDATE、UPDATE-CREATE 和 DELETE-DELETE。以下是常见组合的解释。
UPDATE-CREATE 和 UPDATE-UPDATE
以下示例包含资源直接关系和资源配置的更改。configurationItemDiff 详细信息显示以下信息:
- 执行的操作: 您将账户中存在的托管策略附加到了 AWS Identity and Access Management 角色。
- 执行的基本操作: UPDATE 操作更新了账户中资源类型 AWS::IAM::Policy 的关联数量。
以下是可能出现的更改类型组合:
- 资源直接关系更改 UPDATE-CREATE: 您在 IAM 策略和 IAM 角色之间创建新的连接或关联。
- 资源配置更改 UPDATE-UPDATE: 将策略附加到 IAM 角色时,IAM 策略关联的数量从 2 增加到 3。
UPDATE-CREATE 和 UPDATE-UPDATE 的 configurationItemDiff 通知示例:
{ "configurationItemDiff": { "changedProperties": { "Relationships.0": { "previousValue": null, "updatedValue": { "resourceId": "AROA6D3M4S53*********", "resourceName": "Test1", "resourceType": "AWS::IAM::Role", "name": "Is attached to Role" }, "changeType": "CREATE" >>>>>>>>>>>>>>>>>>>> 1 }, "Configuration.AttachmentCount": { "previousValue": 2, "updatedValue": 3, "changeType": "UPDATE" >>>>>>>>>>>>>>>>>>>> 2 } }, "changeType": "UPDATE" } }
UPDATE-DELETE
以下示例包含资源直接关系的更改。configurationItemDiff 详细信息显示以下信息:
- 执行的操作: 您从某个 IAM 用户分离了账户中存在的托管策略。
- 执行的基本操作: UPDATE 操作更新了与资源类型 AWS::IAM::User 关联的权限策略。
可能会出现以下更改类型组合: 资源直接关系更改 UPDATE-DELETE。该操作会删除 IAM 用户与账户中的 IAM 策略之间的关联。
UPDATE-DELETE configurationItemDiff 通知示例:
{ "configurationItemDiff": { "changedProperties": { "Configuration.UserPolicyList.0": { "previousValue": { "policyName": "Test2", "policyDocument": "{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "aws:RequestTag/VPCId": "*" } } } ] }" }, "updatedValue": null, "changeType": "DELETE" >>>>>>>>>>>>>>>>>>>> 3 } }, "changeType": "UPDATE" } }
DELETE-DELETE
以下示例包含资源直接关系和资源配置的更改。configurationItemDiff 详细信息显示以下信息:
- 执行的操作: 您删除了账户中存在的一个 IAM 角色。
- 执行的基本操作: DELETE 操作删除了资源类型为 AWS::IAM::Role 的资源。
可能会出现以下更改类型组合: 资源直接关系更改和资源配置更改 DELETE-DELETE。删除 IAM 角色也会删除 IAM 策略与该 IAM 角色的关联。
DELETE-DELETE configurationItemDiff 通知示例:
{ "configurationItemDiff": { "changedProperties": { "Relationships.0": { "previousValue": { "resourceId": "ANPAIJ5MXUKK*********", "resourceName": "AWSCloudTrailAccessPolicy", "resourceType": "AWS::IAM::Policy", "name": "Is attached to CustomerManagedPolicy" }, "updatedValue": null, "changeType": "DELETE" }, "Configuration": { "previousValue": { "path": "/", "roleName": "CloudTrailRole", "roleId": "AROAJITJ6YGM*********", "arn": "arn:aws:iam::123456789012:role/CloudTrailRole", "createDate": "2017-12-06T10:27:51.000Z", "assumeRolePolicyDocument": "{"Version":"2012-10-17","Statement":[{"Sid":"","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::123456789012:root"},"Action":"sts:AssumeRole","Condition":{"StringEquals":{"sts:ExternalId":"123456"}}}]}", "instanceProfileList": [], "rolePolicyList": [], "attachedManagedPolicies": [ { "policyName": "AWSCloudTrailAccessPolicy", "policyArn": "arn:aws:iam::123456789012:policy/AWSCloudTrailAccessPolicy" } ], "permissionsBoundary": null, "tags": [], "roleLastUsed": null }, "updatedValue": null, "changeType": "DELETE" } }, "changeType": "DELETE" }
相关信息
- 语言
- 中文 (简体)
