问题标签 [aws-iam-authenticator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubectl - 将 EKS 令牌传递给其他 kubectl cli 命令
假设我使用以下方法获得 EKS 令牌:
结果如下:
如何将令牌传递给其他 cli 命令?就像是:
没有令牌,我不断收到此错误:
错误:您必须登录到服务器(未经授权)
但是我的 AWS 信用是存在的,这就是我可以获得令牌的原因。我认为它与生成的令牌相同aws-iam-authenticator token -i eks1
我试着运行这个:
那也不起作用,同样的错误。
jenkins - 如何验证 Jenkins 和 Amazon EKS
我在将 Jenkins kubernetes 插件与 Amazon EKS 集成时遇到问题。在 Jenkins 插件中,它要求提供 PKCS12 文件并进行连接,但在我的情况下,我使用 aws-iam-authenticator 与 Amazon EKS API 进行通信。在 Jenkins 配置端没有添加任何令牌身份验证的选项。此外,我尝试连接创建一个 PKCS12 文件,只有我有 ca.crt,但我怎样才能找到 -inkey client.key & -in client.crt ?这让我有点困惑。谁能帮我?我试过以下命令。
或者任何人都可以帮助我解决如何对 Jenkins 和 Amazon EKS 进行身份验证的其他替代方法吗?
谢谢。
kubernetes - 总是出现错误:您必须登录到服务器(未经授权)EKS
我目前正在玩 AWS EKS 但我总是error: You must be logged in to the server (Unauthorized)
在尝试运行kubectl cluster-info
命令时得到。
我已经阅读了很多 AWS 文档,并查看了许多面临相同问题的类似问题。不幸的是,它们都不能解决我的问题。
所以,这就是我所做的
- 安装所有必需的软件包
- 创建一个用户来访问aws-cli名称
crop-portal
- 为 EKS 名称创建角色
crop-cluster
- 通过 AWS 控制台使用角色
crop-cluster
名称创建 EKS 集群crop-cluster
(集群和角色具有相同的名称) - 为用户运行 AWS 配置
crop-portal
- 运行
aws eks update-kubeconfig --name crop-cluster
以更新 kube 配置 - 跑
aws sts assume-role --role-arn crop-cluster-arn --role-session-name eks-access
- 将accessKey、secreyKey和sessionToken复制到环境变量AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY和AWS_SESSION_TOKEN中
- 运行
aws sts get-caller-indentity
,现在结果表明它已经使用了承担角色
kubectl cluster
总是跑get error: You must be logged in to the server (Unauthorized)
当我跑步时aws-iam-authenticator token -i crop-cluster
,它给了我令牌,当我跑步时aws-iam-authenticator verify -t token -i crop-portal
,它也通过了
&{ARN:arn:aws:sts::529972849116:assumed-role/crop-cluster/1572605554603576170 CanonicalARN:arn:aws:iam::529972849116:role/crop-cluster AccountID:529972849116 UserID:AROAXWZGX5HOBZPVGAUKC SessionName:1572605554603576170}
我不知道什么是错的或我想念什么。我非常努力地让它工作,但我真的不知道在这之后该怎么做。有人建议使用 awscli 而不是 GUI 创建集群。我尝试了这两种方法,但都没有奏效。使用 awscli 或 GUI 创建对我来说都是一样的。
请有人帮忙:(
amazon-web-services - aws-iam-authenticator 守护程序集未运行
我正在尝试aws-iam-authenticator
在 AWS EKS 上设置容器,但为了启动守护程序,我已经被困了好几个小时。我按照aws-iam-authenticator 存储库中的说明进行操作,并使用deploy/example.yml作为参考起点。我已经修改了角色、clusterID 和其他必需的组件,但在应用部署后仍然没有运气。
我刚刚为控制器主控启用了日志记录,所以我希望那里可能有一些进一步的细节。我还看到一篇帖子,人们提到重新启动控制器节点,但我还没有找到使用 EKS 的方法。
如果有人有快速提示或其他地方可以检查,我将不胜感激:)
附加输出
kubernetes - aws-iam-authenticator & EKS
我已经使用适当的 configMap 部署了一个测试 EKS 集群,并且 SSO 的用户可以通过导出会话凭据(AWS_ACCESS_KEY_ID、SECRET_ACCESS_KEY_ID、AWS_SESSION_TOKEN 等)并在他们的终端中安装 aws-iam-authenticator 客户端来访问集群. 当用户尝试使用aws sso
存储在~/.aws/config
使用 aws-iam-authenticator 中的配置文件时,就会出现问题。运行任何命令时收到的错误kubectl
如下:
我已经在我的本地机器(AWS CLI v2)上对此进行了测试,但没有取得任何成功。我已经导出了在文件中找到的 AWS 配置~/.aws/config
文件,export AWS_PROFILE=User1
并且aws sts get-caller-identity
正确运行显示了正在导出的配置文件。我已经在多个命名配置文件之间进行了切换,并且每个配置文件都获得了正确的身份和权限,但是,在运行任何kubectl
命令时,我都会收到上述错误。我也尝试过符号链接config
->credentials
但没有运气。唯一可行的方法是将 access_key、secret_key 和 session_token 导出到环境变量。
我想我可以忍受必须粘贴来自 AWS SSO 的动态凭据,但我需要解决解决方案不会让我放弃:(。我正在关注这个 github问题中找到的线程,但没有运气。我设置的 kube 配置文件是 AWS 文档中指定的。
我怀疑aws-iam-authenticator
服务器部署可能有问题,但 pod 日志中没有显示任何内容。这是我正确遵循的工具 github页面的片段think
,但由于我忘记的原因,我确实跳过了第 3 步:
Kubernetes API 使用令牌身份验证 Webhook 与适用于 Kubernetes 的 AWS IAM Authenticator 集成。当您运行 aws-iam-authenticator 服务器时,它将生成一个 webhook 配置文件并将其保存到主机文件系统中。您需要在 API 服务器配置中添加一个附加标志:
Kube 配置文件
kubernetes - aws-iam-authenticator 返回已过期的令牌 - eks
我们正在运行一个 EKS 集群,其中的节点是使用基于 AWS 自动缩放组的节点组创建的。
集群是使用 eksctl 创建的。
该节点工作正常,但一段时间后,它无法与 Kubernetes API 通信。
深入研究问题,我们发现了以下问题。aws-iam-authenticator 返回用于访问 API 时失败的令牌。
最后,我们发现了以下情况,我们尝试使用相同的 aws-iam-authenticator 验证令牌,但验证失败并显示令牌已过期的消息。
我们检查运行以下命令的情况:
它请求一个令牌,从返回的 JSON 中提取令牌值,并将其发送以进行验证。
响应是(在有问题的节点中):
amazon-web-services - aws cli 不要求测试用户的 MFA 代码
我最近才开始研究 AWS IAM。
我的任务是确保对于特定用户,当使用临时访问凭证从 AWS CLI 触发时,需要向所有命令询问 MFA 代码。
这是我所做的,
使用get-session-token
我创建了临时凭据并将它们设置在配置文件中。
当我执行时aws s3 ls --profile <profile_name>
,cli 不要求 MFA 代码。
不幸的是,即使我在 stackoverflow 上引用了许多文章和回复,也没有任何帮助。
请找到已设置和使用的策略和配置文件配置。
./aws/凭证文件
有什么我想念的吗?
我关注了各种在线文章,但没有任何帮助。
https://aws.amazon.com/premiumsupport/knowledge-center/authenticate-mfa-cli/
node.js - 如何使用 node.js 解码和验证 AWS SigV4 请求的签名
我的设置
我有一个使用 AWS Sigv4 签名的 api 网关端点的请求
请求的标头看起来像这样
当我运行将 IAM 授权者添加到我的 api 端点时,我看到此签名由 AWS 验证,如下所示
我的问题
我可以使用 nodejs(打字稿)自己验证签名吗?任何将此类标头解码以产生此类身份的脚本示例都很棒。
为什么我想这样做
用于在本地模拟我的 api 以及授权逻辑。此外,我可能想在我的网关中尝试使用自定义 lambda 授权器而不是默认的 AWS IAM 授权器(让我对授权逻辑有更多控制权)。
aws-lambda - 对一个 Lambda 函数的完全访问权限
我不经常使用 AWS,但我写了一个小的 lambda 函数,我想给某人完全访问权限。每次我尝试向用户添加 IAM 权限时,它似乎永远不会提供足够的访问权限或显示正确的功能。我觉得这应该是一个简单的任务。一种功能,带有日志和 SNS。有人可以帮助获得访问此特定资源所需的 JSON 权限吗?