需要以下权限:
-
若要使用 PartiQL for DynamoDB 读取项目,您必须具有表或索引的
dynamodb:PartiQLSelect
权限。 -
若要使用 PartiQL for DynamoDB 插入项目,您必须具有表或索引的
dynamodb:PartiQLInsert
权限。 -
若要使用 PartiQL for DynamoDB 更新项目,您必须具有表或索引的
dynamodb:PartiQLUpdate
权限。 -
若要使用 PartiQL for DynamoDB 删除项目,您必须具有表或索引的
dynamodb:PartiQLDelete
权限。
示例:允许表上所有 PartiQL for DynamoDB 语句 (Select/Insert/Update/Delete)
下面的 IAM policy 授予对表运行所有 PartiQL for DynamoDB 语句的权限。
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"dynamodb:PartiQLInsert",
"dynamodb:PartiQLUpdate",
"dynamodb:PartiQLDelete",
"dynamodb:PartiQLSelect"
],
"Resource":[
"arn:aws:dynamodb:us-west-2:123456789012:table/Music"
]
}
]
}
示例:允许表上的 PartiQL for DynamoDB select 语句
下面的 IAM policy 授予在特定表运行 select
语句的权限。
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"dynamodb:PartiQLSelect"
],
"Resource":[
"arn:aws:dynamodb:us-west-2:123456789012:table/Music"
]
}
]
}
示例:允许在索引上运行 PartiQL for DynamoDB insert 语句
下面的 IAM policy 授予在特定索引运行 insert
语句的权限。
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"dynamodb:PartiQLInsert"
],
"Resource":[
"arn:aws:dynamodb:us-west-2:123456789012:table/Music/index/index1"
]
}
]
}
示例:仅允许表上运行 PartiQL for DynamoDB 语句
下面的 IAM policy 授予在特定表运行事务语句的权限。
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"dynamodb:PartiQLInsert",
"dynamodb:PartiQLUpdate",
"dynamodb:PartiQLDelete",
"dynamodb:PartiQLSelect"
],
"Resource":[
"arn:aws:dynamodb:us-west-2:123456789012:table/Music"
],
"Condition":{
"StringEquals":{
"dynamodb:EnclosingOperation":[
"ExecuteTransaction"
]
}
}
}
]
}
示例:允许运行 PartiQL for DynamoDB 非事务性读取和写入,阻止表上的 PartiQL 事务性读取和写入事务性语句。
下面的 IAM policy 授予运行 PartiQL for DynamoDB 非事务性读取和写入的权限,同时阻止 PartiQL for DynamoDB 事务性读取和写入。
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Deny",
"Action":[
"dynamodb:PartiQLInsert",
"dynamodb:PartiQLUpdate",
"dynamodb:PartiQLDelete",
"dynamodb:PartiQLSelect"
],
"Resource":[
"arn:aws:dynamodb:us-west-2:123456789012:table/Music"
],
"Condition":{
"StringEquals":{
"dynamodb:EnclosingOperation":[
"ExecuteTransaction"
]
}
}
},
{
"Effect":"Allow",
"Action":[
"dynamodb:PartiQLInsert",
"dynamodb:PartiQLUpdate",
"dynamodb:PartiQLDelete",
"dynamodb:PartiQLSelect"
],
"Resource":[
"arn:aws:dynamodb:us-west-2:123456789012:table/Music"
]
}
]
}
示例:允许 Select 语句并拒绝 PartiQL for DynamoDB 的完整表扫描语句
下面的 IAM policy 授予在特定表运行 select
语句的权限,同时阻止会导致完整表扫描的 select
语句。
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Deny",
"Action":[
"dynamodb:PartiQLSelect"
],
"Resource":[
"arn:aws:dynamodb:us-west-2:123456789012:table/WatchList"
],
"Condition":{
"Bool":{
"dynamodb:FullTableScan":[
"true"
]
}
}
},
{
"Effect":"Allow",
"Action":[
"dynamodb:PartiQLSelect"
],
"Resource":[
"arn:aws:dynamodb:us-west-2:123456789012:table/WatchList"
]
}
]
}