本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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
-
觸發規則評估的事件。如果事件是為了回應資源組態變更而發佈,則此屬性的值為包含JSON
configurationItem
或configurationItemSummary
(針對超大規模組態項目) 的字串。組態項目代表 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。