Python AWS Boto3 SAML认证

2024-10-04 15:19:38 发布

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

嗨,我正在尝试找到所有AWSEC2实例,端口22 0.0.0.0/0打开。我有下面的代码,但一直遇到下面的身份验证处理错误。好像是博托认不出是我认证的。我一直在四处寻找,但找不到如何处理这个错误。关于如何处理下面的错误有什么想法吗?在

import sys
import boto
from boto import ec2
from boto import sns
import os
import boto3


# Call the saml API Key Retreiver - Must be stored in C:\Temp
os.system('"C:/Temp/apikeyretriever_windows_386.exe"')

# Set Profile to SAML
session = boto3.session.Session(profile_name='saml')



connection = ec2.connect_to_region("us-east-1")
connSNS = boto.sns.connect_to_region("us-east-1")
sg = connection.get_all_security_groups('us-east-1')

listOfInstances = ""
messages = "Following Instances have port 22 open"


def getTag(instanceId):
    reservations = connection.get_all_instances(filters={'instance_id': instanceId})
    for r in reservations:
        for i in r.instances:
            return i.tags['Name']


try:

    for securityGroup in sg:
        for rule in securityGroup.rules:

            global instanceId;

            if (rule.from_port == '22' and rule.to_port == '22') and '0.0.0.0/0' in str(rule.grants):
                for instanceid in securityGroup.instances():
                    listOfInstances += "Instance Name : " + getTag(instanceId.split(':')[
                                                                       1]) + "\t State:" + instanceid.state + "\t SecurityGroup:" + securityGroup.name + "\n"

                    connSNS.publish(topic='sns-arn-endpoint', message=messages + "\n" + listOfInstances,
                                    subject='ProjectName : Server List with Port 22 Open')

except:
    print('Some Error occurred : ')
    print
    sys.exc_info()
    connSNS.publish(topic='sns-arn-endpoint', message=sys.exc_info(), subject='script ended with error')

错误消息:

^{pr2}$

Tags: toinfromimportfor错误sysconnection
1条回答
网友
1楼 · 发布于 2024-10-04 15:19:38

您从堆栈跟踪中得到的错误消息看起来好像您的脚本找不到STS令牌,我假设这是apikeyretriever_windows_386.exe应该为您创建和保存的,以便在AWS Credentials/Config文件中名为“saml”的配置文件下登录到API。在

相关问题 更多 >

    热门问题