DynamoDB - 条件


在授予权限时,DynamoDB 允许通过带有条件键的详细 IAM 策略为其指定条件。这支持诸如访问特定项目和属性之类的设置。

注意- DynamoDB 不支持任何标签。

细节控制

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

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

您可以查看以下两个条件键示例 -

  • dynamodb:LeadingKeys - 它防止 ID 与分区键值匹配的用户访问项目。

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

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

预定义条件键

AWS 提供了一组适用于所有服务的预定义条件键。它们支持广泛的用途和检查用户和访问的详细信息。

注意- 条件键区分大小写。

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

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

  • dynamodb:Select - 它代表查询/扫描请求选择参数。它的值必须是 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。