18.5. 在 Amazon Web Services Secure Token Service 中使用手动模式

Amazon Web Services(AWS)支持使用 STS 的手动模式。

注意

此凭证策略只支持新的 OpenShift Container Platform 集群,且必须在安装过程中配置。您无法重新配置使用不同的凭证策略使用此功能的现有集群。

18.5.1. 关于使用 AWS 安全令牌服务手动模式

在带有 STS 的手动模式中,各个 OpenShift Container Platform 集群组件使用 AWS Secure Token Service(STS)来分配提供简短、有限权限安全凭证的组件 IAM 角色。这些凭证与特定于发布 AWS API 调用的每个组件的 IAM 角色关联。

使用适当配置的 AWS IAM OpenID Connect(OIDC)身份提供程序以及 AWS IAM 角色会自动请求新的和刷新的凭证。OpenShift Container Platform 为服务帐户令牌签名,这些令牌由 AWS IAM 信任,并可投射到 pod 中并用于身份验证。令牌会在一小时后刷新。

图 18.1. STS 验证流程

使用带有 STS 的手动模式更改为各个 OpenShift Container Platform 组件提供的 AWS 凭证的内容。

使用长期凭证的 AWS secret 格式

apiVersion: v1
kind: Secret
metadata:
  namespace: <target-namespace> 1
  name: <target-secret-name> 2
data:
  aws_access_key_id: <base64-encoded-access-key-id>
  aws_secret_access_key: <base64-encoded-secret-access-key>

1
组件的命名空间。
2
组件 secret 的名称。

使用 STS 的 AWS secret 格式

apiVersion: v1
kind: Secret
metadata:
  namespace: <target-namespace> 1
  name: <target-secret-name> 2
stringData:
  credentials: |-
    [default]
    role_name: <operator-role-name> 3
    web_identity_token_file: <path-to-token> 4

1
组件的命名空间。
2
组件 secret 的名称。
3
组件的 IAM 角色。
4
pod 中服务帐户令牌的路径。通常这是 OpenShift Container Platform 组件的 /var/run/secrets/openshift/serviceaccount/token