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