Aws Cross Account Delegation & pre-commit hook

TODO 與進度 root 中設定 IAM User aws cross account iam role delegation root account MFA policy (Optional) Cloudtrail (Optional) terraform aws config security 中設定 IAM User security 設定 password policy security 設定 MFA policy security 中設定 IAM Policy & Group dev 中設定 IAM role 允許 security assume dev IAM role iThome 鐵人賽好讀版 賽後文章會整理放到個人的部落格上 http://chechia.net/ 追蹤粉專可以收到文章的主動推播 AWS cross account with iam roles 要做跨 AWS account 的 IAM Roles access control,我們先看官方文件理解這個功能 ...

September 21, 2022 · 2 min · 390 words · chechiachang

Modules and password security

使用 aws module 的好處 為何許多開源的 terraform module 內部使用的都是其他的 module,而不是從 resource 單位開始? Terraform 官方文件,如何建立 module 如何建立一個 module 根據最常出現的使用情劇與需求 專注於業務的需求與抽象,雃後把實作(terraform resource) 在 module 中組合實作出來 module 也需要考慮 resource 之間的 architecture 也要考慮到觀禮是否方便?使用上是否安全? ex. 我們需求是產生一個 IAM User 正常的實作就是寫一個 resource.aws_iam_user 達成需求 更好的實作是:除了 iam_user 外,加上 一定會需要配權限,應搭配 iam_group + iam_policy pgp encrypt 讓資料更安全 password_policy 增加密碼安全 …等 比起單一一個 iam_user 思考的更全面,更接近最佳實踐 在這次的 Best Practice 追尋之旅中,我們會帶大家去看其他團隊所寫出的 terraform module 目前已經看了 aws 的 terraform module gruntwork 的 terraform module design (我們沒看到 private module,只是跟隨文件自己刻) 這些有多年企業解決方案經驗的團隊,寫出來的 terraform module 都會考量許多 security 方面的問題 這也是我們前十篇都在專注的方向 一般來說,一個好 module 會帶來很多好處 ...

September 21, 2022 · 4 min · 656 words · chechiachang

Reset Iam User Administrator

昨天處理完 Accounting 的 reset password,今天要來 reset root account Administrator 的權限 本日進度 root 中設定 IAM User 將手動產生的 Administrator 的 IAM User import terraform 中 補上 root account IAM Policy 補上 root account IAM Group reset root account IAM user login profile & pgp key iThome 鐵人賽好讀版 賽後文章會整理放到個人的部落格上 http://chechia.net/ 追蹤粉專可以收到文章的主動推播 Reset IAM root user Administrator Password 依照上面的步驟,我們確定可以正常登入,於是可以來可以新建 Administrator 的 login profile 由於 Administrator 會需要 access key,所以我們也把他設成 true # terragrunt.hcl users = { Administrator = { groups = ["full-access"] pgp_key = "keybase:chechiachang" create_login_profile = true create_access_keys = true }, Accounting = { groups = ["billing"] pgp_key = "keybase:chechiachang" create_login_profile = true create_access_keys = false # accounting always use web console, won't use access key } } 記得更改 module/output.tf,增加 secret key 的 output,而不要只留在 terraform state 裡面 ...

September 20, 2022 · 7 min · 1292 words · chechiachang

Reset Iam User

昨天我們建立 IAM Group 與 policy,並說明 policy 管理原則。 然而昨天最後創建 user 時,我們關閉了 create_login_profile = false 的選項 這是為了避免當前的登入機制被覆蓋掉,影響 root account Administrator 的使用 更改 login 方式,在某些極端的情形下,有可能讓 Administrator 自己覆蓋自己的 login 設定後,讓自己無法登入 如果你是管理員,在更改 admin 帳號的權限與登入設定時,一定要多加注意 如果不幸改壞,無法登入,就只能再去找出 root account root user 帳號來解救了 如果是 root account root user 把自己的 login 改壞,就會很痛苦,要請 aws support 來救你 本日進度 root 中設定 IAM User 將手動產生的 Administrator 的 IAM User import terraform 中 補上 root account IAM Policy 補上 root account IAM Group reset root account IAM user login profile & pgp key iThome 鐵人賽好讀版 ...

September 20, 2022 · 5 min · 1010 words · chechiachang

Provision Iam Group Policy

昨天我們將 root account IAM user import 到 terraform 中 示範 terraform import 增加 iam user 的功能到 module repository 中 今天要完成 root account 中 IAM Group + Policy,順便聊聊 aws IAM policy 管理原則 root 中設定 IAM User 將手動產生的 Administrator 的 IAM User import terraform 中 補上 root account IAM Policy 補上 root account IAM Group iThome 鐵人賽好讀版 賽後文章會整理放到個人的部落格上 http://chechia.net/ 追蹤粉專可以收到文章的主動推播 承接昨天的 plan 結果,我們今天要把 IAM policy 與 group 開出來 ...

September 20, 2022 · 7 min · 1465 words · chechiachang