配置CloudTrail和Config日誌跨AWS賬戶日誌存儲

關注公衆號:AWS愛好者(iloveaws)
文 | 沉默惡魔(禁止轉載,轉載請先經過作者同意)
網站:www.iloveaws.cn

【 Domain 1的組織複雜性設計(Design for Organizational Complexity)】——-配置CloudTrail和Config日誌跨AWS賬戶日誌存儲

Hello大家好,歡迎回來,我們今天的課程內容是集中式日誌存儲,從頭開始將一個AWS賬戶中的CloudTrail和AWS Config日誌轉發到另外一個作爲集中日誌存儲賬戶的S3存儲桶中。

在這裏插入圖片描述

這個是接下來演示採用的架構,上節課已經介紹過了,使用兩個AWS賬戶,在後面的演示中我們統一把左邊的賬戶稱爲中央賬戶或者ACCOUNT A,將右邊的賬戶稱爲ACCOUNT B。我們最終的目標是要讓ACCOUNT B的config和CloudTrail日誌集中存儲至中央賬戶的S3對應的兩個存儲桶中。

所以首先,我們現在要做的是在左邊的中央賬戶中創建S3存儲桶,我們現在登陸下左邊的中央賬戶管理控制檯。

在這裏插入圖片描述

創建存儲桶

我們現在已經登陸了中央賬戶管理控制檯,0960是我們中央賬戶的賬戶ID後四位

然後進入到S3,開始創建存儲桶。

在這裏插入圖片描述

我們先創建一個iloveawscn-central-cloudtrail存儲桶,負責存儲來自其他賬戶也就是account b的cloudtrail日誌。

我們在創建一個iloveawscn-central-config的存儲桶,也是負責存儲來自account b的 aws config日誌。

現在兩個存儲桶就都成功創建了。

在這裏插入圖片描述

創建跟蹤

接下來我們要做的是配置將account b的cloudtrail日誌轉發到存儲桶。

切換到account b,打開Cloudtrail控制檯,創建跟蹤。跟蹤名稱的話我們個它起一個iloveawscn-account2732,使用跟蹤到所有的區域我們在這個演示中選擇否,然後到存儲位置部分,默認情況下他會創建一個新的存儲桶,我們選擇否,然後必須指定存儲桶名稱,我們輸入中央賬戶的存儲桶名稱iloveawscn-central-cloudtrail,在創建跟蹤前,我們還需要在做一項配置,我們看下PPT。

在這裏插入圖片描述

我們現在想要將account b的cloudtrail日誌轉發到account a的central-cloudtrail這個存儲桶 ,在轉發日誌前在中央賬戶的cloudtrail存儲桶要配置相應的的存儲桶策略,允許account b 的cloudtrail日誌寫入存儲桶。

在這裏插入圖片描述

所以讓我們現在切換到中央賬戶的s3控制檯,進入cloudtrail存儲桶,我們需要到權限這裏,創建一個存儲桶策略。

建立存儲桶策略

我們已經提前準備好了策略內容,大家可以直接使用。


{

"Version": "2012-10-17",

"Statement": [

{

"Sid": "AWSCloudTrailAclCheck20150319",

"Effect": "Allow",

"Principal": {

"Service": "cloudtrail.amazonaws.com"

},

"Action": "s3:GetBucketAcl",

"Resource": "arn:aws:s3:::iloveawscn-central-config"

},

{

"Sid": "AWSCloudTrailWrite20150319",

"Effect": "Allow",

"Principal": {

"Service": "cloudtrail.amazonaws.com"

},

"Action": "s3:PutObject",

"Resource": "arn:aws:s3:::iloveawscn-central-config/*",

"Condition": {

"StringEquals": {

"s3:x-amz-acl": "bucket-owner-full-control"

}

}

}

]

}

我們現在將策略複製到這裏,策略要做一些修改,在複製完成後你需要修改resourece部分,將這裏替換爲您的存儲桶的arn,arn

在策略的上方。我們現在替換下,注意要替換兩個位置,還要注意一點的是,在putobject的arn地址後面,需要保留斜槓和星號,否則會出問題,然後我們保存策略。

我們在看下策略內容,策略定義了兩個動作,允許GetBucketAcl和s3:PutObject。然後principal委託人,我們配置的內容爲cloudtrail.amazonaws.com,配置的是cloudtrail的一個dns域名,這對於cloudtrail是可以工作的。如果你有一個EC2在其他賬戶,然後想要在中央賬戶中保存日誌,您就必須在這裏指定account id。在這個演示案例中,我們指定了principal是AWS 的cloudtrail服務,不需要明確指定賬戶id。

在這裏插入圖片描述

接下來我們複製這個策略,將策略附加到另一個s3存儲桶中,也就是用於保存aws config日誌的存儲桶。

複製完成後我們修改下策略中的service內容,將它修改成config.amazonaws.com。然後將resource的arn修改爲這個存儲桶的arn,我們複製一下。同樣注意putobject的resource地址的最後面要保留/*,然後保存。

好的,現在我們有了2個存儲桶,分別作爲存儲其他賬戶也就是account b的aws config和cloudtrail日誌,而且我們分別爲兩個存儲桶創建了存儲桶策略,策略的內容是允許cloudtrail和config日誌存儲至相應的存儲桶。

在這裏插入圖片描述

現在我們再次切換到accout b 賬戶,回到創建跟蹤步驟,我們之前已經填入了中央賬戶的存儲桶名稱,我們繼續,創建。

創建完成後會在跟蹤這裏出現創建的跟蹤的詳細信息。現在cloudtrail就配置就配置完成了。
在這裏插入圖片描述

配置 AWS Config

接下來我們快速配置下AWS config的日誌部分

來到AWS config控制檯,開始配置

在這裏插入圖片描述

在S3存儲桶配置部分,可以創建存儲桶,可以選擇在現在這個賬戶的已經存在存儲桶,可以從另外賬戶選擇存儲桶,我們選擇第三個,然後輸入我們在中央賬戶創建好的用於存儲config的存儲桶名稱:iloveawscn-central-config,下一步,跳過規則,下一步然後確認。

在這裏插入圖片描述
資源發現需要一些時間,我們現在就已經配置完成了,讓我們切換到中央賬戶
在這裏插入圖片描述

以上,我們完成了cloudtrail和config日誌的配置,現在我們要做的是到中央賬戶s3中,看一下日誌的生成情況。

檢查日誌轉發情況

進入到中央賬戶S3控制檯,先進入到config存儲桶,我們看到有一個新建的AWSlogs文件夾,進去後會看到發送config 日誌的賬戶的賬戶id,就是我們account b的賬戶id,在繼續會發現一個checkfile。在aws config配置中指定存儲桶後,aws config會生成一個checkfile到這個存儲桶中,用以檢測所需相應的權限是否已經正確配置。所以當我們配置完成後,如果能看到存儲桶中已經正確生成了checkfile,說明我們的配置是沒有問題的,當有新的config日誌生成發送到我們中央賬戶存儲桶時,也一樣能夠正確的寫入並存儲。所以checkfile是一個快速確認配置的一個方式。因爲生成account b 的config日誌還需要等待一些時間,我們這裏就沒必要等了。

在這裏插入圖片描述

同樣我們來到中央賬戶用於集中存儲cloudtrail的S3存儲桶ioveawscn-central-cloudtrail,然後依次進入目錄,可以看到已經有從我們的其他賬戶也就是account b的cloudtrail日誌生成並寫入到中央賬戶的存儲桶了。我們已經在中央賬戶的兩個存儲桶中成功的收到了來自其他賬戶也就是account b的cloudtrail和aws config日誌。

以上就是我們今天的課程內容, 我們演示了配置clouidtrail和aws config日誌,實現了跨aws賬戶日誌存儲,將其他賬戶的日誌存儲到了中央賬戶存儲桶。

在這裏插入圖片描述

希望此係列教程能爲您通過 AWS解決方案架構師認證 Professional 認證考試帶來幫助,如您有任何疑問,請聯繫我們:

關注公衆號:AWS愛好者(iloveaws)
文 | 沉默惡魔(禁止轉載,轉載請先經過作者同意)
網站:www.iloveaws.cn
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章