人们如何在相同的Oracle DB模式中进行协作?

发布于 2025-02-11 02:00:49 字数 621 浏览 2 评论 0原文

我们是一支由数十个数据分析师组成的团队。我们的主要数据后端是Oracle数据库。我们使用个人模式来完成不需要与他人合作的工作,我们想制作专门针对人们需要协作的项目的模式。

问题在于,在Oracle中,一个架构等效于一个DB用户。如果我们创建一个专门针对项目的模式,目的是在该项目的上下文中创建数据库对象,则将有一组凭据(用户名 +密码)由所有团队成员共享。这有两种不便:

  • 如果人们误认为凭据,他们可以阻止所有人的帐户;
  • 由于每个人都使用相同的架构,因此不再有可能监视谁出于安全/审计原因执行的操作。

另一种选择是,只有一个人使用架构用户来创建对象并将特权分配给这些对象中的其他人,但这可能会很快变得笨拙。

另一种选择是通过R或Python与DB进行交互,但这意味着凭据将存储在某些文本文件中,这对安全性不利。

如我们所见,理想的情况是,如果多个个人数据库用户可以在同一模式中创建对象,以及这些对象是否可以自动用于该集合的数据库用户。这在甲骨文中是完全不可能的吗?这在任何主要DB中都不可能吗?这项要求是否有缺陷,因此,有充分的理由是为什么它不可用?

我们可以将DB模式中的这种合作与使用R,Python或其他编程语言进行数据分析的人们在文件夹中的通常发生的情况进行比较。

谢谢您的建议!

We are a team of tens of data analysts. Our main data back-end is an Oracle database. We use personal schemas to do work where we don't need to collaborate with others and we would like to create schemas dedicated to projects where people need to collaborate.

The problem is that in Oracle, one schema is equivalent to one DB user. If we create a schema dedicated to a project, for the purpose of creating DB objects in the context of that project, there will be a single set of credentials (username + password) that needs to be shared by all team members. This has two inconveniences:

  • if people mistype the credentials, they can block the account for everyone;
  • it is no longer possible to monitor who did what for security/audit reasons, since everyone uses the same schema;

An alternative would be that only one person uses the Schema user to create objects and assigns privileges to other people in those objects, but that can become quickly cumbersome.

Another alternative is to interact with the DB through R or Python but that means the credentials will be stored in some text file, which is bad for security.

As we see it, the ideal situation is if multiple personal DB users can create objects in the same schema, and if those objects are automatically available for that set of DB users. Is this totally impossible in Oracle? Is this impossible in any major DB? Is this requirement somehow flawed and as such, there is a good reason for why it is not available?

We could compare this collaboration in a DB schema to what commonly happens with people collaborating in a folder, using R, Python or other programming language for data analytics.

Thank you for your advise!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无声情话 2025-02-18 02:00:49

也许我想念一些东西,但您不仅可以创建一个将用于所有用户并授予每个用户所需的特权的模式吗?
每个用户都使用其本地帐户进行身份验证,默认情况下使用他的本地架构并访问公共帐户,您只需使用alter会话set current_schema命令。

Maybe I miss something but could you not just create a schema that will be used for all users and grant the required privileges to each individual user?
Each user authenticates with his local account and by default uses his local schema and to access the public one you just use the ALTER SESSION SET CURRENT_SCHEMA command.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文