customer sharing: hiiir

12
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 李佳憲 Hiiir Co-Founder & Tech Director 2016/5/20 橫跨電商及媒體的 AWS 架構 如何跨部門統籌帳號管理

Upload: amazon-web-services

Post on 20-Feb-2017

255 views

Category:

Technology


0 download

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