【问题标题】:Forbidden error while retrieving details of cluster using <publicServiceEndpointURL> with REST kubernetes API使用带有 REST kubernetes API 的 <publicServiceEndpointURL> 检索集群详细信息时出现禁止错误
【发布时间】:2020-10-07 01:32:36
【问题描述】:

尝试使用 kubernetes API 检索 kubernetes 集群的详细信息,例如命名空间和 pod 详细信息 关注doc

API:

<publicServiceEndpointURL>/api/v1/namespaces
Headers:
Authorization: bearer <id_token>

&lt;id_token&gt; - 生成一个 IAM 令牌。

启用 SSL 证书的邮递员会收到证书错误,否则会抛出 403 Forbidden 错误

Error: unable to verify the first certificate

禁用 SSL 证书验证的结果。

{
    "kind": "Status",
    "apiVersion": "v1",
    "metadata": {},
    "status": "Failure",
    "message": "namespaces is forbidden: User \"system:anonymous\" cannot list resource \"namespaces\" in API group \"\" at the cluster scope",
    "reason": "Forbidden",
    "details": {
        "kind": "namespaces"
    },
    "code": 403
}

用 curl 试过了,还是会报同样的错误

curl -k <publicServiceEndpointURL>/api/v1/namespaces -H "Authorization: Bearer <token>"

Chrome API 调用出错

net::ERR_CERT_AUTHORITY_INVALID

我将如何访问此 API?

【问题讨论】:

    标签: kubernetes ibm-cloud kubernetes-apiserver kubernetes-cluster


    【解决方案1】:

    您是否有权列出集群中的命名空间?例如,如果您通过 CLI 以同一用户身份登录,您可以运行 kubectl get namespaces 吗?它看起来像一个权限错误。对于集群中的所有名称空间,用户将需要 IBM Cloud IAM Reader 服务角色(它为您提供 RBAC view 角色)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-14
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-24
      • 1970-01-01
      • 2018-12-21
      相关资源
      最近更新 更多