共同作者:Sr. OP Enginner Issac Tseng。Hiiir 時間軸提供跨業態多種行動電商、O2O、廣告平台等服務,個平台有專屬開發團隊,隨服務跨大團隊漸增,我們如何善用 AWS IAM 服務來強化雲端機房的權限控管,增加管理效能,降低資安風險。
1 of 12
More Related Content
2016 AWS Summit TPE - Hiiir 如何透過 AWS IAM 做好雲端權限控管
1. ? 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
李佳憲
Hiiir Co-Founder & Tech Director
2016/5/20
橫跨電商及媒體的 AWS 架構
如何跨部門統籌帳號管理
3. 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
instance
Auto Scaling group
Amazon EBS
Amazon
SES
4. 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
5. 解決方法 - IAM
AWS Identity and Access Management (IAM) 讓您能夠安
全地控制使用者對 AWS 服務和資源的存取權限。您可以使
用 IAM 建立和管理 AWS 使用者和群組,並使用各種許可
來允許和拒絕他們存取 AWS 資源。
AWS IAM
6. 改進- Web Console
? 降低管理複雜度:建立 Group Policy ( User 權限 Based on Group )
? 強化帳號安全:MFA、Strong 密碼、有效期限
Before After
7. Group:smart-demo
IAM 分權落實 Policy - IAM User vs IAM Group (Resorce-Level Permission)
可加入之條件:
1. 有效期限
2. IP 位置
3. *Resource
Tag
Super User
9. 改進 - API Access Key
? 降低維護風險:不會因為砍帳號讓服務完全無法使用。
? 提升資訊安全:不會因為開源後讓 Access Key 外流。
? 讓 Code 更乾淨:移除所有程式碼中 Access Key 。
Before
After
10. IAM 分權落實 – How to Do ?
盤點現況
帳號
Group
設定
跳板機
配置
ROLE 設
定
稽核機制
AWS API Access Key
1. 清點現有 API Access Key
2. 更換現有程式用 API Access Key
3. 清除未用的 API Access Key
IAM Group - Tag
1. 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
稽核 - Cloudtrail
1. 啟動AWS API Access紀錄