laravel-vapor-role 无权执行:cognito-idp:AdminGetUser 在资源上:arn:aws:cognito-idp:us-east-1:xxxx:userpool/us-east-1_xxxx
这意味着该laravel-vapor-role
角色没有附加合适的策略来为其提供执行cognito-idp:AdminGetUser
操作的权限。
您可以通过 2 种方式解决此问题:
- 将 AWS 托管
AmazonCognitoReadOnly
策略分配给角色
- 向角色添加内联策略,符合授予最低权限的安全最佳实践
如果您预计稍后将需要更多只读权限,则将 AWS 托管AmazonCognitoReadOnly
策略分配给角色会更容易、更好。
它将提供对您的身份池和用户池的只读访问权限,包括以下cognito-idp:AdminGetUser
权限(此处cognito-idp:Get*
的文档,此处的直接策略链接):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cognito-identity:Describe*",
"cognito-identity:Get*",
"cognito-identity:List*",
"cognito-idp:Describe*",
"cognito-idp:AdminGet*",
"cognito-idp:AdminList*",
"cognito-idp:List*",
"cognito-idp:Get*",
"cognito-sync:Describe*",
"cognito-sync:Get*",
"cognito-sync:List*",
"iam:ListOpenIdConnectProviders",
"iam:ListRoles",
"sns:ListPlatformApplications"
],
"Resource": "*"
}
]
}
如果您只需要 的单一权限cognito-idp:AdminGetUser
,则创建内联策略并将其分配给仅授予特定 Cognito 用户池该权限的角色。
下面的图像应该是不言自明的: