Amazon Redshift unterstützt die Verwendung von Python-UDFs nach dem 30. Juni 2026 nicht mehr. Wir werden damit beginnen, es schrittweise durchzusetzen. Weitere Informationen zum Ende der Lebensdauer von Python und zu den Migrationsoptionen finden Sie im Blogbeitrag
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwaltung der Zugriffskontrolle im Verbundberechtigungskatalog von Amazon Redshift
Mit den Verbundberechtigungen von Amazon Redshift können Benutzer sowohl grobkörnige als auch feinkörnige Zugriffskontrollen von jedem Redshift-Warehouse in der aus definieren. AWS-Konto Coarse-grained Berechtigungen verwalten den Zugriff auf Tabellen, Ansichten und Datenbankobjekte, einschließlich bereichsbezogener Berechtigungen, während feinkörnige Steuerelemente Berechtigungen auf Spaltenebene und die Anwendung von Sicherheitsrichtlinien wie Sicherheit auf Zeilenebene (RLS) und dynamische Datenmaskierung (DDM) ermöglichen.
Gewähren/Widerrufen
Mit Verbundberechtigungen können Sie Berechtigungen für Zugriffe auf Tabellenebene definieren, z. B. den Zugriff auf Lese- und Schreibdaten in Tabellen und Ansichten in der Redshift Federated Permissions-Datenbank von einem beliebigen Redshift-Warehouse aus.
GRANT SELECT ON "sales_db@finance-catalog".sales_schema.sales_table TO "IAMR:sales_analyst"; GRANT INSERT ON "sales_db@finance-catalog".sales_schema.sales_view TO "IAMR:sales_data_engineer"; REVOKE UPDATE ON "sales_db@finance-catalog".sales_schema.us_sales_view FROM "IAMR:us_sales_analyst"; REVOKE DELETE ON "sales_db@finance-catalog".sales_schema.us_sales_view FROM "IAMR:us_sales_analyst";
Die Verbundberechtigungen von Amazon Redshift unterstützen bereichsbezogene Berechtigungen, sodass Sie Berechtigungen für alle Objekte eines Typs innerhalb einer Datenbank oder eines Schemas gewähren oder widerrufen können.
GRANT SELECT FOR TABLES IN SCHEMA "sales_db@finance-catalog".sales_schema TO "IAMR:sales_manager"; REVOKE UPDATE FOR TABLES IN SCHEMA sales_schmea DATABASE "sales_db@finance-catalog" FROM "IAMR:sales_analyst";
Sie können Zugriffsberechtigungen für die Datenbank gewähren oder widerrufen.
GRANT CREATE ON DATABASE "sales_db@finance-catalog" TO "IAMR:sales_admin"; REVOKE TEMP ON DATABASE "sales_db@finance-catalog" FROM "IAMR:sales_analyst";
Weitere Informationen zur von Amazon Redshift unterstützten Syntax für die Gewährung von Verbundberechtigungen finden Sie unter. Berechtigungen, die Sie im Verbundberechtigungskatalog von Amazon Redshift gewähren können
Fine-grained Zugriffskontrolle
Sie können mithilfe der Zugriffskontrolle auf Spaltenebene, Sicherheit auf Zeilenebene (RLS) und dynamischer Datenmaskierung (DDM) in einer Datenbank mit Amazon Redshift-Verbundberechtigungen eine differenzierte Zugriffskontrolle für sensible Daten definieren. Column-level Die Zugriffskontrolle ermöglicht die Definition feinerer Zugriffsberechtigungen auf Spaltenebene für Tabellen und Ansichten. Superuser und Benutzer oder Rollen mit der sys:secadmin Rolle in der Datenbank können RLS- und DDM-Richtlinien erstellen, diese Richtlinien bestimmten Beziehungen zuordnen und RLS für eine Beziehung aktivieren.
Column-level Zugriffskontrolle:
Sie können bestimmte Rechte für einzelne Spalten einer Tabelle oder Ansicht gewähren oder entziehen.
GRANT SELECT ON "sales_db@finance-catalog".sales_schema.sales_table(order_number, sales_date, purchase_amount, sale_amount) TO "IAMR:sales_revenue_analyst"; REVOKE UPDATE ON "sales_db@finance-catalog".sales_schema.us_sales_view(order_number, sales_date, purchase_amount, sale_amount) FROM "IAMR:sales_revenue_analyst";
Row-level Sicherheit (RLS):
Sie können die Sicherheit auf Zeilenebene für eine Beziehung aktivieren oder deaktivieren.
ALTER TABLE "sales_db@finance-catalog".sales_schema.sales_table ROW LEVEL SECURITY ON;
Sie können eine RLS-Richtlinie für die Datenbank erstellen, ändern und löschen.
-- Create an RLS policy CREATE RLS POLICY "sales_db@finance-catalog".policy_america WITH (region VARCHAR(10)) USING (region = 'USA'); -- Alter an RLS policy ALTER RLS POLICY "sales_db@finance-catalog".policy_america USING (region IN ('USA', 'CANADA', 'Mexico')); -- Drop an RLS policy DROP RLS POLICY "sales_db@finance-catalog".policy_america;
Sie können eine RLS-Richtlinie an eine Beziehung anhängen oder trennen.
-- Attach an RLS policy ATTACH RLS POLICY "sales_db@finance-catalog".policy_america ON "sales_db@finance-catalog".sales_schema.sales_table TO "IAMR:america_sales_analyst"; -- Detach an RLS policy DETACH RLS POLICY "sales_db@finance-catalog".policy_america ON "sales_db@finance-catalog".sales_schema.sales_view_america FROM "IAMR:global_sales_analyst";
Dynamische Datenmaskierung (DDM):
Sie können eine Maskierungsrichtlinie für die Datenbank erstellen, ändern und löschen.
-- Create a masking policy CREATE MASKING POLICY "sales_db@finance-catalog".hash_credit WITH (credit_card varchar(256)) USING (sha2(credit_card + 'testSalt', 256)); -- Alter an masking policy ALTER MASKING POLICY "sales_db@finance-catalog".hash_credit USING (sha2(credit_card + 'otherTestSalt', 256)); -- Drop an masking policy DROP MASKING POLICY "sales_db@finance-catalog".hash_credit;
Sie können eine Maskierungsrichtlinie an eine Beziehung anhängen oder von ihr trennen.
-- Attach a masking policy ATTACH MASKING POLICY hash_credit ON "sales_db@finance-catalog".sales_schema.transaction_table (credit_card) TO "IAMR:sales_analyst" PRIORITY 30; -- Detach a masking policy DETACH MASKING POLICY hash_credit ON "sales_db@finance-catalog".sales_schema.transaction_view (credit_card) FROM "IAMR:transaction_analyst";
Ein Superuser oder ein Benutzer mit dieser sys:secadmin Berechtigung kann RLS- und DDM-Richtlinien sowie deren Anlagen zu einer Beziehung mit Verbundberechtigungen mithilfe des Befehls anzeigen. ZEIGT RICHTLINIEN
Anmerkung
-
Benutzerdefinierte Funktionen (UDF) in RLS und DDM-Richtliniendefinitionen werden mit Amazon Redshift-Verbundberechtigungen nicht unterstützt.
-
Die Redshift-SQL-Funktionen user_is_member_of, role_is_member_of, user_is_member_of_role werden mit Amazon Redshift-Verbundberechtigungen nicht unterstützt.
Berechtigungen, die Sie im Verbundberechtigungskatalog von Amazon Redshift gewähren können
SQL-Anweisungen zur Unterstützung der Berechtigungsverwaltung für Datenbanken mit Amazon Redshift-Verbundberechtigungen für Ressourcen auf verschiedenen Granularitätsebenen. Die Syntax unterstützt sowohl lokale Tabellenverweise (wenn eine Verbindung mit der Datenbank besteht, die die Ressource enthält, oder wenn die Quelldatenbank in USE ist) als auch vollständig qualifizierte datenbankübergreifende Verweise.
Hinweis
-
usernamekann auf einen IAM-Benutzer, eine IAM-Rolle oder einen Idc () -Benutzer verweisen.AWS IAM Identity Center -
role_namekann auf eine IdC-Gruppe verweisen. IAM-Gruppen werden nicht unterstützt.
Grob abgestufte Berechtigungen
GRANT { SELECT | INSERT | UPDATE | DELETE | TRUNCATE} ON [ TABLE ] { table_name | database@catalog.schema_name.table_name } TO { username | ROLE role_name | PUBLIC } REVOKE { SELECT | INSERT | UPDATE | DELETE | TRUNCATE } ON [ TABLE ] { table_name | database@catalog.schema_name.table_name } FROM { username | ROLE role_name | PUBLIC }
Berechtigungen auf Spaltenebene
GRANT { { SELECT | UPDATE | DELETE } ( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [,...] ) } ON { table_name | database@catalog.schema_name.table_name } TO { username | ROLE role_name | PUBLIC } REVOKE { { SELECT | UPDATE | DELETE } ( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [,...] ) } ON { table_name | database@catalog.schema_name.table_name } FROM { username | ROLE role_name | PUBLIC }
Eingeschränkte Berechtigungen
GRANT { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] } FOR SCHEMAS IN DATABASEdatabase@catalogTO {username[ WITH GRANT OPTION ] | ROLErole_name} [, ...] GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [ PRIVILEGES ] } } FOR TABLES IN { SCHEMAschema_name[DATABASEdatabase@catalog] | DATABASEdatabase@catalog} TO {username[ WITH GRANT OPTION ] | ROLErole_name} [, ...] REVOKE [ GRANT OPTION ] { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] } FOR SCHEMAS IN DATABASEdatabase@catalogFROM {username| ROLErole_name} [, ...] REVOKE [ GRANT OPTION ] { { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [ PRIVILEGES ] } } FOR TABLES IN { SCHEMAschema_name[ DATABASEdatabase@catalog] | DATABASEdatabase@catalog} FROM {username| ROLErole_name} [, ...]