0

さまざまな AWS サービスに対して、アクセス制御を保護するためにさまざまな IAM ユーザーが必要です。場合によっては、EC2 インスタンスの 1 つのプロジェクト内で異なる IAM ユーザー資格情報を使用する必要さえあります。これを管理する適切な方法と、これらの IAM ユーザー資格情報を単一の EC2 インスタンスにデプロイ/アタッチする方法を教えてください。

4

2 に答える 2

1

Amazon EC2 インスタンスで実行されているアプリケーションに資格情報を提供する通常の方法は、IAM ロールをインスタンスに割り当てることです。インスタンス メタデータを介して提供されるときにロールに関連付けられた一時的な資格情報。AWS SDK はこれらの認証情報を自動的に使用します。

ただし、これは 1 セットの資格情報に対してのみ機能します。複数の資格情報を使用する場合は、資格情報ファイルで資格情報を提供する必要があります。

AWS 認証情報ファイルには、次のような複数のプロファイルを含めることができます。

[default]
aws_access_key_id = AKIAaaaaa
aws_secret_access_key = abcdefg

[user2]
aws_access_key_id = AKIAbbbb
aws_secret_access_key = xyzzzy

便宜上、これは AWS CLI を介して設定することもできます。

$ aws configure --profile user2
AWS Access Key ID [None]: AKIAbbbb
AWS Secret Access Key [None]: xyzzy
Default region name [None]: us-east-1
Default output format [None]: text

使用するプロファイルは、環境変数を介して設定できます。

  • Linux:export AWS_PROFILE="user2"
  • ウィンドウズ:set AWS_PROFILE="user2"

または、SDK を介して AWS サービスを呼び出す場合は、使用するプロファイルを指定するだけです。Credentials — Boto 3 documentationからの Python の例を次に示します。

session = boto3.Session(profile_name='user2')
# Any clients created from this session will use credentials
# from the [user2] section of ~/.aws/credentials.
dev_s3_client = session.client('s3')

他の言語用の SDK にも同等の機能があります。

于 2018-06-18T08:36:23.940 に答える