Amazon Redshift wird UDFs ab dem 1. November 2025 die Erstellung von neuem Python nicht mehr unterstützen. Wenn Sie Python verwenden möchten UDFs, erstellen Sie das UDFs vor diesem Datum liegende. Bestehendes Python UDFs wird weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie im Blog-Posting
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 grob- als auch feinkörnige Zugriffskontrollen von jedem Redshift-Warehouse aus definieren. AWS-Konto Grobkörnige Berechtigungen verwalten den Zugriff auf Tabellen, Ansichten und Datenbankobjekte, einschließlich bereichsbezogener Berechtigungen, während feinkörnige Kontrollen Berechtigungen auf Spaltenebene und die Anwendung von Sicherheitsrichtlinien wie Sicherheit auf Zeilenebene (RLS) und dynamische Datenmaskierung (DDM) ermöglichen.
Erteilen/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 jedem 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";
Verbundberechtigungen von Amazon Redshift unterstützen bereichsbezogene Berechtigungen, mit denen 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 definieren, 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 Verbundberechtigungen für Grants finden Sie unter. Berechtigungen, die Sie im Katalog für Verbundberechtigungen von Amazon Redshift gewähren können
Differenzierte Zugriffskontrolle
Sie können eine detaillierte Zugriffskontrolle für sensible Daten mithilfe von Zugriffskontrolle auf Spaltenebene, Sicherheit auf Zeilenebene (RLS) und dynamischer Datenmaskierung (DDM) in einer Datenbank mit Amazon Redshift Redshift-Verbundberechtigungen definieren. Die Zugriffskontrolle auf Spaltenebene ermöglicht die Definition detaillierterer Zugriffsrechte 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.
Zugriffskontrolle auf Spaltenebene:
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";
Sicherheit auf Zeilenebene (RLS):
Sie können die Sicherheit auf Zeilenebene für eine Beziehung ein- oder ausschalten.
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 von ihr 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 Maskierungsrichtlinien 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 einer Beziehung eine Maskierungsrichtlinie zuordnen 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 der entsprechenden sys:secadmin Berechtigung kann RLS- und DDM-Richtlinien sowie deren Anlagen für eine Beziehung mit Verbundberechtigungen mithilfe des Befehls anzeigen. RICHTLINIEN ANZEIGEN
Anmerkung
-
Benutzerdefinierte Funktionen (UDF) in RLS, DDM-Richtliniendefinitionen werden mit Amazon Redshift 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 Redshift-Verbundberechtigungen nicht unterstützt.
Berechtigungen, die Sie im Katalog für Verbundberechtigungen von Amazon Redshift gewähren können
SQL-Anweisungen zur Unterstützung der Berechtigungsverwaltung für Datenbanken mit Amazon Redshift Redshift-Verbundberechtigungen für Ressourcen mit unterschiedlichen Granularitätsebenen. Die Syntax unterstützt sowohl lokale Tabellenverweise (wenn eine Verbindung zu der Datenbank besteht, die die Ressource enthält, oder wenn die Quelldatenbank verwendet wird) als auch vollqualifizierte datenbankübergreifende Verweise.
Hinweis
-
usernamekann sich auf einen IAM-Benutzer, eine IAM-Rolle oder einen IdC () -Benutzer beziehen. AWS IAM Identity Center -
role_namekann sich auf eine IdC-Gruppe beziehen. 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} [, ...]