×

您可以在 AWS 账户中实现额外的安全层,以防止从非允许列表 IP 地址进行角色承担。

创建基于身份的 IAM 策略

您可以创建一个基于身份的标识和访问管理 (IAM) 策略,当请求源自 Red Hat 提供的 IP 地址以外的 IP 地址时,拒绝访问所有 AWS 操作。

先决条件
步骤
  1. 使用您的 AWS 账户凭据登录 AWS 管理控制台。

  2. 导航到 IAM 服务。

  3. 在 IAM 控制台中,从左侧导航菜单中选择**策略**。

  4. 点击**创建策略**。

  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. 点击**查看并创建**。

  10. 为策略提供名称和描述,并检查详细信息的准确性。

  11. 点击**创建策略**以保存策略。

条件键 aws:ViaAWSService 必须设置为 false,才能使后续调用基于初始调用成功。例如,如果您对 aws ec2 describe-instances 进行初始调用,则如果条件键 aws:ViaAWSService 未设置为 false,则在 AWS API 服务器中进行的所有后续调用以检索有关附加到 ec2 实例的 EBS 卷的信息都将失败。后续调用将失败,因为它们将源自 AWS IP 地址,而这些地址未包含在允许列表中。

附加基于身份的 IAM 策略

创建基于身份的 IAM 策略后,将其附加到 AWS 帐户中的相关 IAM 用户、组或角色,以防止对这些实体进行基于 IP 的角色承担。

步骤
  1. 在 AWS 管理控制台中导航到 IAM 控制台。

  2. 选择要附加策略的默认 IAM ManagedOpenShift-Support-Role 角色。

    您可以更改默认的 IAM ManagedOpenShift-Support-Role 角色。有关角色的更多信息,请参阅 Red Hat 支持访问

  3. 在**权限**选项卡中,从**添加权限**下拉列表中选择**添加权限**或**创建内联策略**。

  4. 通过以下方式搜索您之前创建的策略:

    1. 输入策略名称。

    2. 按相应类别筛选。

  5. 选择策略并点击**附加策略**。

为确保有效地防止基于 IP 的角色承担,您必须使允许的 IP 保持最新状态。否则,可能会导致 Red Hat 站点可靠性工程 (SRE) 无法访问您的帐户并影响您的 SLA。如果您有任何其他问题或需要帮助,请联系我们的支持团队。

附加资源