AWS Config 規則的範例事件 - AWS Config

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS Config 規則的範例事件

當規則的觸發程序發生時,會透過發佈事件來 AWS Config 叫用規則的 AWS Lambda 函數。然後通過將事件傳遞給函數的處理程序來 AWS Lambda 執行該函數。

由組態變更觸發之評估的範例事件

AWS Config 當偵測到規則範圍內資源的組態變更時,會發佈事件。下列範例事件顯示規則是由EC2執行個體的組態變更所觸發。

{ "invokingEvent": "{\"configurationItem\":{\"configurationItemCaptureTime\":\"2016-02-17T01:36:34.043Z\",\"awsAccountId\":\"123456789012\",\"configurationItemStatus\":\"OK\",\"resourceId\":\"i-00000000\",\"ARN\":\"arn:aws:ec2:us-east-2:123456789012:instance/i-00000000\",\"awsRegion\":\"us-east-2\",\"availabilityZone\":\"us-east-2a\",\"resourceType\":\"AWS::EC2::Instance\",\"tags\":{\"Foo\":\"Bar\"},\"relationships\":[{\"resourceId\":\"eipalloc-00000000\",\"resourceType\":\"AWS::EC2::EIP\",\"name\":\"Is attached to ElasticIp\"}],\"configuration\":{\"foo\":\"bar\"}},\"messageType\":\"ConfigurationItemChangeNotification\"}", "ruleParameters": "{\"myParameterKey\":\"myParameterValue\"}", "resultToken": "myResultToken", "eventLeftScope": false, "executionRoleArn": "arn:aws:iam::123456789012:role/config-role", "configRuleArn": "arn:aws:config:us-east-2:123456789012:config-rule/config-rule-0123456", "configRuleName": "change-triggered-config-rule", "configRuleId": "config-rule-0123456", "accountId": "123456789012", "version": "1.0" }

由高估容量組態變更觸發之評估的範例事件

有些資源變更會產生高估容量的組態項目。下列範例事件顯示規則是由EC2執行個體的過大組態變更所觸發。

{ "invokingEvent": "{\"configurationItemSummary\": {\"changeType\": \"UPDATE\",\"configurationItemVersion\": \"1.2\",\"configurationItemCaptureTime\":\"2016-10-06T16:46:16.261Z\",\"configurationStateId\": 0,\"awsAccountId\":\"123456789012\",\"configurationItemStatus\": \"OK\",\"resourceType\": \"AWS::EC2::Instance\",\"resourceId\":\"i-00000000\",\"resourceName\":null,\"ARN\":\"arn:aws:ec2:us-west-2:123456789012:instance/i-00000000\",\"awsRegion\": \"us-west-2\",\"availabilityZone\":\"us-west-2a\",\"configurationStateMd5Hash\":\"8f1ee69b287895a0f8bc5753eca68e96\",\"resourceCreationTime\":\"2016-10-06T16:46:10.489Z\"},\"messageType\":\"OversizedConfigurationItemChangeNotification\"}", "ruleParameters": "{\"myParameterKey\":\"myParameterValue\"}", "resultToken": "myResultToken", "eventLeftScope": false, "executionRoleArn": "arn:aws:iam::123456789012:role/config-role", "configRuleArn": "arn:aws:config:us-east-2:123456789012:config-rule/config-rule-ec2-managed-instance-inventory", "configRuleName": "change-triggered-config-rule", "configRuleId": "config-rule-0123456", "accountId": "123456789012", "version": "1.0" }

由定期頻率觸發之評估的範例事件

AWS Config 以您指定的頻率 (例如每 24 小時) 評估資源時,會發佈事件。下列範例事件顯示規則是由定期頻率觸發。

{ "invokingEvent": "{\"awsAccountId\":\"123456789012\",\"notificationCreationTime\":\"2016-07-13T21:50:00.373Z\",\"messageType\":\"ScheduledNotification\",\"recordVersion\":\"1.0\"}", "ruleParameters": "{\"myParameterKey\":\"myParameterValue\"}", "resultToken": "myResultToken", "eventLeftScope": false, "executionRoleArn": "arn:aws:iam::123456789012:role/config-role", "configRuleArn": "arn:aws:config:us-east-2:123456789012:config-rule/config-rule-0123456", "configRuleName": "periodic-config-rule", "configRuleId": "config-rule-6543210", "accountId": "123456789012", "version": "1.0" }

事件屬性

事JSON件的物 AWS Config 件包含下列屬性:

invokingEvent

觸發規則評估的事件。如果事件是為了回應資源組態變更而發佈,則此屬性的值為包含JSONconfigurationItemconfigurationItemSummary (針對超大規模組態項目) 的字串。組態項目代表 AWS Config 偵測到變更時的資源狀態。如需組態項目的範例,請參閱中的get-resource-config-history AWS CLI 指令產生的輸出檢視組態歷史記錄

如果針對定期評估發行事件,則該值為包含JSON物件的字串。物件包含觸發評估的相關資訊。

對於每種類型的事件,函數必須使用剖析JSON器剖析字串,才能評估其內容,如下列 Node.js 範例所示:

var invokingEvent = JSON.parse(event.invokingEvent);
ruleParameters

函數做為其評估邏輯一部分處理的鍵/值對。您可以在使用 AWS Config 主控台建立自訂 Lambda 規則時定義參數。您也可以使用PutConfigRule AWS Config API要求或put-config-rule AWS CLI 命令中的InputParameters屬性來定義參數。

參數的JSON程式碼包含在字串中,因此函數必須使用剖析JSON器剖析字串,才能評估其內容,如下列 Node.js 範例所示:

var ruleParameters = JSON.parse(event.ruleParameters);
resultToken

該函數必須與PutEvaluations調用一 AWS Config 起傳遞的令牌。

eventLeftScope

Boolean 值,指出要評估的 AWS 資源是否已從規則的範圍中移除。若值為 true,則函數會透過在 PutEvaluations 呼叫中將 NOT_APPLICABLE 做為 ComplianceType 屬性的值傳遞,指出可忽略評估。

executionRoleArn

指派給的IAM角色 AWS Config。ARN

configRuleArn

ARN指 AWS Config 派給規則的。

configRuleName

您指派給導致 AWS Config 發佈事件並呼叫函數之規則的名稱。

configRuleId

AWS Config 指派給規則的識別碼。

accountId

擁有規則 AWS 帳戶 的識別碼。

version

由指派的版本號碼 AWS。如果將屬性 AWS 添加到 AWS Config 事件中,版本將增加。若函數需要只存在於符合或超過特定版本事件中的屬性,則該函數可檢查此屬性的值。

AWS Config 事件的當前版本是 1.0。