我正在尝试从 AWS Lambda 函数访问参数存储中的参数。根据文档,我需要GetParameter权限,但似乎找不到它。
The AWS Identity and Access Management (IAM) role used to run the function must have the following permissions to interact with Parameter Store:
ssm:GetParameter – Required to retrieve parameters from Parameter Store
我转到 IAM > 角色并选择角色。点击“添加权限-附加策略”,然后搜索“getparameter”,没有找到任何内容。
问题在于 ssm:GetParameter 是特定权限而不是独立策略(策略具有一个或多个权限,具有允许或拒绝效果)。这意味着您在“附加策略”界面中搜索 AWS 托管策略时将无法直接找到它。这是解决此问题的分步指南:
为角色创建自定义内联策略,以将 ssm:GetParameter 显式授予与您的 Lambda 函数关联的 IAM 角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ssm:GetParameter",
"Resource": "arn:aws:ssm:REGION:ACCOUNT_ID:parameter/YOUR_PARAMETER_NAME"
}
]
}
或者,如果您想添加 AWS 预定义策略,您可以搜索 AmazonSSMReadOnlyAccess 托管策略并添加它