启动BOTO3客户端/资源的简单包装。
boto3auth的Python项目详细描述
Boto3auth
boto3auth是一个简单的(python 3)包装器,用于使用boto3启动客户机/资源。
安装
需要boto3。
pip install boto3auth
用法
importboto3authb3a=boto3auth.Boto3Auth(region,account_id,role,sts)
属性:
region
:aws区域(例如us-east-1
、ca-central-1
等)- 如果未设置,则默认为
us-east-1
。
- 如果未设置,则默认为
account_id
:aws帐号(如果担任角色)role
:aws iam角色(如果假设角色)sts
:boto3 sts凭据(如果假定为次要角色)
认证
b3a.auth(resource,type)
参数:
resource
:aws资源(例如ec2
、dynamodb
、sqs
等)type
:boto3会话类型(resource
或client
)
boto3auth将使用本地aws凭据(与aws-vault配合使用)。
importboto3auth# EC2 resource in us-east-1, with local credentials.b3a=boto3auth.Boto3Auth()resource=b3a.auth('ec2')# DynamoDB resource in us-west-2, with assumed role.b3a=boto3auth.Boto3Auth('us-west-2','123412341234','my-cool-role')resource=b3a.auth('dynamodb','resource')# EC2 client in ca-central-1 that requires two assumed roles.# e.g. Local -> Account #1 -> Account #2first=boto3auth.Boto3Auth('ca-central-1','123412341234','first-role')first.creds()# creds() runs sts.AssumeRole and sets result to self.sts.second=boto3auth.Boto3Auth('ca-central-1','456745674567','second-role',first.sts)client=second.auth('ec2','client')