如何运行MFA生成的缓存s3会话

2024-04-28 03:35:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写python脚本来访问s3对象。 我能够访问s3(使用假定角色,在我的帐户上启用boto3和MFA)

我的问题是每次运行脚本时是否需要输入MFA令牌?是否可以在选定的持续时间内缓存会话,并在第二次运行脚本时使用

目前,我已经在测试套件中创建了一个setup类

import unittest
import boto3


class TestS3Buckets():

    s3 = None


@classmethod
    def setUpClass(cls):
        credentials = get_role_credentials(
            "arn:aws:iam::123456:role/admin-assume",
            "test-env",
            "arn:aws:iam::111111111:mfa/test@test.com",
            "MFA token"
            )
        session = boto3.Session(
            aws_access_key_id=credentials["Credentials"]["AccessKeyId"],
            aws_secret_access_key=credentials["Credentials"]["SecretAccessKey"],
            aws_session_token=credentials["Credentials"]["SessionToken"]
        )
        cls.s3 = session.client('s3')

是否有一种方法可以在第二次运行脚本时忽略MFA令牌

任何帮助都将不胜感激

谢谢


Tags: testimport脚本tokenmfaawss3session