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

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

AD FS 声明规则和 SAML 设置

ActiveDirectory AWS Managed Services (AMS) 的联合服务 (AD FS) 声明规则和 SAML 设置

有关如何安装和配置 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 控制台

您可以使用以下链接访问 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 可发行文件 zip 文件并解压缩。

      提供了几个目录和文件。

    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. 请注意,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 安装启动器

  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

    用户名:[用户名] @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 安装启动程序

  7. 安装请求模块

    $ sudo pip 安装请求

  8. 安装漂亮的汤模块

    $ sudo pip 安装 beautifulsoup4

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

    设置所需的权限

    执行脚本:samlapi.py