可以参考以下示例代码来解决此问题:
首先,确保 IAM User 或 Role 具有正确的权限,以便访问 Parameter Store 中的参数。以下是一个示例 IAM 策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:GetParameters",
"ssm:GetParameter"
],
"Resource": [
"arn:aws:ssm:*:*:parameter/*"
]
}
]
}
请注意,这个 policy 允许用户或 Role 访问所有 Parameter Store 参数。
接下来,确保您正在使用正确的参数路径。有时候,IAM Permissions 无法正常工作,可能是因为路径拼写错误。如果您的路径类似于“/my-app/test/param”,则必须在 IAM policy 中添加以下内容:
{
"Effect": "Allow",
"Action": [
"ssm:GetParameters",
"ssm:GetParameter"
],
"Resource": [
"arn:aws:ssm:*:*:parameter/my-app/test/param"
]
}
最后,确保您的 EC2 实例或 ECS Task 具有正确的 IAM Role,并且与 IAM policy 匹配。如果没有正确设置 IAM Role 和 policy,则 Parameter Store 访问将失败。
希望这个解决方法对您有所帮助!