2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管

12
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 李李李 Hiiir Co-Founder & Tech Director 2016/5/20 橫橫橫橫橫橫 AWS 橫橫 橫橫橫橫橫橫橫橫橫橫橫

Transcript of 2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管

Page 1: 2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

李佳憲Hiiir Co-Founder & Tech Director

2016/5/20

橫跨電商及媒體的 AWS 架構如何跨部門統籌帳號管理

Page 2: 2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管

關於 時間軸 Hiiir• 2013 獲得 遠傳電信投資(4G行動發展重要佈局)• 創造 多元行動生活服務• 立足三網 行動網路、社群網路、網際網路• 持續發展 內容服務、行動商務、社群• 應用發展 行動商務、 O2O、數位媒體通路• 公司規模 350人 ( 台北、台南)• 打造全新行動服務品牌:

AAMINER

巷弄 x 台北巷弄 x 台南

friDay購物

Page 3: 2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管

Over All Hiiir’s Service & Hybrid Infrastructure

Elastic Load Balancing

Amazon EC2

Amazon CloudFront

Amazon CloudWatch

AWSOpsWorks

AWS IAM

Amazon Route 53

corporate data center

http://*.friday.tw

Amazon ElastiCache

VM Pool

Web/File/Cache

DB Cluster

Amazon ECSS3 bucket Auto Scaling group

MS SQL instance

MySQL DB instance

Auto Scaling group

Amazon EBS

AmazonSES

Page 4: 2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管

AWS 運行一陣子後,遇到了 ....

AWS Web Console• Root :帳號 / 密碼共用 • IAM User/Group :權限皆是 Super User

Instance Level• SSH Access Key 與帳號共用

AWS API Access Key 權限控制• API Access Key 權限是 based on User ( 權限也會是 Super User) • Key 隨 code 跑,造成換 Key 困難,權限回收難 (eg 離職 & 上線服務 )• 過度授權回收難,維護複雜度高,導致整體安全性受到污染

3 Regions5

Root Account

32IAM user

28Access

Key

20 VPCs

20Instance

type

60Instances

Page 5: 2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管

解決方法 - IAM

AWS Identity and Access Management (IAM) 讓您能夠安全地控制使用者對 AWS 服務和資源的存取權限。您可以使用 IAM 建立和管理 AWS 使用者和群組,並使用各種許可來允許和拒絕他們存取 AWS 資源。

AWS IAM

Page 6: 2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管

改進 - Web Console• 降低管理複雜度:建立 Group Policy ( User 權限 Based on

Group ) • 強化帳號安全: MFA 、 Strong 密碼、有效期限

Before After

Page 7: 2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管

Group : smart-demo

IAM 分權落實 Policy - IAM User vs IAM Group (Resorce-Level Permission)

可加入之條件:1. 有效期限2. IP 位置3. *Resource

Tag

Super User

Page 8: 2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管

改進 - Instance Level

Before

• 增加安全性: User 需有兩組 Access Key (Instance & Jumper ) 才能連線。• 簡化管理成本:使用 OpsWork 對 Jumper 上的 Access Key 進行設定管理。• 增強稽核制度:透過 Jumper Log 可知 User 登入紀錄及後續行為。

After

Page 9: 2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管

改進 - API Access Key• 降低維護風險:不會因為砍帳號讓服務完全無法使用。• 提升資訊安全:不會因為開源後讓 Access Key 外流。• 讓 Code 更乾淨:移除所有程式碼中 Access Key 。

Before

After

Page 10: 2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管

IAM 分權落實 – How to Do ?

盤點現況 帳號 Group設定

跳板機配置 ROLE 設定 稽核機制

AWS API Access Key1. 清點現有 API Access Key 2. 更換現有程式用 API Access Key3. 清除未用的 API Access Key

IAM Group - Tag1. Group 權限導入a. 授權可操作行為b. 授權可使用資源c. 授權可使用的 IP 位址d. 權限授權有效期限e. 設定可操作之 tag2. Group 權限調整導入完成

IAM 帳號1. * 啟動 MFA2. 更換密碼3. 設定密碼有效期限4. * 終止 User API Access

Key

Root Account 1. * 啟動 MFA2. * 更換密碼 | *MFA 分別持有

跳板機配置1. 導入跳板機a. OpsWorks 導入b. 更改 SSH Security Groupc. VPC Peering 配置d. 匯入 IAM 帳號e. 匯入 SSH Key2. 啟用跳板機 (usecase)3. 跳板機導入完成

IAM Role 1. *Role 概念導入2. 導入 Role 階段 (一 )3. 導入 Role 完成

專案 – Tag 1. 替現有 Resource 加上 taga. 開發環境 Modeb. 專案 Environmentc. 特定使用者 Owner2. 合理的資源使用範圍 (region/services)3. 合理的資源所需使用權限4. 描述 User | Group 權限5. 描述專案權限 User | Role6. disable API Access Key7. remove API Access Key稽核 - Cloudtrail1. 啟動 AWS API Access 紀錄

Page 11: 2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管

AWS 使用之未來展望Lambda – 對於會有瞬間用量擴展的服務,如廣告投遞成效追蹤,目前內部評估使用 Lambda 來解決此問題。EMR – Hiiir 已導入 Tableau 將資料視覺化提供營運單位進行分析評估,隨資料量漸增,目前也在評估透過 AWS EMR 來進行資料儲存及運算。

Amazon EMR

AWSLambda

Page 12: 2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管