我正在尝试将 jboss 配置为使用AWS IAM 角色来访问 S3 和 SQS。我见过的所有文档都使用静态访问和密钥,而不是角色允许的动态密钥。
有没有关于这样做的文件?
我正在尝试将 jboss 配置为使用AWS IAM 角色来访问 S3 和 SQS。我见过的所有文档都使用静态访问和密钥,而不是角色允许的动态密钥。
有没有关于这样做的文件?
创建一个分配该角色的 EC2 实例。无论您在该实例中运行任何应用程序,都将能够访问 AWS 资源。
这样,您无需为应用程序中的安全性编写任何代码。
同样在您的代码中,当您将角色分配给 EC2 实例时,您无需提供任何凭证。
在 AWS 中,有两种方法可以使用 AWS IAM 向您的代码提供访问 AWS 资源(例如 S3 和 SQS)的权限。
如果您的代码在 EC2、Lambda 等 Amazon 计算服务中运行,建议创建一个 IAM 角色,该角色具有访问 S3 和 SQS 所需的策略,还允许计算服务(EC2、Lambda)担任该角色(使用信任关系)。将此角色附加到 EC2 或 Lambda 后,您可以直接使用 AWS SDK 访问 S3 和 SQS,而无需为 SDK 配置任何凭证或访问令牌。
有关更多信息,请参阅使用 IAM 角色向在 Amazon EC2 实例上运行的应用程序授予权限。
如果您的代码在 Amazon 基础设施的内部或外部运行,您需要创建一个具有所需策略的 IAM 用户,还需要创建访问密钥(访问密钥 ID 和秘密密钥)并初始化SDK 以允许访问 S3 或 SQS,如下所示。
var AWS = require('aws-sdk');
AWS.config.credentials = new AWS.Credentials({
accessKeyId: 'akid', secretAccessKey: 'secret'
});