Db2:如何仅向应用程序授予权限,而不是用户?

时间:2017-08-15 11:56:00

标签: security db2 ibm-cloud

我有一个需要访问我的Db2数据库的云应用程序。它需要对某些表进行读写访问。如何限制对特定应用和使用模式的访问?我不希望该用户标识在该上下文之外具有数据库访问权限。

2 个答案:

答案 0 :(得分:2)

Db2具有trusted contexts的安全功能。可信上下文描述数据库连接的属性。它由用户ID组成,可以包括应用程序的IP地址或主机名以及所需的连接安全级别,例如,SSL是否是必需的。

  1. 在云应用中,使用不具有任何Db2权限的用户标识(授权标识)。如果存在则撤销它们。
  2. 创建新的数据库角色。为该角色授予连接权限和所需的表权限。
  3. 来自1)的用户ID的
  4. Create a trusted context。提供应用程序的主机名,如果要强制执行SSL,请将encryption属性设置为值high。将角色分配为2)作为默认角色。
  5. 如果以可信上下文对象中定义的方式连接,则userid只能访问数据。有关SQL代码段和更多链接,请参阅此example on trusted contexts

答案 1 :(得分:-1)

你的应用程序(CloudFoundry或Kuberntes)和数据库都在Bluemix中吗?

在这种情况下,您可以将应用程序绑定到数据库,平台会将数据库凭据直接注入应用程序作为环境变量或某些CF build-pack(Liberty),甚至修改应用程序以添加配置。