如何理解 Amazon SNS ConfigurationItemChangeNotification 通知中的 configurationItemDiff 字段?
我收到了 ConfigurationItemChangeNotification Amazon Simple Notification Service (Amazon SNS) 通知。我为什么会收到此通知,我该如何解释 configurationItemDiff 字段中的信息?
解决方法
每当资源配置发生变化(创建/更新/删除)时,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 (IAM) 角色。
执行的基本操作: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" }
相关信息
相关内容
- AWS 官方已更新 3 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 3 年前