

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 数据库安全
<a name="r_Database_objects"></a>

您可以通过控制哪些用户可以访问哪些数据库对象来管理数据库安全。可以为用户分配角色或组，授予给用户、角色或组的权限决定了他们可以访问哪些数据库对象。

**Topics**
+ [Amazon Redshift 安全性概览](c_security-overview.md)
+ [默认数据库用户权限](r_Privileges.md)
+ [superuser](r_superusers.md)
+ [用户](r_Users.md)
+ [组](r_Groups.md)
+ [Schemas](r_Schemas_and_tables.md)
+ [基于角色的访问控制 (RBAC)](t_Roles.md)
+ [行级别安全性](t_rls.md)
+ [元数据安全性](t_metadata_security.md)
+ [动态数据掩蔽](t_ddm.md)
+ [限定范围权限](t_scoped-permissions.md)

对数据库对象的访问权限取决于您向用户或角色授予的权限。以下指南概括了数据库安全的工作方式：
+ 默认情况下，仅向对象拥有者授予权限。
+ Amazon Redshift 数据库用户是可连接到数据库的指定用户。可通过两种方式向用户授予权限：显式（直接将这些权限分配给账户），或隐式（成为被授予权限的组的成员）。
+ 组是可集体分配权限的用户集合，更简化安全维护。
+ Schemas 是数据库表和其他数据库对象的集合。架构类似于文件系统目录，但架构不能嵌套。可以向用户授予对单个 schema 或多个 schemas 的访问权限。

此外，Amazon Redshift 还采用了以下功能，让您可以更好地控制哪些用户可以访问哪些数据库对象：
+  通过基于角色的访问控制 (RBAC)，您可以向角色分配权限，然后将角色应用到用户，这样就可以控制大批用户的权限。与组不同，角色可以继承其他角色的权限。

  通过行级别安全性 (RLS)，您可以定义策略来限制对所选行的访问，然后将这些策略应用于用户或组。

   动态数据掩蔽 (DDM) 会在查询运行时转换数据，这样您就可以允许用户访问数据而不暴露敏感的详细信息，从而进一步保护您的数据。

有关安全实现的示例，请参阅[控制用户和组访问的示例](t_user_group_examples.md)。

有关保护数据的更多信息，请参阅《Amazon Redshift 管理指南》**中的 [Amazon Redshift 中的安全性](https://docs.aws.amazon.com/redshift/latest/mgmt/iam-redshift-user-mgmt.html)。