问题标签 [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.
amazon-web-services - 如何使用 AWS cli 在 MFA 上下文中获取访问密钥?
我正在开发一个将在现有 EC2 实例上运行的简单应用程序。AWS 账户受 MFA 保护。我们使用一个主帐户并在我们的目标帐户中担任一个角色以进行个人访问。
该应用程序仅在我在本地开发时处理 MFA。我想避免在目标帐户中创建仅用于开发的用户,并将我的本地开发包装在 --profile 之类的功能中。
我的想法是用来aws sts
生成访问密钥和秘密密钥,但是使用我在凭据文件中的相同设置执行假设角色会给我一个拒绝访问错误。
我的凭据文件遵循以下模式:
我尝试使用aws sts --role-name arn:blah2 --role-session-name test --profile main-profile
. 似乎我也需要参考 MFA 设备,但我不认为这是一个选项。
有什么办法可以做我想做的事吗?
好的,所以我能够成功检索和缓存凭据,但是返回的访问密钥似乎对于设置到环境变量中无效。想法?
当我运行它时,我收到以下错误消息:
事实证明,我无法在会话 JSON 返回的值中重复使用引号。我不得不删除引号并添加新引号,这实际上是有道理的。有关我的解决方案,请参阅下面的答案。
amazon-web-services - 无法从系统设置加载凭据。AWS_ACCESS_KEY_ID
我是 AWS 的新手,我已经开发了一个 Lambda 函数来使用 KmsClient 进行加密和解密。
这就是我使用aws reagion构建KmsClient的方式,
我正在使用 Envelope Encryption 进行加密,所以我使用 GenerateDataKeyRequest 为纯文本生成和密钥,
在上面的行中,我遇到了以下异常:
我试图通过设置环境变量来解决这个问题,但它仍然不起作用。
我的 kms 密钥策略如下所示:
任何帮助将非常感激:
在此先感谢,普拉迪普
amazon-web-services - 找出 AWS 会话多久到期的方法?
先决条件
我有一个适用于 AWS 但不明确处理凭据的脚本。它只是调用 AWS API,期望凭据根据默认凭据提供程序链存在。实际上,调用此脚本的包装器会获取临时凭证并将它们传递到环境变量(AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
)AWS_SESSION_TOKEN
中。
问题
包装器通常重用现有凭据,并且仅在它们即将到期时明确要求重新进行身份验证。因此,它有可能通过的凭据还有几分钟的生存时间,这可能还不够,因为脚本执行通常需要很长时间。不幸的是,我无法控制包装器,所以我想让脚本在决定是否提前启动或中止之前检查它还剩下多少时间,以防止在飞行中失败。
AWS 似乎没有提供一种标准方法来查询“在当前会话到期之前我还有多少时间?” 如果我可以控制包装器,我也会让它在环境变量中传递到期日期。我希望这AWS_SESSION_TOKEN
是一种 JWT 令牌,但不幸的是它不是,而且似乎不包含任何时间戳。
任何人都可以建议解决给定问题的任何其他方法吗?
aws-sts - 使用 DefaultCredentialsProvider 从配置文件访问 AWS 会话令牌
我的 AWS 配置文件~/.aws/credentials
包含由 STS 创建的会话凭证。
我正在尝试使用 AWS SDK Java v2 访问这些凭证
使用DefaultCredentialsProvider
orProfileCredentialsProvider
找到它们,但返回的对象是类型AwsCredentials
而不是AwsSessionCredentials
不包括会话令牌,只有访问密钥 ID 和秘密访问密钥。
有没有办法检索完整的会话凭据?
amazon-web-services - Common Crawl S3 存储桶所需的 AWS 凭证
我正在尝试访问 Common Crawl 新闻 S3 存储桶,但我不断收到“致命错误:无法找到凭据”消息。关于如何解决这个问题的任何建议?据我所知,Common Crawl 甚至不需要凭据?
amazon-web-services - AWS 访问密钥的自动轮换
我正在寻找为一组用户自动轮换访问密钥(AWS 凭证)的方法。有一个单独的过程可以创建访问密钥。我需要能够以自动方式轮换密钥。此链接解释了为特定用户执行此操作的方法。我如何能够为用户列表实现这一目标。有什么想法或建议吗?
docker - Jib:如何在不安装的情况下使用 amazon-ecr-credential-helper?
当使用jib-gradle-plugin构建并推送到 AWS ECR 时,它需要我安装aws ecr credential helper,否则构建会报错“系统没有 docker-credential-ecr-login CLI”。
我想知道是否有一种方法可以在不安装凭证帮助程序的情况下推送到 AWS ECR,或者是否可以在存储库中捆绑便携式版本的凭证帮助程序?
安装助手的问题是:
- 它需要在需要构建项目的每台机器上安装助手,因此使构建流程不像我想要的那样自动化
- 要安装 aws ecr 凭证帮助程序,它需要安装 Docker。这感觉有点讽刺,因为 Jib 的很大一部分意义在于构建发生的主机上不需要 Docker,因此构建可以是独立的和可移植的。
我知道这不是 Jib 问题,但我只是希望使用 Jib 的人可能会遇到类似的挑战,因此可以提供一些关于如何解决它的见解。
amazon-web-services - 如何让 Terraform 读取 AWS 凭证文件?
我正在尝试使用 terraform 创建一个 AWS S3 存储桶,这是我的代码:
我已经使用记事本手动创建了“凭据”文件,还使用 Powershell 删除了“.txt”扩展名并将该文件存储在 中C:\Users\terraform\.aws
,该文件如下所示:
但是当我尝试运行时terraform plan
,我收到一个错误,上面写着
错误:配置 Terraform AWS 提供程序时出错:找不到 Terraform AWS 提供程序的有效凭证源
然后,我还尝试通过安装 AWS CLI 创建该“凭据”文件,我运行了命令
terraform
我的用户名在哪里。所以,它要求我输入aws_access_key_id
and aws_secret_access_key
。输入所有凭据后,我运行了命令terraform init
,该命令运行成功,但是当我运行时terraform plan
,它再次显示错误,上面写着:
错误:配置 Terraform AWS 提供程序时出错:找不到 Terraform AWS 提供程序的有效凭证源
apache-nifi - Nifi:无法提交 AWSCredentialsProviderControllerService 的访问密钥和密钥
当我为 AWSCredentialsProviderControllerService 输入访问密钥和秘密密钥并尝试提交更改时,出现 Nifi 上没有提交本地更改的选项,这意味着无法提交新访问密钥和秘密密钥的更改请在此处帮助..
如果无法保存访问/密钥等敏感属性,那么如何在不使用凭证文件的情况下存储访问和密钥
apache-nifi - Nifi:如何独立于环境读取 AWSCredentialsProviderControlerService 的访问/密钥
我们当前设置了属性文件的路径,其中包含 AWSCredentialsProviderControlerService 的凭据文件的密钥/访问密钥。问题是,每次我们运行 nifi 工作流时,我们都在更改产品和非产品的属性路径。试图对凭据文件路径上的配置不进行任何更改,以便无论产品还是非产品都可以读取访问/密钥。由于凭证文件不支持 Nifi 表达式语言,因此尝试使用 ACCESS KEY/SECRET 属性 ${ENV:equalsIgnoreCase("prod"):ifElse(${ACESS_PROD},${ACESS_NONPROD})} 我们面临的问题,我们是无法将这些访问密钥/秘密密钥存储到注册表。因此无法实施此更改。无论Nifi中的环境如何,有什么方法可以读取访问/密钥。目前,我们将 1 个属性文件用于非 prod nifi,将 2nd 属性文件用于 prod 属性。在此设置中,从 prod 切换到 non prod 时需要手动更改为凭证文件路径。尝试在不更改凭据文件路径的情况下无缝工作。有没有办法做到这一点?