AD FS 宣告規則和 SAML 設定 - AMS 進階使用者指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AD FS 宣告規則和 SAML 設定

AWS Managed Services (AMS) 的 ActiveDirectory Federation Services (AD FS) 宣告規則和 SAML 設定 AWS Managed Services

如需如何安裝和設定 AD FS step-by-step說明,請參閱使用 Windows Active Directory、ADFS 和 SAML 2.0 啟用與 AWS 的聯合

ADFS 宣告規則組態

如果您已有 ADFS 實作,請設定以下內容:

  • 依賴方信任

  • 宣告規則

依賴方信任和宣告規則步驟是從使用 Windows Active Directory、AD FS 和 SAML 2.0 部落格啟用聯合到 AWS

  • 宣告規則:

    • Nameid:每個部落格文章的組態

    • RoleSessionName:如下所示設定

      • 宣告規則名稱RoleSessionName

      • 屬性存放區Active Directory

      • LDAP 屬性SAM-Account-Name

      • 傳出宣告類型https://aws.amazon.com/SAML/Attributes/RoleSessionName

      • 取得 AD 群組:每個部落格文章的組態

      • 角色宣告:如下所示設定

        c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-([^d]{12})-"]
        => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-([^d]{12})-", "arn:aws:iam::$1:saml-provider/customer-readonly-saml,arn:aws:iam::$1:role/"));

Web 主控台

您可以使用以下連結,將 【ADFS-FQDN】 取代為 ADFS 實作的 FQDN,來存取 AWS Web 主控台。

https://【ADFS-FQDN】/adfs/ls/IdpInitiatedSignOn.aspx

您的 IT 部門可以透過群組政策,將上述連結部署至使用者人口。

使用 SAML 存取 API 和 CLI

如何使用 SAML 設定 API 和 CLI 存取。

python 套件來源於以下部落格文章:

指令碼組態

  1. 使用記事本++,將預設區域變更為正確的區域

  2. 使用記事本++,停用測試和開發環境的 SSL 驗證

  3. 使用記事本++,設定 idpentryurl

    https://[ADFS-FDQN]/adfs/ls/IdpInitiatedSignOn.aspx?loginToRp=urn:amazon:webservices

Windows 組態

以下說明適用於 python 套件。產生的登入資料有效期為 1 小時。

  1. 下載並安裝 python (2.7.11)

  2. 下載並安裝 AWS CLI 工具

  3. 安裝 AMS CLI:

    1. 下載雲端服務交付管理員 (CSDM) 提供的 AMS 可分發 zip 檔案並解壓縮。

      有數個目錄和檔案可供使用。

    2. 根據您的作業系統開啟 Managed Cloud Distributables -> CLI -> WindowsManaged Cloud Distributables -> CLI -> Linux / MacOS 目錄,以及:

      對於 Windows,請執行適當的安裝程式 (此方法僅適用於 Windows 32 或 64 位元系統):

      • 32 位元:ManagedCloudAPI_x86.msi

      • 64 位元:ManagedCloudAPI_x64.msi

      對於 Mac/Linux,請執行名為 的檔案:MC_CLI.sh。您可以執行此命令來執行此操作:sh MC_CLI.sh。請注意,amscmamsskms 目錄及其內容必須與 MC_CLI.sh 檔案位於相同的目錄中。

    3. 如果您的公司登入資料是透過與 AWS (AMS 預設組態) 聯合使用,您必須安裝登入資料管理工具,以存取您的聯合服務。例如,您可以使用此 AWS 安全部落格 如何使用 SAML 2.0 和 AD FS 實作聯合 API 和 CLI 存取,以協助設定憑證管理工具。

    4. 安裝之後,請執行 aws amscm helpaws amsskms help 以查看命令和選項。

  4. 下載必要的 SAML 指令碼

    下載至 c:\aws\scripts

  5. 下載 PIP

    下載至 c:\aws\downloads

  6. 使用 PowerShell 安裝 PIP

    <pythondir>。\python.exe c:\aws\downloads\get-pip.py

  7. 使用 PowerShell 安裝 boto 模組

    <pythondir\scripts>pip 安裝 boto

  8. 使用 PowerShell 安裝請求模組

    <pythondir\scripts>pip 安裝請求

  9. 使用 PowerShell 安裝請求安全模組

    <pythondir\scripts>pip 安裝請求【安全性】

  10. 使用 PowerShell 安裝 beautifulsoup 模組

    <pythondir\scripts>pip 安裝 beautifulsoup4

  11. 使用 PowerShell,在使用者設定檔中建立名為 .aws 的資料夾 (%userprofile%\.aws)

    mkdir .aws

  12. 使用 PowerShell,在 .aws 資料夾中建立登入資料檔案

    新項目登入資料 - 類型檔案 -force

    登入資料檔案不得有副檔名

    檔案名稱必須全部小寫,且具有名稱登入資料

  13. 使用記事本開啟登入資料檔案並貼上下列資料,指定正確的區域

    [default] output = json region = us-east-1 aws_access_key_id = aws_secret_access_key =
  14. 使用 PowerShell、SAML 指令碼和登入

    <pythondir>。\python.exe c:\aws\scripts\samlapi.py

    使用者名稱:【USERNAME】@upn

    選擇您要擔任的角色

Linux 組態

產生的登入資料有效期為 1 小時。

  1. 使用 WinSCP 傳輸 SAML 指令碼

  2. 使用 WinSCP 傳輸根 CA 憑證 (忽略用於測試和開發)

  3. 將 ROOT CA 新增至信任的根憑證 (忽略用於測試和開發)

    $ openssl x509 -inform der -in 【certname】.cer -out certificate.pem (忽略用於測試和開發)

    將 certificate.pem 的內容新增至 /etc/ssl/certs/ca-bundle.crt 檔案結尾 (忽略用於測試開發)

  4. 在 home/ec2-user 5 中建立 .aws 資料夾

    [default] output = json region = us-east-1 aws_access_key_id = aws_secret_access_key =
  5. 使用 WinSCP,將登入資料檔案傳輸至 .aws 資料夾

  6. 安裝 boto 模組

    $ sudo pip 安裝 boto

  7. 安裝請求模組

    $ sudo pip 安裝請求

  8. 安裝 beautifulsoup 模組

    $ sudo pip 安裝 beautifulsoup4

  9. 將指令碼複製到 home/ec2-user

    設定必要的許可

    執行指令碼:https://samlapi.py