

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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
<a name="federated-permissions-managing-access"></a>

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
<a name="federated-permissions-managing-access-grant-revoke"></a>

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, 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 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](#federated-permissions-managing-access-grant-allowed)

## Differenzierte Zugriffskontrolle
<a name="federated-permissions-managing-access-fgac"></a>

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:
<a name="federated-permissions-managing-access-column"></a>

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):
<a name="federated-permissions-managing-access-row"></a>

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):
<a name="federated-permissions-managing-access-ddm"></a>

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](r_SHOW_POLICIES.md)

**Anmerkung**  
Benutzerdefinierte Funktionen (UDF) in RLS, DDM-Richtliniendefinitionen werden mit Amazon Redshift Redshift-Verbundberechtigungen nicht unterstützt.
Die Redshift SQL-Funktionen user\$1is\$1member\$1of, role\$1is\$1member\$1of, user\$1is\$1member\$1of\$1role werden mit Amazon Redshift Redshift-Verbundberechtigungen nicht unterstützt.

### Berechtigungen, die Sie im Katalog für Verbundberechtigungen von Amazon Redshift gewähren können
<a name="federated-permissions-managing-access-grant-allowed"></a>

SQL-Anweisungen zur Unterstützung der Rechteverwaltung 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**
+ *username*kann sich auf einen IAM-Benutzer, eine IAM-Rolle oder einen IdC () -Benutzer beziehen.AWS IAM Identity Center
+ *role\$1name*kann sich auf eine IdC-Gruppe beziehen. IAM-Gruppen werden nicht unterstützt.

#### Grob abgestufte Berechtigungen
<a name="federated-permissions-managing-access-grant-allowed-coarse"></a>

```
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
<a name="federated-permissions-managing-access-grant-allowed-column"></a>

```
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 }
```

### Gültige Berechtigungen
<a name="federated-permissions-managing-access-scoped"></a>

```
GRANT { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] }  
FOR SCHEMAS IN  
DATABASE database@catalog   
TO { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...]  

GRANT   
{ { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [ PRIVILEGES ] } }  
FOR TABLES IN  
{ SCHEMA schema_name [DATABASE database@catalog ] | DATABASE database@catalog }  
TO { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...]  

REVOKE [ GRANT OPTION ] { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] }   
FOR SCHEMAS IN   
DATABASE database@catalog   
FROM { username | ROLE role_name } [, ...]   

REVOKE [ GRANT OPTION ] { { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [ PRIVILEGES ] } }   
FOR TABLES IN   
{ SCHEMA schema_name [ DATABASE database@catalog ] | DATABASE database@catalog }   
FROM { username | ROLE role_name } [, ...]
```