efb*_*own 3 amazon-web-services amazon-iam amazon-athena
我有一个组,我想向其授予Athena 中一个数据库的权限,同时向同一组CreateTable
应用较少的权限,例如对所有数据库的权限。RunQuery
是否可以根据具体情况向 Athena 数据库应用权限?
例如,在下面的 IAM 策略中,我想赋予该组在测试数据库中创建和删除表的能力。
来自AWS文档:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"athena:RunQuery",
"athena:StartQueryExecution",
"athena:StopQueryExecution"
],
"Resource": [
"*" // Apply these permissions on all schemas
]
},
{
"Effect": "Allow",
"Action": [
"glue:CreateTable",
"glue:DeleteTable"
],
"Resource": [
"test" // Apply these permissions to only the test database
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
当您提出这个问题时,不可能向特定数据库和表授予权限,但现在可以了。
需要授予目录、数据库、表三个级别的权限(表权限、数据库权限只需要前两个)。
以下示例展示了如何向my_db
us-east-1 中账户 1234567890 中调用的数据库中的所有表授予创建、更新和删除权限:
{
"Effect": "Allow",
"Action": [
"glue:CreateTable",
"glue:UpdateTable",
"glue:DeleteTable"
],
"Resource": [
"arn:aws:glue:us-east-1:1234567890:catalog",
"arn:aws:glue:us-east-1:1234567890:database/my_db",
"arn:aws:glue:us-east-1:1234567890:table/my_db/*"
]
}
Run Code Online (Sandbox Code Playgroud)
可以对数据库名称或部分数据库名称使用通配符(例如,如果您想向具有特定前缀的所有数据库授予某些权限),表名称也可以使用通配符。
归档时间: |
|
查看次数: |
3524 次 |
最近记录: |