如何在不设置访问密钥的情况下设置awscli&秘密访问密钥?

时间:2018-01-04 01:28:34

标签: aws-cli

我尝试使用IAM角色在本地找到集合aws-cli&不使用访问密钥/秘密访问密钥。但无法从元网址[http://169.256.169.256/latest/meta-data]获取信息。

我正在使用Ubuntu Server 16.04 LTS(HVM),SSD卷类型 - ami-f3e5aa9c运行Ec2实例。我试图在该实例上配置aws-cli。我不确定需要什么类型的角色/策略/用户在我的Ec2实例中配置aws-cli。

请为我提供一步一步的指导来实现这一点。我只需要指导。有用的链接也很感激。

2 个答案:

答案 0 :(得分:1)

要阅读实例元数据,您无需配置AWS CLI。在您的情况下,问题是您使用错误的URL来读取实例元数据。要使用的正确网址为http://169.254.169.254/。例如,如果要读取Instance的AMI id,可以使用follow命令。

curl http://169.254.169.254/latest/meta-data/ami-id

但是,如果您要在不使用访问/密钥的情况下配置AWS cli。请按照以下步骤操作。

  1. 创建IAM实例配置文件并将其附加到EC2实例

    • https://console.aws.amazon.com/iam/打开IAM控制台。
    • 在导航窗格中,选择“角色”,“创建角色”。
    • 在“选择角色类型”页面上,选择“EC2”和“EC2用例”。选择下一个:权限。
    • 在“附加权限”策略页面上,选择一个AWS托管策略 授予您的实例访问所需资源的权限。
    • 在Review页面上,键入角色的名称,然后选择Create role。
  2. 安装AWS CLI(Ubuntu)。

    • 如果尚未安装pip,请安装pip。

      `sudo apt-get install python-pip`
      
    • 安装AWS CLI。

      `pip install awscli --upgrade --user`
      
  3. 配置AWS CLI。保留AWS Access Key ID和AWS Secret Access 键为空白,因为我们想要使用角色。

          $ aws configure 
          AWS Access Key ID [None]: 
          AWS Secret Access Key [None]: 
          Default region name [None]: us-west-2 
          Default output format [None]: json 
    

    根据需要修改“区域”和“输出格式”值。

  4. 我希望这有助于你!

答案 1 :(得分:0)