customer sharing: hiiir
TRANSCRIPT
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
李佳憲
Hiiir Co-Founder & Tech Director
2016/5/20
橫跨電商及媒體的 AWS 架構如何跨部門統籌帳號管理
關於時間軸 Hiiir• 2013 獲得遠傳電信投資(4G行動發展重要佈局)
• 創造多元行動生活服務
• 立足三網行動網路、社群網路、網際網路
• 持續發展內容服務、行動商務、社群
• 應用發展行動商務、O2O、數位媒體通路
• 公司規模 350人 ( 台北、台南)
• 打造全新行動服務品牌:
AAMINER
巷弄x台北
巷弄x台南
friDay
購物
Over All Hiiir’s Service & Hybrid Infrastructure
Elastic Load
Balancing
Amazon EC2
Amazon
CloudFront
Amazon
CloudWatch
AWS
OpsWorks
AWS IAM
Amazon
Route 53
corporate data center
http://*.friday.tw
Amazon
ElastiCache
VM Pool
Web/File/Cache
DB Cluster
Amazon ECS
S3 bucket Auto Scaling group
MS SQL
instance
MySQL DB
instanceAuto Scaling group
Amazon EBS
Amazon
SES
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 Regions
5
Root Account
32
IAM user
28
Access Key
20
VPCs
20
Instance type
60
Instances
解決方法 - IAM
AWS Identity and Access Management (IAM) 讓您能夠安全地控制使用者對 AWS 服務和資源的存取權限。您可以使用 IAM 建立和管理 AWS 使用者和群組,並使用各種許可來允許和拒絕他們存取 AWS 資源。
AWS IAM
改進- Web Console
• 降低管理複雜度:建立 Group Policy ( User 權限 Based on Group )
• 強化帳號安全:MFA、Strong 密碼、有效期限
Before After
Group:smart-demo
IAM 分權落實 Policy - IAM User vs IAM Group (Resorce-Level Permission)
可加入之條件:1.有效期限2. IP 位置3. *Resource
Tag
Super User
改進 - Instance Level
Before
• 增加安全性:User 需有兩組 Access Key (Instance & Jumper ) 才能連線。• 簡化管理成本:使用 OpsWork 對 Jumper 上的 Access Key 進行設定管理。• 增強稽核制度:透過 Jumper Log 可知 User 登入紀錄及後續行為。
After
改進 - API Access Key
• 降低維護風險:不會因為砍帳號讓服務完全無法使用。• 提升資訊安全:不會因為開源後讓 Access Key 外流。• 讓 Code 更乾淨:移除所有程式碼中 Access Key 。
Before
After
IAM 分權落實 – How to Do ?
盤點現況
帳號Group
設定
跳板機
配置
ROLE 設
定稽核機制
AWS API Access Key1. 清點現有 API Access Key
2. 更換現有程式用 API Access Key
3. 清除未用的 API Access Key
IAM Group - Tag1. Group 權限導入
a. 授權可操作行為b. 授權可使用資源c. 授權可使用的 IP 位址d. 權限授權有效期限e. 設定可操作之 tag
2. Group 權限調整導入完成
IAM 帳號1. *啟動 MFA
2. 更換密碼3. 設定密碼有效期限4. *終止 User API Access Key
Root Account 1. *啟動 MFA
2. *更換密碼| *MFA分別持有
跳板機配置1. 導入跳板機
a. OpsWorks 導入b. 更改 SSH Security Group
c. VPC Peering 配置d. 匯入 IAM 帳號e. 匯入 SSH Key
2. 啟用跳板機 (usecase)
3. 跳板機導入完成
IAM Role 1. *Role 概念導入2. 導入 Role 階段(一)
3. 導入 Role 完成
專案 – Tag 1. 替現有 Resource 加上 tag
a. 開發環境 Mode
b. 專案 Environment
c. 特定使用者 Owner
2. 合理的資源使用範圍(region/services)
3. 合理的資源所需使用權限4. 描述 User | Group 權限5. 描述專案權限 User | Role
6. disable API Access Key
7. remove API Access Key
稽核 - Cloudtrail1. 啟動AWS API Access紀錄
AWS使用之未來展望
Lambda –對於會有瞬間用量擴展的服務,如廣告投遞成效追蹤,目前內部評估使用 Lambda 來解決此問題。
EMR – Hiiir 已導入 Tableau 將資料視覺化提供營運單位進行分析評估,隨資料量漸增,目前也在評估透過 AWS EMR 來進行資料儲存及運算。
Amazon EMR
AWS
Lambda