跳至內容

如何理解 Amazon SNS ConfigurationItemChangeNotification 通知中的 configurationItemDiff 欄位?

2 分的閱讀內容
0

我收到 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 (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 Config 傳送至 Amazon SNS 主題的通知

AWS 官方已更新 1 年前