问题标签 [aws-iam]
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.
bash - 将两行输出分配给bash中的两个不同变量
我正在编写一个 Bash 脚本,我必须在其中列出用户的 AWS 访问密钥,然后将它们分配给变量。
一个用户可能有两个访问密钥。因此,用户将需要两个变量来存储这些密钥。
这是我到目前为止的行:
输出将是这样的:
如何将这些中的每一个分配给 Bash 中自己的变量?
bash - 在bash中测试变量的内容看是否为空
我需要测试一下 bash 变量中是否有东西或者它们是否为空。
我正在编写一个旋转 aws 键的脚本。
我想出了这个测试:
当我运行脚本时,它首先打印两个变量以确保它们具有值。但是当我运行测试以查看它们是否有值时,只有第一个变量会打印出来:
如何有效地测试变量 key1 和 key2 的内容以确保它们有内容?
这样做的原因是 AWS 用户可能有一个或两个密钥,并且可能因用户而异。
amazon-web-services - AWS API Gateway + Lambda:没有 Auth 标头 -> 错误消息;验证标头 -> 无响应
在采取集成 Cognito 的额外步骤之前,我正在尝试设置一个非常基本的 API。在 AWS 控制台中测试 API 端点可以正常工作。但是,我无法在 Postman 中工作。
在 API Gateway 中,我已将不带参数的端点连接到 Lambda 函数。Lambda 函数返回一个硬编码的静态 JavaScript 对象。单击此处的测试按钮按预期工作。
在 Method Execution 屏幕中,我选择了 AWS_IAM 进行授权,并且不需要 API 密钥。
在 IAM 中,我创建了一个名为postman
并附加了AmazonAPIGatewayInvokeFullAccess
策略的用户(目前涵盖所有 ExecuteAPI 资源)。
该 API 似乎已正确发布,因为当我尝试在没有授权标头的情况下访问它时它会抱怨。
但是当我使用AWS Signature
Authoriztion 类型并输入postman
AccessKey 和 SecretKey 时,我根本没有得到任何响应。
我正在尝试查找要调试的访问日志,但我是 AWS 的这一部分的新手,还没有找到任何东西……我错过了什么? 提前致谢。
amazon-web-services - S3 如何从 Lambda 触发器获得权限?
我正在制定使用 Lambda 的安全细节。我不知道的一件事是,当您从 Lambda 控制台或通过 S3 - 属性 - 事件添加触发器时,S3 如何获得推送到 Lambda 的权限。我知道它是如何使用 CLI 工作的,并且我知道您可以通过 SDK 来完成它,但我也注意到它并不总是必要的。大多数情况下,触发器只是“工作”而无需我添加任何权限。有人知道为什么吗?
有没有办法找出 S3/S3 存储桶有什么权限?我知道有一个“权限”选项卡,但这并没有给我任何信息。我也知道 Truster Advisor,但这只是告诉我权限没有明确的问题。我想知道我是否可以获得权限列表?
我希望有人可以帮助我,在此先感谢!
bash - 从 bash 数组读取变量时解析错误
我正在尝试使用 bash 数组来删除 AWS 用户密钥。
我将 AWS 访问密钥存储在一个数组中,并在一个循环中读出它们,然后尝试在另一个循环中删除它们。
读取变量的循环正确打印出来:
但是应该删除键的循环会弄乱数组的输出:
这是发生的错误:
调用 DeleteAccessKey 操作时发生错误 (ValidationError):accessKeyId 的指定值无效。它必须只包含字母数字字符。
这是我用来打印然后删除键的两个循环:
我究竟做错了什么?我怎样才能让它正常工作?
json - 创建单个 IAM 用户以仅访问特定的 S3 存储桶
我的 AWS 账户中有很多 S3 存储桶。但是现在我创建了一个 IAM 用户和一个新的 S3 存储桶,我想让这个用户能够使用 CyberDuck 之类的客户端访问新的 S3 存储桶。
我试图制定这么多政策。但在那之后,这个用户也获得了列出我所有其他存储桶的权限。如何授予对单个 S3 存储桶的列出和写入访问权限?
amazon-web-services - 在 eu-west-2 区域中使用 Terraform 时未自动创建 Elastic Beanstalk 实例配置文件
我正在使用 Terraform 成功启动一些 Elastic Beanstalk 应用程序(单 Docker 配置)并在应用程序/环境创建过程中启用自动缩放。
这在我尝试过的大多数地区都可以正常工作,但是当我尝试在伦敦(eu-west-2)启动它时出现错误:
我发现如果我手动将 aws-elasticbeanstalk-ec2-role 附加为 IamInstanceProfile 它工作正常 - 但这依赖于之前自动创建的角色......
eu-west-2 区域是否有某些情况意味着 Beanstalk 应用程序不会像在其他区域那样使用实例配置文件创建?
我错过了什么?
谢谢你的帮助!
amazon-web-services - AWS. How to set permisson PutObject for folder, but not on whole container?
Its about AWS-MediaStore service.
Try to add policy on user side:
And for container side:
But Post into Path1
tells me that Access Denied.
Is it possible to setup policy that can provide PutObject for User into defined folder?
java - 使用 IAM 身份验证和 Spring JDBC(DataSource 和 JdbcTemplace)访问 AWS RDS
我无法弄清楚如何实现这一点。任何帮助和/或指针将不胜感激。
目前,我的 Java/Spring 应用程序后端部署在EC2上,并使用常规 Spring JDBC 设置成功访问RDS 上的 MySQL 。也就是说,将数据库信息存储在@Configuration类中并进行application.properties
配置。一切正常。DataSource
JdbcTemplate
现在,我需要安全地访问 RDS 上的 MySQL 。RDS 实例启用了 IAM 身份验证。我还成功创建了IAM 角色并应用了内联策略。然后,按照此链接上的 AWS RDS 文档和 Java 示例,我可以使用Authentication Token和我创建的用户而不是常规的 db 用户名和密码成功地从独立的 Java 类访问数据库。这个独立的 Java 类直接处理“连接”对象。
我被卡住的地方是我如何将其转换为 Spring JDBC configuration。也就是说,在我的 @Configuration 类中为此设置DataSource
和bean。JdbcTemplate
什么是正确/正确的方法来实现这一点?
----- 编辑 - 开始 -----
我正在尝试将其实现为可用于多个项目的库。也就是说,它将用作 JAR 并在项目的 POM 文件中声明为依赖项。该库将包括可配置的 AWS 服务,例如使用通用数据库用户名和密码的 RDS 访问、使用 IAM 身份验证的 RDS 访问、用于数据加密的 KMS(CMK/数据密钥)等。
想法是根据项目在任何 web/app 服务器上使用这个库。
希望这能进一步阐明我的需求。
----- 编辑 - 结束 -----
DataSource 内部有 getConnection() 所以我基本上可以创建自己的 DataSource 实现来实现我想要的。但这是一个好方法吗?
就像是:
amazon-s3 - s3:putObject 的跨账户权限未按预期工作
我正在尝试使用S3 Document中提供的说明测试 s3 cross Account 权限。在文档示例中,账户 A 创建了对账户 B 根具有读取权限的存储桶策略。账户 B 创建了一个用户 Dave,并为他提供了对账户 A 存储桶的读取访问权限。
我已经尝试了上面的示例,它对我来说效果很好。但是当我尝试使用相同的示例进行写访问时,它对我不起作用。例如,在我在存储桶策略下创建的账户 A 中
在帐户 B 中,我创建了具有以下权限的用户 Dave
但是,当我尝试使用帐户 B 的用户 Dave 凭据放置对象时,我被拒绝访问。
这是预期的行为还是我错过了一些东西。