问题描述
我们正在尝试(使用AWS CLI)授予用户对AWS Lake Formation中数据库中所有表具有SELECT权限的权限。
基于文档; Lake Formation Permissions Reference和Granting Table Permissions
我们尝试了以下命令:
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::000000000000:user/spongebob --permissions "SELECT" --permissions-with-grant-option "SELECT" --resource '{ ""Table"": { ""DatabaseName"": ""somedatabase"",""TableWildcard"": {} } }'
哪个返回以下错误:
Parameter validation Failed: Missing required parameter in Resource.Table: "Name" UnkNown parameter in Resource.Table: "TableWildcard",must be one of: DatabaseName,Name
我们尝试了命令的一些变体(尽管文档确实说这需要是一个空字典),但我们得出的结论是,它必须与执行时调用的API版本有关命令。
任何人都可以确认这是API版本问题,还是我们错过的文档(上面链接)中缺少某些内容。
欢呼
解决方法
绝对是版本不匹配。由于older boto3 version in lambda,也遇到了同样的错误。
更新aws cli并重试:
sudo pip3 install awscli --force-reinstall --upgrade