gpt4 book ai didi

java - 如何管理 EC2 实例配置文件的权限?

转载 作者:行者123 更新时间:2023-11-30 07:51:24 24 4
gpt4 key购买 nike

在 EC2 上部署 java 应用程序时,我可以使用

new ProfileCredentialsProvider()

注入(inject)一些实例凭证。但它会是哪个 IAM 用户?我如何管理该用户的权限?例如限制他对某些特定 S3 存储桶的权限

最佳答案

关于 EC2 实例配置文件,标记 B 100% 正确。撇开 - Java ProfileCredentialsProvider指的是 AWS SDK 和 AWS CLI 可用的凭证配置文件,而不是 EC2 实例配置文件。来自其文档:

Credentials provider based on AWS configuration profiles. This provider vends AWSCredentials from the profile configuration file for the default profile, or for a specific, named profile.

AWS credential profiles allow you to share multiple sets of AWS security credentials between different tools like the AWS SDK for Java and the AWS CLI.

这对于部署到 EC2 是不可取的,因为这意味着您必须将配置文件存储在 EC2 实例上。根据 Mark B 的回答,EC2 实例配置文件更适合将凭据传递给 EC2 上的应用程序。

为了能够在不进一步更改代码的情况下检索任何一个,只需使用 DefaultAWSCredentialsProviderChain (注意:renamed DefaultCredentialsProvider in AWS SDK for Java v2),它将通过多个凭证方案,直到它在您的系统上找到一个有效的凭证方案。根据文档,它按以下顺序查找凭据:

  1. Java System Properties - aws.accessKeyId and aws.secretKey

  2. Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY

  3. Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI

  4. Credentials delivered through the Amazon EC2 container service if AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" environment variable is set and security manager has permission to access the variable.

  5. Instance profile credentials delivered through the Amazon EC2 metadata service

这将允许您在本地开发环境中查找凭证配置文件,并在生产 EC2 环境中查找 EC2 实例配置文件。

延伸阅读

关于java - 如何管理 EC2 实例配置文件的权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47139105/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com