私の環境に何か不具合があるか、この機能が壊れています。ある時点ではblogに従っていたようです。boto3キャッシュセッショントークンが動作しません
私のやりたいことは、スクリプトを実行することです.MFAを入力してください。キャッシュされたセッショントークンを使用してMFAに入らずにもう一度実行することができます。私が見てきた
サンプルは以下のとおりです。
session = boto3.Session(profile_name='w2-cf3')
ec2_client = session.client('ec2',region_name='us-west-2')
私はその後、私のMFAを入力するよう求めています:
Enter MFA code:
私はそれと私のコードの実行を入力してください。この時点で、私のセッショントークンはキャッシュされるべきです、それはawscliで動作する方法です。しかし、セカンドラン、代わりにこのプロファイルのための私のキャッシュされたセッションで読み取る、boto3無視し、自分のMFAのために再び私を促し上:
:Enter MFA code:
ここに私の〜/ .aws/configファイルは次のようになります。
[default]
aws_access_key_id=<access key>
aws_secret_access_key=<secret key>
期待
:
[profile default]
region = us-west-2
output = json
[profile w2-cf3]
region = us-west-2
source_profile = default
role_arn = arn:aws:iam::<accountid>:role/<role>
mfa_serial = arn:aws:iam::<accountid>:mfa/<user>
は、ここに私の〜/ .aws /資格証明書ファイルは次のようになります。私は私が私のスクリプトを実行して二回目は、それがawscliでないようにキャッシュされたセッショントークンを利用するだろうであると予想しました。 AWSが提供するセッショントークンは1時間続きます。