问题标签 [aws-credentials]

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.

0 投票
1 回答
112 浏览

asp.net - AWS AmazonSimpleSystemsManagementClient 无法读取 .NET Framework 应用程序中的凭证

我有 .NET Framework 应用程序,我尝试AmazonSimpleSystemsManagementClient在本地环境中使用 AWS 参数存储读取数据。此外,我还有 AWS CLI 生成的凭证,位于

用户/MyUser/.aws

文件夹。当我尝试使用凭据从 CMD 连接到参数存储时,它工作正常。尽管应用程序中的 AmazonSimpleSystemsManagementClient 具有默认构造函数,但它会引发异常“无法从 EC2 实例元数据服务获取 IAM 安全凭证。 ”当我尝试使用硬编码的工作密钥将 BasicAWSParameters 传递给客户端时,我遇到了另一个异常“安全令牌包含在请求无效”。

我还尝试安装 EC2Config,从 Visual Studio AWS Toolkit 初始化 AWS SDK Store。虽然这并没有改变比赛。我想避免使用环境变量或对密钥进行硬编码,因为密钥是生成的并且仅在 1 小时内有效。然后我应该重新生成,所以每次都在某个地方复制它们对我来说不方便。请建议如何解决该问题。

一些代码

凭据文件如下所示(我删除了不公开的键值):

0 投票
1 回答
128 浏览

c# - 获取“无法从 EC2 实例元数据服务获取 IAM 安全凭证。” 安装 AWS CLI v2 后

我正在运行 Visual Studio 2019,AWS Explorer 安装了 Amazon Workspace 上的配置文件。直到今天,我已经能够使用 AWS .NET Core 3.1 Mock Lambda 测试工具在本地调试 Lambda 项目。今天,我需要做一些 CLI 工作,发现 CLI 没有安装,所以我安装了最新版本。安装后,我的代码在尝试访问任何 AWS 服务时失败,并出现以下错误:

无法从 EC2 实例元数据服务获取 IAM 安全凭证。

我已验证我的凭证文件在 /.aws/credential 是正确的,并且 AWS Explorer 正在获取它,我可以在 AWS Explorer 中浏览服务和对象。

我已删除凭据文件并使用aws configure. 没变。

我已删除凭证文件并使用 AWS Explorer 重新创建。没变。

我已卸载并重新安装 AWS CLI 和 AWS Explorer 并重新创建了配置文件。没变。

我已经为 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 设置了 windows 环境变量。这行得通。

显然,当我创建它时,我可以将我的访问密钥和秘密硬编码到我的客户端中,这很有效。

问题是,为什么我的代码不会从我的 /.aws/credentials 文件中获取凭据?还有什么我可以尝试的吗?

0 投票
0 回答
19 浏览

amazon-web-services - AWS - 如何在 Codebuild 中使用变量?

我有一些文件必须部署到 AWS。我需要将我的凭据传递给它。我需要将该代码上传到 GitHub,但我无法发布我的凭据。我想使用 AWS Codebuild 和 GitHub 存储库。我在参数存储中创建了安全字符串并在构建环境中指定了它们,但 AWS 告诉我我无权使用它(未授权执行:ssm:GetParameters)。我想我做错了什么。

我是 AWS 新手。所以......我想这是一个愚蠢的问题。请像我五岁一样解释它。我已经花了三天时间。我阅读了文档,但没有得到它。

0 投票
0 回答
16 浏览

amazon-web-services - 如何禁用从 cognito 识别创建的 aws 凭据

我目前的流程如下:

  1. 用户 A 登录 => 从 cognito 用户池中获取 id_token 和 access_token
  2. 用户 A 使用 id_token 从 cognito 识别池中获取 aws 凭证 A 并将数据放入 S3
  3. 用户 A 从 cognito 注销

在第 3 步之后,我希望凭据 A 将被禁用,并且用户 A 无法使用它来访问 S3 服务,即使凭据 A 仍然可用(不会超过过期时间)。

目前,我尝试在注销功能之前更新凭证 B,但它不起作用。

你能告诉我我该怎么做的方法吗?

0 投票
2 回答
470 浏览

amazon-s3 - 在配置中获取缺少的凭据,如果使用 AWS_CONFIG_FILE,请设置 AWS_SDK_LOAD_CONFIG=1,尽管在配置文件中有凭据

我有一个基于打字稿/节点的应用程序,其中以下代码行引发错误:

const res = await s3.getObject(obj).promise();

我在终端输出中遇到的错误是:

但是,我的 .aws 目录中确实有一个凭证文件,其中包含 和 的aws_access_key_idaws_secret_access_key。我还使用变量AWS_ACCESS_KEY_ID和导出了这些值AWS_SECRET_ACCESS_KEY。我也尝试过运行和不运行export AWS_SDK_LOAD_CONFIG=1但无济于事(相同的错误消息)。任何人都可以提供任何可能的原因/建议以进行进一步的故障排除吗?

0 投票
0 回答
26 浏览

aws-sdk-js - 在运行节点/打字稿应用程序时使用 shell/bash 环境变量作为 aws 凭证

我有一个基于打字稿/节点的应用程序,我使用yarn. 在我的应用程序中,我使用的是 AWS 开发工具包,在许多代码示例中,总有一行看起来像:

AWS.config.update({accessKeyId: 'mykey', secretAccessKey: 'mysecret', region: 'myregion'});

但是,我想使用我在终端中设置的AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 环境变量,export而不是使用上面的行 - 有什么方法可以配置一些东西,以便当我从终端运行应用程序时,使用yarn的凭据是环境默认情况下的变量(而不是在 .aws/config 中找到的凭据)?

0 投票
0 回答
67 浏览

java - 我们如何从 AWS CodeBuild 将环境变量导入 Java?

检查下图,因为我已经在 CodeBuild AWS 中设置了带有 ACCESS 和 SECRET 密钥的环境变量。 在此处输入图像描述 我正在尝试使用以下代码将这些数据导入 JAVA 项目,但无法获取值并获得空输出。

也尝试了以下方式,但无法获得它的价值。

也做了下面的方法,但没有取得任何成功。

提前致谢。

0 投票
0 回答
35 浏览

amazon-web-services - 假设 AWS 中的角色导致凭证错误

我正在尝试将 AWS 中的 Glue 模式注册表服务与 scala 一起使用(或者 java 也应该有用),并且我测试了两种承担角色的方法,但会导致错误:

我不想使用环境变量,所以我尝试 STS 使用以下代码承担角色:

基于https://stackoverflow.com/a/62930761/17221117

我使用的第二种方法是使用以下AWS代码官方文档

但它也失败了......我不明白这是否会生成一个我应该使用的令牌,或者只是执行这个代码应该可以工作。

任何人都可以帮助我吗?

0 投票
0 回答
20 浏览

amazon-web-services - 如何为 S3 创建长达 30 天的临时访问凭证?

我想创建持续约 30 天的临时凭证,并且只能访问特定 S3 存储桶中的特定目录(我已经弄清楚了执行此操作的策略是什么样的)。请注意,具体目录由用户名确定。(所以它有点动态)

我已经看到了一些潜在的选择,但它们都有陷阱:

- Amazon Cognito:对于我的用例,这将变得过于复杂,因为它需要在客户端进行一些工作。

- GetFederatedToken:这似乎是最好的选择,但我的用例只允许 36 小时(3 天)的最长到期时间,我需要一些持续时间更长的东西。

AssumeRole并且GetSessionToken也有同样的问题GetFederatedToken

如果我可以通过某种方式授予临时凭证通过 API 请求更新自己的权限(但不更改附加到它们的策略),那将是我的用例的完美选择。关于如何达到我想要的结果的任何想法?

我不想使用 IAM,因为一些用户可能在我的组织之外,而且这个数字可能会变得非常大。

0 投票
0 回答
23 浏览

jenkins - 从 Jenkins 管道运行 Terraform - aws 凭据错误

对 terraform 来说非常新。只有经验是在我的 Jenkins 实例上成功安装它,该实例位于我们要部署到的 AWS VPC 内。

运行 terraform 的实际人员报告说他收到了 aws 凭据错误。我被告知凭证是必要的。

我不明白的是,出于所有意图和目的,我们的詹金斯实例就像在我们的客厅里。为什么我需要出去,锁上前门,打开前门,然后回到里面去厨房?

提前感谢您花时间启发我。