在具有任何 AWS api

时间:2021-02-25 06:38:52

标签: windows amazon-ec2 packer

我在尝试从 Packer 提供的 AMI 访问 S3 或 SSM 时收到错误“awsAccessKey value is null”。我正在使用内联 Powershell 配置器。内联代码调用了一个 ps1 文件,我尝试在其中从 S3 下载或访问 SSM。 EC2 上的 IAM 角色具有正确的权限。

    {
      "type"              : "Powershell",
      "inline"           :[
         "c:\\temp\\runPs.ps1"
      ]
    }

runPs.ps1: $value = (Get-SSMParameterValue -Name $SSMpath).Parameters[0].Value;

尝试运行运行 S3 下载到 AMI 实例的 Shell 配置程序并收到此错误:致命错误:无法找到凭据

    {
      "type"              : "windows-shell",
      "inline"           :[
         "aws s3 cp s3://bucket/folder/file.txt C:/Temp/file.txt"
      ]
    }

我假设 PS 将按照构建器中的指定在 EC2 本身上承担 IAM 角色。

--- 更多测试

我向构建器添加了一个“assume_role”参数,如下所示:“assume_role”:{“role_arn”:“arn:aws:iam::accountid:role/{{user aws_iam_instance_profile}}”}。

我仍然遇到同样的错误: System.InvalidOperationException:值不能为空。参数名称:awsAccessKeyId,System.ArgumentNullException:值不能为空。 ——

0 个答案:

没有答案