是否可以将 dynamoDb 权限范围设置为仅具有某些前缀的 table?
Is it possible to setup dynamoDb permission scope to only table with some prefix?
假设我正在使用共享 aws 帐户。我想设置我的 table 前缀为 "x-team",例如:
- x-team_customer_order
- x-team_customer
另一个团队也有其他 table 具有不同的前缀命名方案。为了限制我们的应用范围,我们希望设置每个团队使用的不同凭证。
在此文档 http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ddb-api-permissions-ref.html
中,他们使用通配符 *,但没有说明可以将通配符用于 table 的前缀名称方案。
是的,这是可能的。
此策略将允许用户创建、读取、更新和删除以其用户名和下划线命名的表:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllAPIActionsOnUserSpecificTable",
"Effect": "Allow",
"Action": [
"dynamodb:*"
],
"Resource": "arn:aws:dynamodb:us-west-2:494057818753:table/${aws:username}_*"
},
{
"Sid": "AdditionalPrivileges",
"Effect": "Allow",
"Action": [
"dynamodb:ListTables",
"dynamodb:DescribeTable"
],
"Resource": "*"
}
]
}
这在 this example in the AWS DynamoDB documentation 的底部非常简短地提到了。
显然,如果您想使用与用户名不同的前缀,您可以这样做,您只需为每个要支持的前缀制定单独的策略。
假设我正在使用共享 aws 帐户。我想设置我的 table 前缀为 "x-team",例如:
- x-team_customer_order
- x-team_customer
另一个团队也有其他 table 具有不同的前缀命名方案。为了限制我们的应用范围,我们希望设置每个团队使用的不同凭证。
在此文档 http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ddb-api-permissions-ref.html
中,他们使用通配符 *,但没有说明可以将通配符用于 table 的前缀名称方案。
是的,这是可能的。
此策略将允许用户创建、读取、更新和删除以其用户名和下划线命名的表:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllAPIActionsOnUserSpecificTable",
"Effect": "Allow",
"Action": [
"dynamodb:*"
],
"Resource": "arn:aws:dynamodb:us-west-2:494057818753:table/${aws:username}_*"
},
{
"Sid": "AdditionalPrivileges",
"Effect": "Allow",
"Action": [
"dynamodb:ListTables",
"dynamodb:DescribeTable"
],
"Resource": "*"
}
]
}
这在 this example in the AWS DynamoDB documentation 的底部非常简短地提到了。
显然,如果您想使用与用户名不同的前缀,您可以这样做,您只需为每个要支持的前缀制定单独的策略。