View a markdown version of this page

AD FS 索赔规则和 SAML 设置 - AMS 高级用户指南

终止支持通知:2027 年 6 月 30 日, AWS 将终止对 AMS Advanced 的支持。2027 年 6 月 30 日之后,您将无法再访问 AMS 高级控制台或 AMS 高级资源。有关更多信息,请参阅 AMS 高级终止支持。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AD FS 索赔规则和 SAML 设置

ActiveDirectory AWS 托管服务 (AMS) 的联邦服务 (AD FS) 声明规则和 SAML 设置

有关如何安装和配置 AD FS 的详细分步说明,请参阅使用 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 控制台

您可以使用以下链接访问 AWS Web 控制台,将其[ADFS-FQDN]替换为 ADFS 实施的 FQDN。

https:/[ADFS-FQDN]/adfs/ls/IdpInitiatedSignOn.aspx

您的 IT 部门可以通过组策略将上述链接部署到用户群体。

使用 SAML 访问 API 和 CLI

如何使用 SAML 配置 API 和 CLI 访问权限。

python 包来自以下博客文章:

脚本配置

  1. 使用 Notepad++ 将默认区域更改为正确的区域

  2. 使用 Notepad++ 禁用测试和开发环境的 SSL 验证

  3. 使用 Notepad++ 配置 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 可发行文件压缩文件并解压缩。

      有几个目录和文件可用。

    2. 根据您的操作系统,打开托管云分发包-> CLI-> Windows 或托管云发行包-> CLI-> Linux/macOS 目录,然后:

      对于 Windows,执行相应的安装程序(此方法仅适用于 Windows 32 或 64 位系统):

      • 32 位: ManagedCloudAPI_x86.msi

      • 64 位: ManagedCloudAPI_x64.msi

      对于 Mac/Linux,执行名为:MC_ CLI.sh 的文件。你可以通过运行这个命令来做到这一点:sh MC_CLI.sh. 请注意,amscm 和 amsskms 目录及其内容必须与 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 install boto

  8. 使用 PowerShell,安装请求模块

    <pythondir\ scripts>pip 安装请求

  9. 使用 PowerShell、安装请求安全模块

    <pythondir\ scripts>pip 安装请求 [安全]

  10. 使用 PowerShell、安装 beautifulsoup 模块

    <pythondir\ scripts>pip install beautifulsoup4

  11. 使用 PowerShell,在用户配置文件中创建一个名为 .aws 的文件夹 (%userprofile%\ .aws)

    mkdir .aws

  12. 使用 PowerShell,在 .aws 文件夹中创建凭证文件

    New-Item 凭据-类型文件 —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

    用户名:[用户名] @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. 安装启动模块

    $ sudo pip 安装启动

  7. 安装请求模块

    $ sudo pip 安装请求

  8. 安装 beautifulsoup 模块

    $ sudo pip install beautifulsoup4

  9. 将脚本复制到 home/ec2-user

    设置所需的权限

    执行脚本:samlapi.py