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 − 它代表一个查询/扫描请求的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。