第 2 章 为基于 IP 的 AWS 角色假设添加额外的限制


您可以在 AWS 帐户中实施额外的安全层,以防止角色假设非允许 IP 地址。

2.1. 创建基于身份的 IAM 策略

您可以创建一个基于身份的 Identity and Access Management (IAM)策略,当请求来自红帽提供的 IP 以外的 IP 地址时,拒绝访问所有 AWS 操作。

前提条件

流程

  1. 使用您的 AWS 帐户凭证登录到 AWS 管理控制台。
  2. 进入 IAM 服务。
  3. 在 IAM 控制台中,从左侧导航菜单中选择 Policies
  4. 点击 Create policy
  5. 选择 JSON 选项卡,以使用 JSON 格式定义策略。
  6. 要获取您需要输入到 JSON 策略文档中的 IP 地址,请运行以下命令:

    $ ocm get /api/clusters_mgmt/v1/trusted_ip_addresses
    注意

    这些 IP 地址不是永久的,可能随时更改。您必须持续查看 API 输出,并在 JSON 策略文档中进行必要的更新。

  7. 将以下 policy_document.json 文件复制并粘贴到编辑器中:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Deny",
                "Action": "*",
                "Resource": "*",
                "Condition": {
                    "NotIpAddress": {
                        "aws:SourceIp": []
                    },
                    "Bool": {
                        "aws:ViaAWSService": "false"
                    }
                }
            }
        ]
    }
  8. 将在第 6 步中获得的所有 IP 地址复制并粘贴到 policy_document.json 文件中的 "aws:SourceIp": [] 数组中。
  9. Review and create
  10. 为策略提供名称和描述,并查看准确性的详细信息。
  11. Create policy 保存该策略。
注意

条件键 aws:ViaAWSService 必须设置为 false,以便根据初始调用启用后续调用成功。例如,如果您对 aws ec2 describe-instances 进行了初始调用,则在 AWS API 服务器中进行的所有后续调用,以检索附加到 ec2 实例的 EBS 卷的信息,如果条件键 aws:ViaAWSService 没有设置为 false,则失败。后续调用会失败,因为它们会源自 AWS IP 地址,这些地址不包含在 AllowList 中。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.