IAM
IAM = Identity and Access Management
「使用 root 帳號操作」
目標 1:激活 IAM 看帳單功能( 之後盡量不要登入 root 帳號 )
step1 : 右上角,點擊“your_aws_alias”出現下拉選單>My Account
step2 : 頁面往下滾至 IAM User and Role Access to Billing Information,點擊右邊“Edit”
step3 : 將 Activate IAM Access 打勾,再按下 update
目標 2:設定 admin 群組和使用者 admin_user
step1 : 左上角“Service”下拉選單>IAM
step2 : IAM > Groups>新增名為 admin 的 group,權限為 AdministratorAccess
step3 : IAM > Users>新增名為 admin_user 的 user,並且將他加入 admin 這個 group
* admin_user 因此有改密碼的權限 IAMUserChangePassword 與從群組 admin 來的 AdministrarorAccess 兩種權限
step4 : 點 Security credential,像下滑至 Access key ID 並將 Status 由 Active 轉為 Inactive
* 刪除 admin_user 的 Security credential,以免萬一管理員身份帳號 credential 外流,會發生很嚴重的後果
step5 : 最後,登出 root,便再也不回頭啦!
- (補充資料)
「「登入 admin_user 管理員權限的 IAM 帳號,非必要時不要再使用 root 帳號」」
參考:https://www.kilait.com/2015/08/27/aws-iam多帳號切換方式/
- (補充資料2)
「「帳單警告設置」」
收到帳單的當天,有重新認真看一次 AWS 免費帳戶教學指南。
帳戶沒辦法限制,當費用達到上限時停用服務,此外即使刪除信用卡資訊,也沒有辦法阻止 AWS 向你收取費用。
但有一個為 Billing Alarm 的服務,可以用來監測你的帳戶費用水位,寫信通知注意帳單資訊。原文:Free-Tier-Alarms。
這個功能預設是關閉的,需要自己按照上面的步驟開啟。
提醒各位將要初始使用免費帳戶,且不想花費的使用者,這功能一定要設定啊。
這是我差點失去500美金的經驗談。
http://blog.twsiyuan.com/2016/01/aws-charge.html
「使用 admin_user 帳號操作」
目標 3:創建 Roles & Policies
step1 : IAM > Policies>分別新增 General_s3_list, General_s3_read, General_s3_write, General_s3_delete 這個四個 policy
* Policy命名原則:專案名_服務名_動作名
step2 : Service 皆選擇 s3
step3 : Actions 分別為 ListBucket, GetObject + GetObjectAcl, PutObject + PutObjectAcl, DeleteObject
step4 : Resources 皆選 Specific > add ARN,填入預計的 S3 名稱:bb104-g2-s3
* S3 命名原則:全部使用小寫,並且用-相連
* S3 命名必須全球獨一無二,所以建議先建好 S3 再來 IAM 寫 policies
step5 : IAM > Roles>新增名為 General_Role_s3 這個 role,並將 General_s3_list, General_s3_read, General_s3_write, General_s3_delete 這四個 policy attach 到 General_Role_s3 中
* 之後創建 EC2 時,再指派 IAMrole=General_Role_s3 給 EC2,該 EC2 就能連上 S3 囉~
[tips]
Role 可以想成機器與機器之間的權限關係 (eg. 賦予 Spark-EC2 讀寫 S3 的權限)
User 則可以想成人與機器之間的權限關係 (eg. 賦予 admin_user 讀寫 EC2 的權限)
Policy 則是說明了那些權限,如果官方的 Policy 不符需求是可以自訂的。