AWS SSO Profile 設定介紹
之前有介紹過 設定 AWS CLI 以及 AWS CLI 指令說明,大家應該已經知道要怎麼安裝 AWS CLI,以及設定 AWS IAM User 的 Access Key。
而這次要介紹的是導入 AWS Organizations 以及 AWS IAM Identity Center(SSO) 後,要如何設定 AWS SSO Profile,用來存取 AWS Organizations 中的各個 AWS Account 以及對應的 Permission Set。
aws configure sso 設定
步驟也很簡單,首先可以使用 AWS CLI 的 aws configure sso 指令來設定 SSO Profile,這個指令會引導你完成整個設定。
aws configure sso系統會要求你輸入一些資訊,例如 SSO Session 的名稱、SSO 的起始 URL、SSO 區域等等。
會像是下方圖片一樣,出現一個連結,也會自動幫你開瀏覽器,要你登入 AWS IAM Identity Center 來進行驗證。

設定 aws configure sso
瀏覽器開啟後,如果有登入完畢,會需要授予 Applications and AWS accounts 權限:

看到這個畫面,接著回到終端機,系統會要求你選擇要存取的 AWS Account 以及對應的 Permission Set:

會跳出一個選單,讓你選擇要存取的 AWS Account。你可以使用上下鍵來選擇,然後按下 Enter 鍵來確認。
這邊會協助建立一個新的 Profile,並且會自動填入相關的資訊。

選擇 AWS Account
接著,選擇這個 AWS Account 後,如果有不同的 Permission Set,你可以再選擇對應的 Permission Set:

設定 Permission Set
最後如果跳出這個畫面,就代表已經設定完成了!
可以使用以下指令來確認是否有設定成功:
aws sts get-caller-identity --profile <your-profile-name>
設定 aws configure sso 完成
檢視設定的 Profile
我們也可以來看一下 ~/.aws/config 檔案,裡面會有剛剛設定的 Profile 資訊:
[profile AdministratorAccess-72XXXXXXXXX0]
sso_session = test
sso_account_id = 72XXXXXXXXX0
sso_role_name = AdministratorAccess
region = ap-southeast-1
output = json
[sso-session test]
sso_start_url = https://d-XXXXXXX.awsapps.com/start/#
sso_region = ap-southeast-1
sso_registration_scopes = sso:account:access可以看到會有兩個區塊,分別是 sso-session 以及剛剛設定的 Profile。
sso-session: 會記錄 SSO 的起始 URL、SSO 區域以及 SSO 的註冊範圍。
Profile 區塊: 則是記錄使用哪一個 SSO Session、AWS Account ID、Permission Set 以及預設的區域和輸出格式。
那我們通常只有一個 SSO Session,然後有多個 AWS Account,所以有多個 Profile,如果每個 AWS Account 都有不同的 Permission Set,就會有更多的 Profile。
那假設你想要手動輸入 SSO Profile 的話,也可以直接在 ~/.aws/config 檔案中新增一個 Profile 區塊,並填入對應的 AWS Account ID、Permission Set 以及 SSO Session 名稱,就可以囉。
aws configure sso-session
或是你也可以使用 aws configure sso-session 指令來設定 SSO Session,基本上流程跟 aws configure sso 類似,但就不會協助設定後面的 Profile。

設定 aws configure sso-session
那我們在使用 Profile 的時候,可以直接在指令後面多加上 --profile <your-profile-name> 來指定要使用的 Profile。
但這個方式很麻煩,所以我們下一篇會介紹「手動切 AWS Profile 太麻煩?試試 Granted,多帳號管理神器助你效率倍增!」這個工具,可以讓你更方便地管理以及切換多個 AWS Profile。
參考資料
使用 AWS CLI 設定 IAM Identity Center 驗證:https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html