【问题标题】:What parameters to put in keypair instance in boto python?在 boto python 中将哪些参数放入密钥对实例中?
【发布时间】:2017-10-17 10:39:06
【问题描述】:

我正在尝试创建一个 keyPair 实例,这就是我所拥有的。我会在 create_key_pair 函数的参数中添加什么?我认为这将是关键,但它给了我一个错误,说我未经授权执行此操作。任何帮助将不胜感激!

#establish connection to the region
conn = boto.ec2.connect_to_region('us-east-1', aws_access_key_id= aws_access_key_id, aws_secret_access_key = aws_secret_access_key )


#create the key pair
response = conn.create_key_pair(aws_secret_access_key, False)

【问题讨论】:

    标签: python amazon-web-services boto key-pair


    【解决方案1】:

    您需要以下权限才能创建 EC2 密钥对:

    ec2:DescribeKeyPairs (to select a key pair)
    ec2:CreateKeyPair (to create a key pair)
    

    创建密钥对的示例(boto3):

        import boto3
        ec2 = boto3.client('ec2', region_name='us-east-1', aws_access_key_id='<access_key>',
    aws_secret_access_key='<secret_key>')
        key = ec2.create_key_pair(KeyName='MY_KEY_PAIR_NAME')
        print(key)
    

    OR (boto):

        import boto.ec2
        conn = boto.ec2.connect_to_region('us-east-1',
                                          aws_access_key_id='<access_key>',
                                          aws_secret_access_key='<secret_key>')
        key = ec2.create_key_pair('MY_KEY_PAIR_NAME')
        print key
    

    【讨论】:

    • MY_KEY_PAIR_NAME 是我们给它的任意名称吗?
    • 是的,替换为您的密钥对名称。这是 EC2 控制台中显示的名称。
    • 不幸的是,它仍然无法正常工作。我收到以下错误:boto.exception.EC2ResponseError: EC2ResponseError: 403 Forbidden UnauthorizedOperation您无权执行此操作。72a49944-48dc-4707-9b4d-5b12b767a1cd
    • 这意味着您提供的凭据有误(错字)或无权创建密钥对。你的访问密钥是从哪里来的?创建访问密钥的用户附加了什么策略?您将在 Amazon IAM 控制台中找到这些详细信息。使用这些详细信息更新您的问题。注意:不要在您的问题中包含您的访问密钥。建议,转到 IAM 控制台并创建一组新的密钥并尝试这些。确保用户的策略授予 EC2 权限。
    • 是的!重新生成密钥有效!感谢您的帮助。
    猜你喜欢
    • 2013-07-18
    • 2013-06-02
    • 2021-12-23
    • 2014-02-13
    • 2012-11-14
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    相关资源
    最近更新 更多