顯示具有 workspace 標籤的文章。 顯示所有文章
顯示具有 workspace 標籤的文章。 顯示所有文章

2022年8月31日 星期三

[AWS] GWS User AD Join to Login AWS Account

最近剛好做到一個 Case,客戶是使用 GWS AD Account
有同時使用 GCP & AWS Service,但 IT 想統一 Account 去做管理
此步驟獻給類似需求情境的管理員們,同樣的 AzureAD 也是類似方法

Step1. 登入 要加入的 GWS Admin 管理介面

A. 選擇 Security > Authentication > SSO with SAML applications.

B. 拉到最下面, Download Metada

 Step2. 新增 IAM SAML Identity Provider 在 AWS Account

A. 首先登入想加入的 AWS Account 的 IAM Service
B. 並點選 IAM Service 下的 Identity Providers
C. 點選右邊 Add Provider
D. 點選 SAML
E. Provider Name (自行輸入,這邊是輸入 Join 的 GWS Domain)
F. Medata document (把剛剛在 GWS 端下載的檔案上傳上來)
G. 建置好後會取得 ARN 碼,這很重要 (複製下來貼旁邊)


Step3. 新增 AWS IAM Role 給予 透過 Identity Provider 的 GWS Account 權限 

A. 進入 IAM Console,選擇 Role > Create Role
B. 選擇 SAML 2.0 federation 下拉選單會帶出剛建立的 Provider
C. 然後點選 Allow programmatic and AWS Management Console Access
D. 點選 Next : Permissions 

E. 通過篩選把 AWS 預設 Role 帶出

F. 點選 左上方 放大鏡符號

G. 選取 Type > AWS managed – job function

H. 選擇 PowerUserAcces 後,點選下一步

I. Role details 輸入 Role 名稱 (GoogleSAMLPowerUserRole)
J. Description 輸入 Role 的大概內容 (GWS Login PowerUser Role)
K. 拉到最底,點選 Create Role

L. 建好後會看到你新建的 Role

M. 建置好後會取得 ARN 碼,這很重要 (複製下來貼旁邊)

N. 如需新增其他 Role ,重覆 Step 3 所有步驟即可即可

    •  Role 1 GoogleSAMLPowerUserRole_Login
      • arn:aws:iam::174XXXXXXXXX:role/GoogleSAMLPowerUserRole_Login


 Step4. 給予 GWS User AWS IAM Role

A. 回到 GWS Admin Console
B. 點選 Directory > Users > More Option > Manage custom attributes

C. Category: AWS
        Description: Amazon Web Services Role Mapping
D. Custom fields, enter the following values:
        Name: AssumeRoleWithSaml
        Info type : Text
        Visibility : Visable to user and admin
        InNo of Values : Muti-value
        E. 回到 Users 端,選擇要加入的 User Account
        F. 點選 User > User Information
        G. 移到最下面有個 AWS 的,點選編輯
        H. 這時輸入最一開始拿到的 Identitiy Providers + IAM Role ARN
                這邊要特別注意,兩個組合再一起時,中間要用 , 分開
例如 : 
arn:aws:iam:: 174XXXXXXXXX::samlprovider/Dev.Cloud.XXX.tv ”,”arn:aws:iam:: 174XXXXXXXXX:role/GoogleSAMLPowerUserRole

I. 一行是一個 Role,假設你需要給予兩個或是更多的 Role
        請依照同樣方式 Identitiy Providers,IAM Role ARN
J. 假設你有多個 AWS Account 也可以依照前面步驟
        從 Step 2 開始,在另一個 AWS Account 用同樣步驟進行
        Step 3 在另一個 AWS Account用同樣步驟進行
        Step 4 開始,但只需要從 E 項目開始把其ARN 新增至 User Information內即可
K. 可看到我同時有兩個不同AWS Account的 Providers + Role ARN


Step 5. 在 GWS 端設定 SAML Application 給 AWS Login 

A. 進到GWS Admin 管理介面
B. 點選左邊 Apps > Web and Mobile apps 
C. 選取 Add custom SAML App 


 D. App name : 輸入 AWS Login (顯示在右上角選單內的名稱)

        APP Icon : 上傳一個圖示(顯示在右上角選單內的圖示)

E. 點選下一步
        Services Provider Details
  • ACS URL : https://signin.aws.amazon.com/saml
  • Entity ID : urn:amazon:webservices
  • Name ID format : EMAIL
  • Name ID : Basic Information > Primary email
F. 點選下一步
        在 Attributes 內新增
  • 項次一 AWS 選擇 AssumeRoleWithSaml
  • App attributes 輸入 https://aws.amazon.com/SAML/Attributes/Role
  • 項次二 Base Information 選擇 Primary email
  •  App attributes 輸入
  •  https://aws.amazon.com/SAML/Attributes/RoleSessionName

    G.     按下 Finish 即完成

    H.     在來回到 Web and Mobile Apps 內,點選剛新增的 SAML APP

    I.     進入 User Access 把 Service Status 開城 ON for everyone


 J. 回到上一頁,按下 TEST SAML Login 就會出現,你配置的 Domain

或是點選右上角 APP 選單,往下滑也會有你建制的 SAML APP

K. 點選後就會出現 AWS Account and 你所賦予的 Role 權限

        此 Demo 建置了兩個 AWS Account 兩個 Role

L. 依據不同的權限,不同的帳號做登入測試


 

Step 6. 查找登入 Login Log 

A. GWS 端該如何查詢 Login Log
Console > Reporting > Audit and investigation > SAML log events


 B. AWS 端該如何查詢 Login Log

AWS Console > CloudTrail > Event history