如何理解 Amazon SNS ConfigurationItemChangeNotification 通知中的 configurationItemDiff 字段?

2 分的閱讀內容
0

我收到 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 的關聯數量)。

變更類型組合

  1. 資源直接關係變更 UPDATE-CREATE。在 IAM 政策和 IAM 角色之間建立新的連接或關聯。
  2. 資源組態更改 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 Config 傳送至 Amazon SNS 主題的通知

AWS 官方
AWS 官方已更新 3 年前