windows - 在使用任何 AWS api 在 Packer AMI 上运行 Powershell Provisionner 时,awsAccessKeyID 值为 null 错误
问题描述
尝试从 Packer 提供的 AMI 访问 S3 或 SSM 时,我收到错误“awsAccessKey value is null”。我正在使用内联 Powershell 配置程序。内联代码调用我尝试从 S3 下载或访问 SSM 的 ps1 文件。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: Value cannot be null。参数名称:awsAccessKeyId、System.ArgumentNullException:值不能为空。——</p>
解决方案
推荐阅读
- null - Flutter/Firestore - 即使在空检查之后,FutureBuilder 也会导致 NoSuchMethodError
- c++ - QScopedPointer实现中sizeof的使用
- javascript - javascript中的对象转换数组
- c# - ajax 调用首先失败 2 次,然后从第 3 次返回成功
- c# - 我的 ASP 控件 ID 没有出现在页面后面的代码中 (C#) 如何解决这个错误?
- ionic-framework - 如何在ionic3中使用firebase登录谷歌后重定向到主页
- kubernetes - 空地址 kubernetes 入口
- javascript - JavaScript - 为什么可以在 ElectronJs 的浏览器脚本标签中使用 require 函数?
- java - 如果字符串的长度更长,如何添加空格
- mysql - 如何对数据进行分组?