我想知道是否有可能保护一种类型,以便只有具有特定凭据的用户/服务帐户才能访问它。
举个例子,我想有一个善良的用户,它将在同一项目下的不同环境中使用。
我认为要做的是:
- user-dev - 仅在具有开发凭据的开发环境中使用
- user-uat - 仅在具有 UAT 凭据的 UAT 环境中使用
- user-prod - 仅用于具有 prod 凭据的产品环境
如果不可能,还有什么替代方案。
Sebastien解决方案的替代方案是在Google can控制台中为每个实体创建一个单独的项目。
配置更多一点,但为您提供更好的安全模型,而无需创建附加层。
在我的示例中,我创建了项目:
- project_name开发存储 + 实体 + 服务帐户
- project_name-uat-storage + 实体 + 服务帐户
- project_name-生产-存储 + 实体 + 服务帐户
另一种方法是
将实体用户保存在不同的命名空间下。在您的情况下,您将拥有 3 个命名空间:
- com.yoursite.dev
- com.yoursite.uat
- com.yoursite.prod
然后,根据部署应用程序的环境,使用相应的命名空间(取自环境变量)实例化数据存储。