DynamoDB - 条件

在授予权限时,DynamoDB允许通过带有条件键的详细IAM策略为它们指定条件.这支持访问特定项目和属性等设置.

注意 :  DynamoDB不支持任何标记.

详细控制

有几个条件允许特定于项目和属性,例如授予对特定项目的只读访问权限基于用户帐户.使用条件化IAM策略实现此级别的控制,该策略管理安全凭证.然后,只需将策略应用于所需的用户,组和角色. Web Identity Federation(后面讨论的主题)还提供了一种通过Amazon,Facebook和Google登录控制用户访问的方法.

IAM策略的条件元素实现访问控制.您只需将其添加到策略中即可.其使用示例包括拒绝或允许访问表项和属性. condition元素也可以使用条件键来限制权限.

你可以查看以下两个条件键的例子;

  • dynamodb:LeadingKeys : 它会阻止用户在没有ID匹配分区键值的情况下访问项目.

  • dynamodb:Attributes : 它阻止用户访问或操作列出的属性之外的属性.

在评估时,IAM策略会产生true或false值.如果任何部分的计算结果为false,则整个策略的计算结果为false,从而导致拒绝访问.请务必在条件键中指定所有必需信息,以确保用户具有适当的访问权限.

预定义条件键

AWS提供了一组预定义条件键,适用于所有服务.它们支持广泛的用途和审查用户和访问的细节.

注意 : 条件键中存在区分大小写.

您可以查看以下特定于服务的键的选择 :

  • dynamodb:LeadingKey : 它代表了表的第一个关键属性;分区键.在条件中使用ForAllValues修饰符.

  • dynamodb:选择 : 它表示查询/扫描请求选择参数.它的值必须是ALL_ATTRIBUTES,ALL_PROJECTED_ATTRIBUTES,SPECIFIC_ATTRIBUTES或COUNT.

  • dynamodb:Attributes : 它表示请求中的属性名称列表或从请求返回的属性.它的值和它们的函数类似于API动作参数,例如,BatchGetItem使用AttributesToGet.

  • dynamodb:ReturnValues : 它表示请求的ReturnValues参数,可以使用以下值:ALL_OLD,UPDATED_OLD,ALL_NEW,UPDATED_NEW和NONE.

  • dynamodb:ReturnConsumedCapacity : 它表示请求的ReturnConsumedCapacity参数,并且可以使用以下值:TOTAL和NONE.