A Code of Conduct for DBAs - Simple Talk
尽管 DBA 是组织知识的保护者,并且知道许多机密信息,但没有一套明确定义的规则和标准来帮助管理和指导他们的道德行为。Brad McGehee 在一篇基于他的书“如何成为杰出的 DBA”第二版中的一章的文章中讨论了 DBA 的行为准则。他就为什么需要这样的代码、它应该包含的主题类型以及如何执行提出建议。本文的大部分内容都与任何 IT 专业人员相关。
医生、律师、会计师、工程师、房地产经纪人和许多其他专业人士制定了旨在阻止不当行为和非法活动并促进其成员的道德行为的书面指导方针。事实上,根据萨班斯-奥克斯利法案,美国所有上市公司都必须制定并遵守自己的行为准则。
作为一名 DBA,如果您发现 组织内的
犯罪
行为,您 会怎么做?
然而,尽管 DBA 本质上是组织知识的保护者,并且知道许多机密信息,但没有一套明确定义的规则、价值观、标准和指导方针来帮助管理和指导他们的行为。
在本文中,我定义了行为准则是什么,解释了它如何对 DBA 和他们工作的组织有用,并考虑是否以及如何执行它。最后,我提出我对杰出 DBA 的“行为准则”的看法。我的目标不是规定性的,而是简单地向 DBA 提供建议,说明他们如何在其工作的专业职责范围内行事。
什么是行为准则?
一般来说,行为准则是一组具有相似目标、价值观和责任的人自愿遵守的正式的书面规则、政策、标准、准则、义务、行为、期望和原则。虽然存在其他定义,但这个定义足以满足我们的目的,因为我们寻求定义 DBA 在履行其专业职责时应遵守的行为标准。
注意:对于其他 IT 专业人士对此主题的不同观点,您可以浏览这些包含道德规范的网站:计算机协会 (ACM)或信息技术专业人士协会 (AITP)
行为准则如何对 DBA 有用?
对许多人来说,“行为准则”意味着一件事:更多规则。大多数 DBA,包括我自己在内,都会认为自己足够成熟,可以做出自己的决定和选择,并且自然而然地抵制有人告诉他们该做什么以及如何做的想法。
如果是这样,那我为什么要写这篇文章?嗯,首先,我的意图不是提供一组必须遵循的规则,而是提供一组对希望充分理解和理解其职责和责任的性质和范围的 DBA 有用的指导方针。换句话说,它旨在具有教育意义。
一个可悲的事实是,
许多组织
没有完全理解
和欣赏
DBA 的真正作用。
从根本上说,大多数 DBA 相信他们理解“合乎道德”的行为意味着什么。根据我的经验,故意疏忽或公然不道德的行为在我们的职业中相对较少。但是,在许多“灰色”领域中,DBA,尤其是经验不足的 DBA,会发现自己不确定自己的职责在哪里结束,以及他们应该如何准确应对潜在的妥协情况。
例如,如果作为 DBA,您发现组织内的犯罪行为,您会怎么做?希望您的回答是您会报告它。然而,你的职责就这样结束了吗?如果您工作的公司没有做出适当的回应怎么办?如果有的话,你应该采取什么进一步的行动?
一个可悲的事实是,许多组织没有完全理解和欣赏 DBA 的真正作用。在他们试图省钱的过程中,他们有时会偷工减料,这会直接影响数据的完整性,从而在不知不觉中将数据的监护人置于两难境地。如果您发现自己处于这种情况,那么希望此行为准则可以帮助您的组织相信 DBA 角色的重要性,以及雇用经验丰富的 DBA 来保护他们的业务数据的必要性。例如,如果您难以说服您的经理遵守影响您管理的数据的政府法规,那么请让经理参考本行为准则可能会有所帮助。
也许最重要的是,“卓越 DBA 的行为准则”可以让我们所有选择遵守它的人感到自豪,并让我们更有信心在工作中尽最大努力。
应如何实施和执行行为准则?
每当讨论“行为准则”的话题时,首先要问的问题之一是:如何执行?毕竟,如果没有以任何方式强制执行该代码,那么有人争论说,它对谁有利?对于如何执行这样的守则,或者即使它应该被执行,而不是自愿的问题,没有直接的答案。
一种建议是由独立的专业组织(例如 ACM、AITP 或 PASS)执行代码。任何不遵守既定行为准则的人都可能被撤销其组织成员资格。假设大多数企业将组织成员身份视为其招聘过程中的关键要求,那么理论上它可以证明是对不当行为的有效威慑。
同样,任何未能
遵守既定
准则的 DBA 都可能被
撤销其认证。
另一个建议是,提供 DBA 认证的组织(例如 Microsoft)应该执行一些行为准则。同样,任何未能遵守既定准则的 DBA 都可能被撤销其认证。显然,这仅对需要将认证作为其雇佣条款一部分的组织来说是一种有效的措施。另一方面,如果微软要尝试这样做,那么 Oracle 和 MySQL DBA 呢?他们是否需要与他们的认证相关的单独代码?
另一种选择是在每个组织的基础上强制执行 DBA 行为准则。毕竟,许多组织已经要求其雇主遵守“行为准则”,通常以员工手册的形式出现。这样的守则可以扩展为包含特定于 DBA 的行为。另一方面,如果一家公司为 DBA 制定了单独的行为准则,它是否也必须为其他职位制定不同的行为准则?同样,这不是一个很好的解决方案。
鉴于实施和执行 DBA 行为准则的诸多复杂性,我建议是否遵循这样的准则是代表个人 DBA 的个人选择。正如我之前提到的,我认为诸如代码之类的本质上主要是教育性的,遵循它的回报是成功的、有回报的、长期的和令人满意的 DBA 职业。对于那些选择不追随的人,好吧,谁知道他们的职业生涯会怎样呢?他们可能会很幸运并能长期生存,但我怀疑他们是否会落入 Exceptional DBA 类别。
卓越 DBA 的行为准则
本节包含我对应构成“卓越 DBA 行为准则”的核心项目的建议。我的重点是提供一般指导方针,以帮助任何 DBA 在其职业生涯中取得更大的成功。
我不会冒昧地暗示这些指南是理想的或详尽无遗的,但它们应该希望能够让您思考并作为您作为 DBA 角色的有用指南。
数据的保护和披露
- DBA 不得故意做任何导致组织数据损坏或丢失的事情。虽然这应该是显而易见的,但我将显而易见的内容包括在内,只是为了涵盖所有基础。
- 最重要的是,DBA 是组织数据的监护人或保护者。DBA 在这方面的职责包括但不限于:
- 防止数据损坏(来自应用程序、硬件和人员)。
- 提供组织策略定义的高数据可用性。根据组织的政策,制定并定期测试灾难恢复计划,以最大限度地减少意外停机时间。
- DBA 应采取一切合理的预防措施,以确保对生产服务器的更改不会产生不利后果。在部署到生产环境之前,所有提议的更改都应在测试服务器上进行彻底测试。
- DBA 应主动采取一切必要措施,确保数据只能由授权用户访问。这可能包括但不限于:SQL Server 安全、Windows 身份验证安全、加密、SQL 注入攻击预防、审核或其他此类安全策略,由其组织定义。
- DBA 通常可以完全访问数据库中的所有数据。这提出了两个重要的观点:
- DBA 仅在需要访问数据库以执行其工作职责时才应查看数据库中的数据。例如,DBA 可能需要访问数据以优化查询或创建报告。但是,如果 DBA 不需要访问和查看与工作相关的任务的数据,则 DBA 不应为了查看数据而窥探数据。
- 如果 DBA 在其规定的工作职责过程中确实查看了机密数据,则 DBA 不得与任何未经授权的用户共享任何敏感或机密信息。
- DBA应全面配合内外部审计,提供真实、真实的信息
- 如果 DBA 了解到承包商、同事或经理的选择不当,可能会对组织数据的完整性或安全性产生负面影响,则 DBA 应通知其组织内的适当人员。
- 如果 DBA 发现对组织数据的滥用,则 DBA 应将此行为报告给其组织内的适当人员。
- DBA 应该为他或她负责的所有服务器和进程维护适当和完整的文档。文档的格式和标准应允许合格的同行在 DBA 不在的情况下承担任务。如果需要,DBA 绝不应向其组织保护(隐藏)会阻止其他人轻松接管其职位的信息。
DBA 和法律
- 通常,DBA 管理的数据受一个或多个管理机构的法律和法规的约束。DBA 应熟悉并遵守这些法律法规。
- DBA 应执行与供应商的所有软件许可协议,并在发现任何漏洞时通知组织中的适当人员。
- 如果 DBA 发现其组织内的非法活动,DBA 应通知其组织中的适当人员或适当的执法机构。
与第三方打交道
- 如果礼物或好处的目的是影响或奖励 DBA 从供应商处购买商品和服务的选择,则 DBA 不得接受供应商的礼物或好处。进一步来说:
- DBA 应主动了解其组织有关礼物的政策,以便他们知道他们可以接受或不能接受什么。例如,公司政策可能允许供应商带 DBA 去吃饭,或者在会议或用户组会议上接受免费礼物。另一方面,组织的政策可能会将礼物的金额限制为最大值,例如 50.00 美元。
- 接受礼物,即使组织允许,也不应该影响 DBA 在潜在购买供应商产品和服务方面的行为。
- 每当 DBA 购买或影响购买商品或服务时,DBA 应该只购买那些商品或服务,因为它们最能满足组织的需求。
一般行为
- DBA 应在与他们日常打交道的人(包括经理、同事、供应商和他们的“内部客户”)的所有关系中以专业的方式行事。应避免任何形式的偏袒和歧视。
- 如果一个 DBA 犯了一个错误,而所有 DBA 有时都犯了一个错误,则应尽快修复该错误,并且 DBA 应尽快通知可能受到该错误负面影响的每个人。此外:
- 错误永远不应该被掩盖。
- DBA 应对他们的所有决定承担全部责任。
- 如果 DBA 负有管理职责,则 DBA 应该指导那些需要帮助以实现其目标的人,并让那些有经验和热情的人在他或她为他们提供的环境中取得成功和蓬勃发展。
- DBA 将尽其所能,开发和实施最佳实践,以帮助确保组织数据库的顺利和成功运行。
- IT 技术变化很快。DBA 有责任主动跟上直接影响其工作的所有技术领域。
- 如果 DBA 已同意他们所负责的服务器的 SLA(服务级别协议),那么他们将遵守这些协议。如果他们在技术上不能遵守商定的 SLA(无论出于何种原因),DBA 需要联系 SLA 所有者并找出解决问题的方法。
- 有时,DBA 可能会发现没有关于其职责的特定方面的既定政策。例如,一个组织可能没有定义所需正常运行时间级别或定义谁可以访问哪些数据的策略。在应建立政策(以确保组织数据的保护和完整性)但尚未建立的领域,DBA 应主动识别需要的领域,提出建议,并将其提交给组织的管理层,以便他们能够做出适当的决定。
不可能提供建议来指导 DBA 完成其作为 DBA 的职责和责任的各个方面,并且存在许多“灰色地带”。当 DBA 将可能对组织数据产生负面影响的重要问题通知适当的人员,但未采取任何措施纠正该问题时,他们会怎么做?在发现组织内的非法活动方面,DBA 的责任在哪里结束?当成本削减措施意味着他们无法完全遵守自己的行为准则时,DBA 会怎么做?对于任何员工来说,这些都是难题,而不仅仅是 DBA。
如果您作为 DBA 感到“有压力”去做一些让您不舒服的事情,那么我能给出的最佳建议就是与人交谈。在大多数情况下,第一步是告诉你的经理、同事、项目经理或任何造成问题的人,你对他们的要求、作为或不作为感到不舒服,并解释原因。如果他们不想听,您的下一个选择是将问题上报给他们的经理。您可能会或可能不会获得针对您的案件的管理支持。如果没有,那么你必须决定“屈服”,或者找另一份工作。
关键是DBA需要保持冷静,不要轻举妄动。在做出可能会损害您的职业生涯的重要决定之前,请与您信任的人讨论这个问题,以获得他们的反馈和意见。只有在您清楚而深思熟虑地考虑了您的选择的后果后才采取行动。这可能意味着保持沉默,不惹麻烦,将问题升级到更高级别的管理人员,向执法机构报告犯罪行为,或寻找新工作。
概括
我提出“杰出 DBA 行为准则”的目的是为那些想要了解更多关于如何成为杰出 DBA 的 DBA 提供建议和指导。代码是完整的还是完美的?当然不是。将其视为一份有效的教育文件;它当然不是要成为每个 DBA 必须始终遵循的绝对规则集。
我希望它可以为那些希望在“灰色地带”中航行的 DBA 提供有用的指南,并为所有有志成为杰出 DBA 的人打下基础。