

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.

# Identity and Access Management in Athena
<a name="security-iam-athena"></a>

Amazon Athena verwendet [AWS Identity and Access Management -(IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)-Richtlinien, um den Zugriff auf Athena-Vorgänge einzuschränken. Eine vollständige Liste der Berechtigungen für Athena finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Athena](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html) in der *Service-Autorisierungs-Referenz*.

Wenn Sie IAM-Richtlinien verwenden, stellen Sie sicher, dass Sie die bewährten Methoden von IAM befolgen. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

Zu den Berechtigungen, die zum Ausführen von Athena-Abfragen erforderlich sind:
+ Amazon-S3-Standorte, an denen die zugrunde liegenden Daten für die Abfrage gespeichert sind. Weitere Informationen finden Sie unter [Identity and Access Management in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) im *Benutzerhandbuch von Amazon Simple Notification Service*.
+ Metadaten und Ressourcen, die Sie in der speichern AWS Glue Data Catalog, z. B. Datenbanken und Tabellen, einschließlich zusätzlicher Aktionen für verschlüsselte Metadaten. Weitere Informationen finden Sie unter [Einrichten von IAM-Berechtigungen für AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/getting-started-access.html) und [Einrichten der Verschlüsselung in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/set-up-encryption.html) im *Entwicklerhandbuch für AWS Glue *.
+ Athena-API-Aktionen Eine vollständige Liste mit API-Aktionen in Athena finden Sie unter [Aktionen](https://docs.aws.amazon.com/athena/latest/APIReference/API_Operations.html) in der *Amazon-Athena-API-Referenz*.

Die folgenden Themen stellen weitere Informationen zu Berechtigungen für bestimmte Bereiche von Athena zur Verfügung.

**Topics**
+ [AWS verwaltete Richtlinien](security-iam-awsmanpol.md)
+ [Datenperimeter](data-perimeters.md)
+ [Zugriff über JDBC- und ODBC-Verbindungen](policy-actions.md)
+ [Zugriff auf Amazon S3 von Athena kontrollieren](s3-permissions.md)
+ [Kontoübergreifender Zugriff auf S3-Buckets](cross-account-permissions.md)
+ [Zugriff auf Datenbanken und Tabellen in AWS Glue](fine-grained-access-to-glue-resources.md)
+ [Kontoübergreifender Zugriff auf Datenkataloge AWS Glue](security-iam-cross-account-glue-catalog-access.md)
+ [Zugriff auf verschlüsselte Metadaten im Datenkatalog](access-encrypted-data-glue-data-catalog.md)
+ [Zugriff auf Arbeitsgruppen und Tags](workgroups-access.md)
+ [Verwenden Sie IAM-Richtlinien, um Arbeitsgruppen-Zugriff zu steuern](workgroups-iam-policy.md)
+ [Für IAM Identity Center aktivierte Arbeitsgruppen](workgroups-identity-center.md)
+ [Mindestverschlüsselung konfigurieren](workgroups-minimum-encryption.md)
+ [Zugriff auf vorbereitete Anweisungen konfigurieren](security-iam-athena-prepared-statements.md)
+ [Verwenden Sie CalledVia Kontexttasten](security-iam-athena-calledvia.md)
+ [Zugriff auf den Athena-Daten-Connector für externen Hive-Metastore zulassen](hive-metastore-iam-access.md)
+ [Gewährung von Lambda-Funktionszugriff auf externe Hive-Metastores](hive-metastore-iam-access-lambda.md)
+ [Berechtigungen erforderlich zum Erstellen des Connectors und des Athena-Katalogs](athena-catalog-access.md)
+ [Zugriff auf Athena Federated Query zulassen](federated-query-iam-access.md)
+ [Erlauben Sie den Zugriff auf UDFs](udf-iam-access.md)
+ [Zugriff für ML mit Athena zulassen](machine-learning-iam-access.md)
+ [Verbund-Zugriff auf die Athena-API aktivieren](access-federation-saml.md)

# AWS verwaltete Richtlinien für Amazon Athena
<a name="security-iam-awsmanpol"></a>

Eine AWS verwaltete Richtlinie ist eine eigenständige Richtlinie, die von erstellt und verwaltet AWS wird. AWS Verwaltete Richtlinien sind so konzipiert, dass sie Berechtigungen für viele gängige Anwendungsfälle bereitstellen, sodass Sie damit beginnen können, Benutzern, Gruppen und Rollen Berechtigungen zuzuweisen.

Beachten Sie, dass AWS verwaltete Richtlinien für Ihre speziellen Anwendungsfälle möglicherweise keine Berechtigungen mit den geringsten Rechten gewähren, da sie allen AWS Kunden zur Verfügung stehen. Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie [vom Kunden verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind.

Sie können die in AWS verwalteten Richtlinien definierten Berechtigungen nicht ändern. Wenn die in einer AWS verwalteten Richtlinie definierten Berechtigungen AWS aktualisiert werden, wirkt sich das Update auf alle Prinzidentitäten (Benutzer, Gruppen und Rollen) aus, denen die Richtlinie zugeordnet ist. AWS aktualisiert eine AWS verwaltete Richtlinie höchstwahrscheinlich, wenn eine neue Richtlinie eingeführt AWS-Service wird oder neue API-Operationen für bestehende Dienste verfügbar werden.

Weitere Informationen finden Sie unter [Von AWS verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) im *IAM-Benutzerhandbuch*.

## Überlegungen bei der Verwendung verwalteter Richtlinien mit Athena
<a name="managed-policies-considerations"></a>

Verwaltete Richtlinien sind einfach zu nutzen und werden automatisch mit den erforderlichen Aktionen aktualisiert, wenn sich der Service weiterentwickelt. Beachten Sie bei der Verwendung von verwalteten Richtlinien mit Athena die folgenden Punkte:
+ Um Amazon-Athena-Service-Aktionen für sich oder andere Benutzer von AWS Identity and Access Management (IAM) zuzulassen oder zu verweigern, hängen Sie Prinzipalen wie Benutzern oder Gruppen identitätsbasierte Richtlinien an. 
+ Jede identitätsbasierte Richtlinie besteht aus Anweisungen, die die zugelassenen oder nicht zugelassenen Aktionen definieren. Weitere Informationen und step-by-step Anweisungen zum Anhängen einer Richtlinie an einen Benutzer finden Sie unter [Anhängen verwalteter Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html#attach-managed-policy-console) im *IAM-Benutzerhandbuch*. Eine Liste der Aktionen finden Sie in der [Amazon Athena-API-Referenz](https://docs.aws.amazon.com/athena/latest/APIReference/).
+  *Vom Kunden verwaltete* und *eingebundene* identitätsbasierte Richtlinien ermöglichen Ihnen, detailliertere Athena-Aktionen innerhalb einer Richtlinie zur Optimierung der Zugriffsregelung anzugeben. Wir empfehlen, dass Sie die `AmazonAthenaFullAccess`-Richtlinie als Ausgangspunkt verwenden und dann bestimmte, in der [Amazon Athena-API-Referenz](https://docs.aws.amazon.com/athena/latest/APIReference/) definierte Aktionen zulassen oder verweigern. Weitere Informationen zu Inline-Richtlinien finden Sie unter [Verwaltete Richtlinien und Inline-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) im *IAM-Benutzerhandbuch*.
+ Wenn Sie außerdem Prinzipale verwalten, die Verbindungen per JDBC herstellen, müssen Sie die JDBC-Treiber-Anmeldeinformationen für Ihre Anwendung bereitstellen. Weitere Informationen finden Sie unter [Zugriff über JDBC- und ODBC-Verbindungen kontrollieren](policy-actions.md).
+ Wenn Sie den AWS Glue Datenkatalog verschlüsselt haben, müssen Sie zusätzliche Aktionen in den identitätsbasierten IAM-Richtlinien für Athena angeben. Weitere Informationen finden Sie unter [Konfigurieren Sie den Zugriff von Athena auf verschlüsselte Metadaten in AWS Glue Data Catalog](access-encrypted-data-glue-data-catalog.md).
+ Wenn Sie Arbeitsgruppen erstellen und verwenden, müssen Sie sicherstellen, dass Ihre Richtlinien einen entsprechenden Zugriff auf Arbeitsgruppenaktionen enthalten. Detaillierte Informationen hierzu finden Sie unter [Verwenden Sie IAM-Richtlinien, um Arbeitsgruppen-Zugriff zu steuern](workgroups-iam-policy.md) und [Beispiel Arbeitsgruppenrichtlinien](example-policies-workgroup.md). 

## AWS verwaltete Richtlinie: AmazonAthenaFullAccess
<a name="amazonathenafullaccess-managed-policy"></a>

Die verwaltete Richtlinie `AmazonAthenaFullAccess` gewährt vollständigen Zugriff auf Athena.

Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:
+ Benutzer und Gruppen in AWS IAM Identity Center:

  Erstellen Sie einen Berechtigungssatz. Befolgen Sie die Anweisungen unter [Erstellen eines Berechtigungssatzes](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) im *AWS IAM Identity Center -Benutzerhandbuch*.
+ Benutzer, die in IAM über einen Identitätsanbieter verwaltet werden:

  Erstellen Sie eine Rolle für den Identitätsverbund. Befolgen Sie die Anleitung unter [Eine Rolle für einen externen Identitätsanbieter (Verbund) erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) im *IAM-Benutzerhandbuch*.
+ IAM-Benutzer:
  + Erstellen Sie eine Rolle, die Ihr Benutzer annehmen kann. Befolgen Sie die Anleitung unter [Eine Rolle für einen IAM-Benutzer erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) im *IAM-Benutzerhandbuch*.
  + (Nicht empfohlen) Weisen Sie einem Benutzer eine Richtlinie direkt zu oder fügen Sie einen Benutzer zu einer Benutzergruppe hinzu. Befolgen Sie die Anweisungen unter [Hinzufügen von Berechtigungen zu einem Benutzer (Konsole)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) im *IAM-Benutzerhandbuch*.

### Berechtigungsgruppierungen
<a name="amazonathenafullaccess-managed-policy-groupings"></a>

Die `AmazonAthenaFullAccess`-Richtlinie wird in die folgenden Gruppen von Berechtigungen gruppiert.
+ **`athena`** – Ermöglicht Prinzipalen Zugriff auf Athena-Ressourcen.
+ **`glue`**— Ermöglicht Prinzipalen den Zugriff auf AWS Glue Kataloge, Datenbanken, Tabellen und Partitionen. Dies ist erforderlich, damit der Principal AWS Glue Data Catalog s mit Athena verwenden kann.
+ **`s3`** – Ermöglicht dem Prinzipal, Abfrageergebnisse aus Amazon S3 zu schreiben und zu lesen, öffentlich verfügbare Athena Datenbeispiele zu lesen, die sich in Amazon S3 befinden und Buckets aufzulisten. Dies ist erforderlich, damit der Prinzipal Athena verwenden kann, um mit Amazon S3 zu arbeiten.
+ **`sns`** – Ermöglicht es Prinzipalen, Amazon-SNS-Themen aufzulisten und Themenattribute abzurufen. Dies ermöglicht es Prinzipalen, Amazon-SNS-Themen mit Athena für Überwachungs- und Warnzwecke zu verwenden.
+ **`cloudwatch`**— Ermöglicht Prinzipalen das Erstellen, Lesen und Löschen CloudWatch von Alarmen. Weitere Informationen finden Sie unter [Verwenden Sie CloudWatch und EventBridge , um Abfragen zu überwachen und die Kosten zu kontrollieren](workgroups-control-limits.md).
+ **`lakeformation`** – Ermöglicht es Prinzipalen, temporäre Anmeldeinformationen für den Zugriff auf Daten an einem Data-Lake-Standort anzufordern, der bei Lake Formation registriert ist. Weitere Informationen finden Sie unter [Zugriffskontrolle](https://docs.aws.amazon.com/lake-formation/latest/dg/access-control-underlying-data.html) im *Benutzerhandbuch von AWS Lake Formation*.
+ **`datazone`**— Ermöglicht Prinzipalen, DataZone Amazon-Projekte, -Domains und -Umgebungen aufzulisten. Hinweise zur Verwendung DataZone in Athena finden Sie unter[Verwenden Sie Amazon DataZone in Athena](datazone-using.md).
+ **`pricing`**— Ermöglicht den Zugriff auf. AWS Fakturierung und Kostenmanagement Weitere Informationen finden Sie unter [GetProducts](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_GetProducts.html) in der *AWS Fakturierung und Kostenmanagement -API-Referenz*.

Die Berechtigungen für diese Richtlinie finden Sie [AmazonAthenaFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonAthenaFullAccess.html)in der Referenz zu AWS verwalteten Richtlinien.

**Anmerkung**  
Sie müssen den Zugriff auf Service-eigenen Amazon-S3-Buckets ausdrücklich zulassen, um Beispielabfragen und Beispieldatensätze zu speichern. Weitere Informationen finden Sie unter [Datenperimeter](data-perimeters.md).

## AWS verwaltete Richtlinie: AWSQuicksight AthenaAccess
<a name="awsquicksightathenaaccess-managed-policy"></a>

`AWSQuicksightAthenaAccess`gewährt Zugriff auf Aktionen, die Quick für die Integration mit Athena benötigt. Sie können die `AWSQuicksightAthenaAccess`-Richtlinie an Ihre IAM-Identitäten anfügen. Hängen Sie diese Richtlinie nur an Principals an, die Quick with Athena verwenden. Diese Richtlinie enthält einige Aktionen für Athena, die entweder veraltet und nicht in der aktuellen öffentlichen API eingebunden sind oder die ausschließlich mit dem JDBC- und ODBC-Treiber verwendet werden.

### Berechtigungsgruppierungen
<a name="awsquicksightathenaaccess-managed-policy-groupings"></a>

Die `AWSQuicksightAthenaAccess`-Richtlinie wird in die folgenden Gruppen von Berechtigungen gruppiert.
+ **`athena`** – Ermöglicht dem Prinzipal, Abfragen auf Athena-Ressourcen auszuführen.
+ **`glue`**— Ermöglicht Prinzipalen den Zugriff auf AWS Glue Kataloge, Datenbanken, Tabellen und Partitionen. Dies ist erforderlich, damit der Principal AWS Glue Data Catalog s mit Athena verwenden kann.
+ **`s3`** – Erlaubt dem Prinzipal, Abfrageergebnisse aus Amazon S3 zu schreiben und zu lesen.
+ **`lakeformation`** – Ermöglicht es Prinzipalen, temporäre Anmeldeinformationen für den Zugriff auf Daten an einem Data-Lake-Standort anzufordern, der bei Lake Formation registriert ist. Weitere Informationen finden Sie unter [Zugriffskontrolle](https://docs.aws.amazon.com/lake-formation/latest/dg/access-control-underlying-data.html) im *Benutzerhandbuch von AWS Lake Formation*.

Informationen zu den Berechtigungen für diese Richtlinie finden Sie [AWSQuicksightAthenaAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSQuicksightAthenaAccess.html)in der Referenz für AWS verwaltete Richtlinien.

## Athena-Updates für AWS verwaltete Richtlinien
<a name="managed-policies-updates"></a>

Sehen Sie sich Details zu Aktualisierungen der AWS verwalteten Richtlinien für Athena an, seit dieser Dienst begonnen hat, diese Änderungen zu verfolgen.


| Änderungen | Beschreibung | Date | 
| --- | --- | --- | 
| [AWSQuicksightAthenaAccess](#awsquicksightathenaaccess-managed-policy) – Aktualisierungen bestehender Richtlinien | Die glue:GetCatalogs Berechtigungen glue:GetCatalog und wurden hinzugefügt, um Athena-Benutzern den Zugriff auf SageMaker AI Lakehouse-Kataloge zu ermöglichen. | 02. Januar 2025 | 
| [AmazonAthenaFullAccess](#amazonathenafullaccess-managed-policy) – Aktualisierung auf eine bestehende Richtlinie | Die glue:GetCatalogs Berechtigungen glue:GetCatalog und wurden hinzugefügt, um Athena-Benutzern den Zugriff auf SageMaker AI Lakehouse-Kataloge zu ermöglichen. | 02. Januar 2025 | 
| [AmazonAthenaFullAccess](#amazonathenafullaccess-managed-policy) – Aktualisierung auf eine bestehende Richtlinie |  Ermöglicht Athena, die öffentlich dokumentierte AWS Glue `GetCatalogImportStatus` API zum Abrufen des Katalogimportstatus zu verwenden.  | 18. Juni 2024 | 
|  [AmazonAthenaFullAccess](#amazonathenafullaccess-managed-policy) – Aktualisierung auf eine bestehende Richtlinie  |  Die `datazone:ListAccountEnvironments` Berechtigungen `datazone:ListDomains``datazone:ListProjects`, und wurden hinzugefügt, damit Athena-Benutzer mit DataZone Amazon-Domains, -Projekten und -Umgebungen arbeiten können. Weitere Informationen finden Sie unter [Verwenden Sie Amazon DataZone in Athena](datazone-using.md).  | 3. Januar 2024 | 
|  [AmazonAthenaFullAccess](#amazonathenafullaccess-managed-policy) – Aktualisierung auf eine bestehende Richtlinie  |  Die `glue:GetColumnStatisticsTaskRuns` Berechtigungen `glue:StartColumnStatisticsTaskRun``glue:GetColumnStatisticsTaskRun`, und wurden hinzugefügt, um Athena das Recht zu geben, aufzurufen AWS Glue , um Statistiken für die kostenbasierte Optimierungsfunktion abzurufen. Weitere Informationen finden Sie unter [Kostenbasierten Optimierer verwenden](cost-based-optimizer.md).  | 3. Januar 2024 | 
|  [AmazonAthenaFullAccess](#amazonathenafullaccess-managed-policy) – Aktualisierung auf eine bestehende Richtlinie  |  Athena hat `pricing:GetProducts` hinzugefügt, um Zugriff auf AWS Fakturierung und Kostenmanagement zu gewähren. Weitere Informationen finden Sie unter [GetProducts](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_GetProducts.html) in der *AWS Fakturierung und Kostenmanagement -API-Referenz*.  | 25. Januar 2023 | 
|  [AmazonAthenaFullAccess](#amazonathenafullaccess-managed-policy) – Aktualisierung auf eine bestehende Richtlinie  |  Athena wurde hinzugefügt`cloudwatch:GetMetricData`, um CloudWatch metrische Werte abzurufen. Weitere Informationen finden Sie [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)in der *Amazon CloudWatch API-Referenz*.  | 14. November 2022 | 
|  [AmazonAthenaFullAccess](#amazonathenafullaccess-managed-policy) und [AWSQuicksightAthenaAccess](#awsquicksightathenaaccess-managed-policy) – Updates von vorhandenen Richtlinien  |  Athena hat `s3:PutBucketPublicAccessBlock` hinzugefügt, um die Blockierung des öffentlichen Zugriffs auf die von Athena erstellten Buckets zu ermöglichen.  | 7. Juli 2021 | 
|  Athena hat damit begonnen, Änderungen zu verfolgen  |  Athena begann, Änderungen an seinen AWS verwalteten Richtlinien zu verfolgen.  | 7. Juli 2021 | 

# Datenperimeter
<a name="data-perimeters"></a>

Ein [Datenperimeter](https://aws.amazon.com/identity/data-perimeters-on-aws/) besteht aus einer Reihe von Berechtigungsleitplanken in Ihrer AWS Umgebung, mit denen Sie sicherstellen, dass nur Ihre vertrauenswürdigen Identitäten auf vertrauenswürdige Ressourcen von erwarteten Netzwerken zugreifen. 

Amazon Athena verwendet serviceeigene Amazon S3 S3-Buckets zum Speichern von Beispielabfragen und Beispieldatensätzen. Wenn Sie Datenperimeter verwenden, um den Zugriff in Ihrer Umgebung zu kontrollieren, müssen Sie den Zugriff auf diese diensteigenen Ressourcen explizit zulassen, um die entsprechenden Athena-Funktionen nutzen zu können. 

 In der folgenden Tabelle sind der ARN des Amazon S3 S3-Buckets, auf den Athena zugreifen muss, die erforderlichen Berechtigungen, die von Athena verwendete Identität und die Funktionen aufgeführt, die auf dem S3-Bucket basieren. Um den Zugriff zu ermöglichen, ersetzen Sie `<region>` im Bucket ARN durch Ihren aktuellen Bucket AWS-Region und setzen Sie diesen Bucket auf der Grundlage Ihrer Amazon S3 S3-Zugriffskontrollen auf die Zulassungsliste. 


**Datenperimeter, die Athena verwendet**  

| ARN-Ressourcen | Erforderliche Berechtigungen | Für den Zugriff verwendete Identität | Zugriffsszenarien | 
| --- | --- | --- | --- | 
|  arn:aws:s3:::athena-examples-<region>  | s3: GetObjects3: ListBucket | Der IAM-Principal greift auf Athena zu. |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/data-perimeters.html)  | 

# Zugriff über JDBC- und ODBC-Verbindungen kontrollieren
<a name="policy-actions"></a>

Um Zugriff auf AWS-Services und Ressourcen wie Athena und die Amazon S3 S3-Buckets zu erhalten, geben Sie die JDBC- oder ODBC-Treiberanmeldedaten für Ihre Anwendung ein. Wenn Sie den JDBC- oder ODBC-Treiber verwenden, stellen Sie sicher, dass die IAM-Berechtigungs-Richtlinie alle der unter [AWS verwaltete Richtlinie: AWSQuicksight AthenaAccess](security-iam-awsmanpol.md#awsquicksightathenaaccess-managed-policy) aufgeführten Aktionen enthält.

Wenn Sie IAM-Richtlinien verwenden, stellen Sie sicher, dass Sie die bewährten IAM-Methoden befolgen. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

## Authentifizierungsmethoden
<a name="security-jdbc-odbc-access-authentication"></a>

Die Athena-JDBC- und ODBC-Treiber unterstützen die SAML-2.0-basierte Authentifizierung, einschließlich der folgenden Identitätsanbieter:
+ Active Directory Federation Services (AD FS)
+ Azure Active Directory (AD)
+ Okta 
+ PingFederate

Weitere Informationen finden Sie in den Installations- und Konfigurationshandbüchern für die jeweiligen Treiber, die im PDF-Format von den Seiten der [JDBC](connect-with-jdbc.md)- und [ODBC](connect-with-odbc.md)-Treiber heruntergeladen werden können. Weitere Informationen finden Sie unter:
+ [Verbund-Zugriff auf die Athena-API aktivieren](access-federation-saml.md)
+ [Verwenden Sie Lake-Formation und JDBC- oder ODBC-Treibern für den Verbundzugriff auf Athena](security-athena-lake-formation-jdbc.md)
+  [Konfigurieren von Single Sign-On mit ODBC, SAML 2.0 und dem Okta-Identitätsanbieter](okta-saml-sso.md)

Weitere Informationen zu den neuesten Versionen der JDBC- und ODBC-Treiber und deren Dokumentation finden Sie unter [Verbindung zu Amazon Athena mit JDBC herstellen](connect-with-jdbc.md) und [Mit ODBC eine Verbindung zu Amazon Athena herstellen](connect-with-odbc.md).

# Zugriff auf Amazon S3 von Athena kontrollieren
<a name="s3-permissions"></a>

Sie können den Zugriff auf Amazon-S3-Standorte mithilfe von identitätsbasierten Richtlinien, Bucket-Ressourcenrichtlinien, Zugriffspunktrichtlinien oder einer beliebigen Kombination der oben genannten gewähren. Wenn Akteure mit Athena interagieren, werden ihre Berechtigungen durch Athena geleitet, um zu bestimmen, worauf Athena zugreifen kann. Das bedeutet, dass Benutzer die Berechtigung zum Zugriff auf Amazon-S3-Buckets haben müssen, um diese mit Athena abfragen zu können.

Wenn Sie IAM-Richtlinien verwenden, stellen Sie sicher, dass Sie die bewährten IAM-Methoden befolgen. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

Beachten Sie, dass Anfragen an Amazon S3 von einer privaten IPv4 Adresse für Athena stammen, nicht von der Quell-IP, die in `aws:SourceIp` angegeben ist. Aus diesem Grund können Sie die `aws:SourceIp`-Bedingung nicht verwenden, um den Zugriff auf Amazon-S3-Aktionen in einer bestimmten IAM-Richtlinie zu verweigern. Sie können ebenfalls den Zugriff auf Amazon-S3-Ressourcen nicht basierend auf den `aws:SourceVpc`- oder `aws:SourceVpce`-Bedingungsschlüsseln einschränken oder zulassen.

**Anmerkung**  
Athena-Arbeitsgruppen, die die IAM Identity-Center-Authentifizierung verwenden, müssen die S3-Zugriffsberechtigungen so konfigurieren, dass sie die Verwendung der Weitergabe vertrauenswürdiger Identitäten ermöglichen. Weitere Informationen finden Sie unter [S3-Zugriffsberechtigungen und Verzeichnisidentitäten](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-directory-ids.html) im *Benutzerhandbuch für Amazon Simple Storage Service*.

**Topics**
+ [Identitätsbasierte Richtlinien](#s3-permissions-identity-based-policies)
+ [Bucket-Ressourcenrichtlinien](#s3-permissions-bucket-resource-policies)
+ [Zugangspunktrichtlinien](#s3-permissions-aliases)
+ [CalledVia Kontexttasten](#s3-permissions-calledvia)
+ [Weitere Ressourcen](#s3-permissions-additional-resources)

## Steuern Sie den Zugriff auf Amazon-S3-Buckets mittels identitätsbasierter Richtlinien
<a name="s3-permissions-identity-based-policies"></a>

Identitätsbasierte Richtlinien werden an IAM-Benutzer, -Gruppen oder -Rollen angefügt. Mit diesen Richtlinien können Sie festlegen, welche Aktionen diese Identität durchführen darf (ihre Berechtigungen). Sie können identitätsbasierte Richtlinien verwenden, um den Zugriff auf Ihre Amazon-S3-Buckets zu steuern.

Die folgenden identitätsbasierte Richtlinie erlaubt `Read` und `Write` den Zugriff auf Objekte in einem bestimmten Amazon-S3-Bucket. Um diese Richtlinie zu verwenden, ersetzen Sie die *italicized placeholder text* durch Ihre eigenen Werte.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Sid": "AllObjectActions",
            "Effect": "Allow",
            "Action": "s3:*Object",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

------

## Steuern Sie den Zugriff auf Amazon-S3-Buckets mittels Bucket-Ressourcenrichtlinien
<a name="s3-permissions-bucket-resource-policies"></a>

Sie können Amazon-S3-Bucket-Richtlinien verwenden, um den Zugriff auf Objekte in Ihren Buckets zu sichern, sodass nur Benutzer mit den entsprechenden Berechtigungen darauf zugreifen können. Anleitungen zum Erstellen Ihrer Amazon S3-Richtlinie finden Sie unter [Hinzufügen einer Bucket-Richtlinie mithilfe der Amazon-S3-Konsole](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html) im *Amazon-S3-Benutzerhandbuch*.

Die folgende Beispiel-Berechtigungsrichtlinie beschränkt einen Benutzer auf das Lesen von Objekten, die den `environment: production` Tag-Schlüssel und -Wert haben. Diese Beispiel-Richtlinie verwendet den `s3:ExistingObjectTag`-Bedingungsschlüssel, um den Tag-Schlüssel und -Wert anzugeben.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/JohnDoe"
            },
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:ExistingObjectTag/environment": "production"
                }
            }
        }
    ]
}
```

------

Weitere Beispiele für Bucket-Richtlinien finden Sie unter [Beispiele für Amazon-S3-Bucket-Richtlinien](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) im *Amazon S3-Benutzerhandbuch*.

## Verwenden Sie Amazon S3 Access Points für eine präzisere Kontrolle über den Zugriff auf Buckets
<a name="s3-permissions-aliases"></a>

Wenn Sie ein freigegebener Datensatz in einem Amazon-S3-Bucket haben, kann es schwierig sein, eine einzelne Bucket-Richtlinie zu verwalten, die den Zugriff für Hunderte von Anwendungsfällen verwaltet.

Amazon-S3-Bucket-Zugangspunkte, Richtlinien und Aliase können zur Lösung dieses Problems beitragen. Ein Bucket kann über mehrere Zugriffspunkte verfügen, von denen jeder eine Richtlinie verfügt, die den Zugriff auf den Bucket auf andere Weise steuert. 

Für jeden von Ihnen erstellten Zugriffspunkt generiert Amazon S3 einen Alias, der den Zugriffspunkt darstellt. Da der Alias im Amazon-S3-Bucket-Namensformat vorliegt, können Sie den Alias in der `LOCATION`-Klausel Ihrer Anweisungen in `CREATE TABLE`-Athena verwenden. Der Zugriff von Athena auf den Bucket wird dann durch die Richtlinie für den Zugriffspunkt gesteuert, den der Alias darstellt. 

Weitere Informationen finden Sie unter [Tabellenspeicherort in Amazon S3 angeben](tables-location-format.md) und [Verwenden von Zugriffspunkten](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) im *Amazon-S3-Benutzerhandbuch*.

## Verwenden Sie CalledVia Kontexttasten, um nur Anrufe von Athena an einen anderen Dienst zuzulassen
<a name="s3-permissions-calledvia"></a>

Für zusätzliche Sicherheit können Sie den globalen Bedingungskontextschlüssel [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia) verwenden. Der `aws:CalledVia`-Bedingungsschlüssel enthält eine Liste von Diensten, denen Sie erlauben, einen anderen Dienst aufzurufen. Sie können beispielsweise Aufrufe AWS Lambda nur zulassen, wenn die `InvokeFunction` Aufrufe von Athena stammen, indem Sie den Athena-Dienstprinzipalnamen `athena.amazonaws.com` für den `aws:CalledVia` Kontextschlüssel angeben. Weitere Informationen finden Sie unter [Verwenden Sie CalledVia Kontexttasten für Athena](security-iam-athena-calledvia.md).

## Weitere Ressourcen
<a name="s3-permissions-additional-resources"></a>

Ausführliche Informationen und Beispiele zum Gewähren des Amazon-S3-Zugriffs finden Sie in den folgenden Ressourcen:
+ [Beispielexemplarische Vorgehensweisen: Verwalten des Zugriffs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access.html) im *Amazon-S3-Benutzerhandbuch*.
+ [Wie kann ich kontoübergreifenden Zugriff auf Objekte gewähren, die sich in Amazon S3 S3-Buckets befinden?](https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/) im AWS Knowledge Center.
+ [Kontoübergreifender Zugriff auf Amazon-S3-Buckets in Athena konfigurieren](cross-account-permissions.md).

# Kontoübergreifender Zugriff auf Amazon-S3-Buckets in Athena konfigurieren
<a name="cross-account-permissions"></a>

Ein gängiges Amazon-Athena-Szenario ist das Gewähren des Zugriffs für Benutzer in einem Konto, das sich von dem des Bucket-Eigentümers unterscheidet, damit diese Abfragen ausführen können. Verwenden Sie in diesem Fall eine Bucket-Richtlinie zum Gewähren des Zugriffs.

**Anmerkung**  
Informationen zum kontenübergreifenden Zugriff auf AWS Glue Datenkataloge von Athena finden Sie unter. [Kontenübergreifenden Zugriff auf AWS Glue Datenkataloge konfigurieren](security-iam-cross-account-glue-catalog-access.md)

Die folgende Beispiel-Bucket-Richtlinie, die vom Bucket-Eigentümer erstellt und auf den Bucket `s3://amzn-s3-demo-bucket` angewendet wurde, gewährt allen Benutzern im Konto `123456789123` Zugriff. Hierbei handelt es sich um ein anderes Konto.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "MyPolicyID",
   "Statement": [
      {
          "Sid": "MyStatementSid",
          "Effect": "Allow",
          "Principal": {
             "AWS": "arn:aws:iam::123456789123:root"
          },
          "Action": [
             "s3:GetBucketLocation",
             "s3:GetObject",
             "s3:ListBucket",
             "s3:ListBucketMultipartUploads",
             "s3:ListMultipartUploadParts",
             "s3:AbortMultipartUpload"
          ],
          "Resource": [
             "arn:aws:s3:::amzn-s3-demo-bucket",
             "arn:aws:s3:::amzn-s3-demo-bucket/*"
          ]
       }
    ]
 }
```

------

Um einem bestimmten Benutzer in einem Konto Zugriff zu gewähren, ersetzen Sie den Schlüssel `Principal` durch einen Schlüssel, der anstelle von `root` den Benutzer angibt. Verwenden Sie für das Benutzerprofil `Dave` beispielsweise `arn:aws:iam::123456789123:user/Dave`.

## Konfigurieren Sie den kontoübergreifenden Zugriff auf einen Bucket, der mit einem benutzerdefinierten Schlüssel verschlüsselt ist AWS KMS
<a name="cross-account-permissions-kms"></a>

Wenn Sie einen Amazon S3 S3-Bucket haben, der mit einem benutzerdefinierten Schlüssel AWS Key Management Service (AWS KMS) verschlüsselt ist, müssen Sie möglicherweise Benutzern von einem anderen Amazon Web Services Services-Konto Zugriff darauf gewähren.

Um einem Benutzer in Konto B Zugriff auf einen AWS KMS-verschlüsselten Bucket in Konto A zu gewähren, sind die folgenden Berechtigungen erforderlich:
+ Die Bucket-Richtlinie in Konto A muss Zugriff auf die von Konto B übernommene Rolle gewähren.
+ Die AWS KMS Schlüsselrichtlinie in Konto A muss Zugriff auf die Rolle gewähren, die der Benutzer in Konto B übernommen hat.
+ Die von Konto B übernommene AWS Identity and Access Management (IAM) -Rolle muss Zugriff sowohl auf den Bucket als auch auf den Schlüssel in Konto A gewähren.

In den folgenden Verfahren wird beschrieben, wie jede dieser Berechtigungen erteilt wird.

**So gewähren Sie dem Benutzer in Konto B Zugriff auf den Bucket in Konto A**
+  [Überprüfen Sie in Konto A die S3-Bucket-Richtlinie](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html) und bestätigen Sie, dass eine Anweisung vorhanden ist, die den Zugriff von der Konto-ID von Konto B ermöglicht.

  Die folgende Bucket-Richtlinie ermöglicht beispielsweise `s3:GetObject` den auf die Konto-ID `111122223333`:

------
#### [ JSON ]

****  

  ```
  {
    "Id": "ExamplePolicy1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "ExampleStmt1",
        "Action": [
          "s3:GetObject"
        ],
        "Effect": "Allow",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
        "Principal": {
          "AWS": [
            "111122223333"
          ]
        }
      }
    ]
  }
  ```

------

**Um dem Benutzer in Konto b Zugriff über die AWS KMS Schlüsselrichtlinie in Konto a zu gewähren**

1. Erteilen Sie in der AWS KMS Schlüsselrichtlinie für Konto A der Rolle, die Konto B einnimmt, Berechtigungen für die folgenden Aktionen:
   +  `kms:Encrypt` 
   +  `kms:Decrypt` 
   +  `kms:ReEncrypt*` 
   +  `kms:GenerateDataKey*` 
   +  `kms:DescribeKey` 

   Im folgenden Beispiel wird nur einer IAM-Rolle der Schlüsselzugriff gewährt.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowUseOfTheKey",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/role_name"
               },
               "Action": [
                   "kms:Encrypt",
                   "kms:Decrypt",
                   "kms:ReEncrypt*",
                   "kms:GenerateDataKey*",
                   "kms:DescribeKey"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Überprüfen Sie von Konto A aus die Schlüsselrichtlinie [in der AWS-Managementkonsole Richtlinienansicht](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-how-to-console-policy-view).

1. Überprüfen Sie in der Schlüsselrichtlinie, ob in der folgenden Anweisung Konto B als Prinzipal aufgeführt wird.

   ```
   "Sid": "Allow use of the key" 
   ```

1. Wenn die `"Sid": "Allow use of the key"`-Anweisung nicht vorhanden ist, führen Sie die folgenden Schritte aus:

   1. Wechseln Sie, um die Schlüsselrichtlinie [mithilfe der Standardansicht der Konsole anzuzeigen](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-how-to-console-default-view). 

   1.  Fügen Sie die Konto-ID von Konto B als externes Konto mit Zugriff auf den Schlüssel hinzu.

**So gewähren Sie von der von Konto B übernommenen IAM-Rolle aus Zugriff auf den Bucket und den Schlüssel in Konto A**

1. Öffnen Sie von Konto B aus die IAM-Konsole unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Öffnen Sie die IAM-Rolle, die dem Benutzer in Konto B zugeordnet ist.

1. Überprüfen Sie die Liste der Berechtigungsrichtlinien, die auf eine IAM-Rolle angewendet werden.

1. Stellen Sie sicher, dass eine Richtlinie angewendet wird, die Zugriff auf den Bucket gewährt.

   Die folgende Beispielanweisung gewährt der IAM-Rolle Zugriff auf die Operationen `s3:GetObject` und `s3:PutObject` im Bucket `amzn-s3-demo-bucket`:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "ExampleStmt2",
         "Action": [
           "s3:GetObject",
           "s3:PutObject"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
       }
     ]
   }
   ```

------

1. Stellen Sie sicher, dass eine Richtlinie angewendet wird, die Zugriff auf den Schlüssel gewährt.
**Anmerkung**  
Wenn die von Konto B übernommene IAM-Rolle bereits über [Administratorzugriff](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) verfügt, müssen Sie keinen Zugriff auf den Schlüssel aus den IAM-Richtlinien des Benutzers gewähren.

   Die folgende Beispielanweisung gewährt der IAM-Rolle Zugriff auf die Verwendung des Schlüssels `arn:aws:kms:us-west-2:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "ExampleStmt3",
         "Action": [
           "kms:Decrypt",
           "kms:DescribeKey",
           "kms:Encrypt",
           "kms:GenerateDataKey",
           "kms:ReEncrypt*"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:kms:us-west-2:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd"
       }
     ]
   }
   ```

------

## Kontenübergreifenden Zugriff auf Bucket-Objekte konfigurieren
<a name="cross-account-permissions-objects"></a>

Für Objekte, die von einem Konto (Konto C) hochgeladen werden, das nicht dem Bucket gehört (Konto A), ist möglicherweise eine explizite Objektebene erforderlich, die Lesezugriff auf ACLs das abfragende Konto (Konto B) gewährt. Um diese Anforderung zu vermeiden, sollte Konto C eine Rolle in Konto A übernehmen, bevor Objekte in den Bucket von Konto A platziert werden. Weitere Informationen finden Sie unter [How can I provide cross-account access to objects that are in Amazon S3 buckets?](https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/).

# Konfigurieren Sie den Zugriff auf Datenbanken und Tabellen in der AWS Glue Data Catalog
<a name="fine-grained-access-to-glue-resources"></a>

Wenn Sie das AWS Glue Data Catalog mit Amazon Athena verwenden, können Sie Richtlinien auf Ressourcenebene für die Datenbank- und Tabellendatenkatalogobjekte definieren, die in Athena verwendet werden.

**Anmerkung**  
Dieses Thema behandelt die Sicherheit auf Datenbank- und Tabellenebene. Hinweise zum Konfigurieren der Sicherheit auf Spalten-, Zeilen- und Zellen-Ebene finden Sie unter [Daten-Filterung und Sicherheit auf Zellen-Ebene in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/data-filtering.html). 

Berechtigungen auf Ressourcenebene werden in identitätsbasierten IAM-Richtlinien definiert.

**Wichtig**  
In diesem Abschnitt werden Berechtigungen auf Ressourcenebene in identitätsbasierten IAM-Richtlinien besprochen. Diese unterscheiden sich von ressourcenbasierten Richtlinien. Weitere Informationen zu den Unterschieden finden Sie unter [Identitätsbasierte Richtlinien und ressourcenbasierte Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) im *IAM-Benutzerhandbuch*.

Beachten Sie für diese Aufgaben folgende Themen: 


| Zur Ausführung dieser Aufgabe | Beachten Sie folgendes Thema | 
| --- | --- | 
| Erstellen Sie eine IAM-Richtlinie, die Zugriff auf Ressourcen definiert | [Erstellen von IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) im IAM-Benutzerhandbuch. | 
| Erfahren Sie mehr über identitätsbasierte IAM-Richtlinien, die in verwendet werden AWS Glue | [ Identitätsbasierte Richtlinien (IAM-Richtlinien)](https://docs.aws.amazon.com/glue/latest/dg/using-identity-based-policies.html) im AWS Glue -Entwicklerhandbuch.  | 

 **In diesem Abschnitt** 
+  [Einschränkungen](#access-to-glue-resources-limitations) 
+  [Konfigurieren Sie AWS Glue den Zugriff auf Ihren Katalog und Ihre Datenbank per AWS-Region](#full-access-to-default-db-per-region) 
+  [Informationen zur Zugriffskontrolle für Tabellenpartitionen und Versionen in AWS Glue](#access-to-glue-resources-table-partitions-and-versions) 
+  [Beispiele für Berechtigungen auf Datenbank- und Tabellenebene](#examples-fine-grained-table-database-policies) 

## Einschränkungen
<a name="access-to-glue-resources-limitations"></a>

Beachten Sie die folgenden Einschränkungen, wenn Sie die Zugriffskontrolle auf Datenbank- und Tabellenebene für die AWS Glue Data Catalog und Athena verwenden:
+ Für IAM Identity Center aktivierte Athena-Arbeitsgruppen muss Lake Formation für die Verwendung von IAM-Identity-Center-Identitäten konfiguriert sein. Weitere Informationen finden Sie unter [Integration von IAM Identity Center](https://docs.aws.amazon.com/lake-formation/latest/dg/identity-center-integration.html) im *AWS Lake Formation -Entwicklerhandbuch*. 
+ Sie können den Zugriff nur auf Datenbanken und Tabellen beschränken. Diese Kontrollen gelten auf Tabellenebene. Sie können den Zugriff nicht auf einzelne Partitionen innerhalb einer Tabelle beschränken. Weitere Informationen finden Sie unter [Informationen zur Zugriffskontrolle für Tabellenpartitionen und Versionen in AWS Glue](#access-to-glue-resources-table-partitions-and-versions).
+ Das AWS Glue Data Catalog enthält die folgenden Ressourcen:`CATALOG`,`DATABASE`, `TABLE` und. `FUNCTION` 
**Anmerkung**  
Aus dieser Liste gehen die Ressourcen hervor, die Athena und die gemeinsam AWS Glue Data Catalog haben `TABLE``DATABASE`, und `CATALOG` für jedes Konto. `Function`ist spezifisch für. AWS Glue Zum Löschen von Aktionen in Athena müssen Sie Berechtigungen für AWS Glue -Aktionen einschließen. Siehe [Beispiele für Berechtigungen auf Datenbank- und Tabellenebene](#examples-fine-grained-table-database-policies).

  Die Hierarchie lautet wie folgt: `CATALOG` ist ein Vorgänger von allen `DATABASES` in jedem Konto und jede `DATABASE` ist ein Vorgänger für alle ihre `TABLES` und `FUNCTIONS`. Beispiel: Für eine Tabelle mit dem Namen `table_test` einer Datenbank `db` im Katalog in Ihrem Konto sind ihre Vorgänger `db` und der Katalog in Ihrem Konto. Für die `db`-Datenbank ist ihr Vorgänger der Katalog in Ihrem Konto und ihre untergeordneten Elemente sind Tabellen und Funktionen. Weitere Informationen zur hierarchischen Struktur von Ressourcen finden Sie im *AWS Glue Developer Guide* unter [List of ARNs in Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/glue-specifying-resource-arns.html#data-catalog-resource-arns). 
+ Für jede Nicht-Löschaktion in Athena auf einer Ressource, z. B. `CREATE DATABASE`, `CREATE TABLE`, `SHOW DATABASE`, `SHOW TABLE` oder `ALTER TABLE`, benötigen Sie Berechtigungen zum Aufrufen dieser Aktion auf dieser Ressource (Tabelle oder Datenbank) und alle Vorgänger dieser Ressource in Datenkatalog. Beispielsweise sind die Vorgänger einer Tabelle die Datenbank, zu der sie gehört, und der Katalog für das Konto. Für eine Datenbank ist ihr Vorgänger der Katalog für das Konto. Siehe [Beispiele für Berechtigungen auf Datenbank- und Tabellenebene](#examples-fine-grained-table-database-policies). 
+ Für eine Löschaktion in Athena, wie z. B. `DROP DATABASE` oder `DROP TABLE`, müssen Sie auch Berechtigungen zum Aufrufen der Löschaktion auf allen Vorgängern und untergeordneten Elemente der Ressource im Datenkatalog besitzen. Wenn Sie beispielsweise eine Datenbank löschen, benötigen Sie Berechtigungen für die Datenbank, den Katalog, der ihr untergeordnetes Element ist, sowie alle Tabellen und benutzerdefinierten Funktionen, die untergeordnete Elemente von ihnen sind. Eine Tabelle hat keine untergeordneten Elemente. Zur Ausführung von `DROP TABLE` müssen Sie Berechtigungen für diese Aktion auf der Tabelle der Datenbank, zu dem sie gehört, und den Katalog haben. Siehe [Beispiele für Berechtigungen auf Datenbank- und Tabellenebene](#examples-fine-grained-table-database-policies).

## Konfigurieren Sie AWS Glue den Zugriff auf Ihren Katalog und Ihre Datenbank per AWS-Region
<a name="full-access-to-default-db-per-region"></a>

Damit Athena mit dem arbeiten kann AWS Glue, AWS-Region ist eine Richtlinie erforderlich, die Zugriff auf Ihre Datenbank und auf die AWS Glue Data Catalog in Ihrem Konto per gewährt. Um Datenbanken zu erstellen, ist ebenfalls eine `CreateDatabase`-Genehmigung erforderlich. Ersetzen Sie in der folgenden Beispielrichtlinie AWS-Region die AWS-Konto ID und den Datenbanknamen durch Ihre eigenen.

```
{
   "Sid": "DatabasePermissions",
   "Effect": "Allow",
   "Action": [
      "glue:GetDatabase", 
      "glue:GetDatabases",
      "glue:CreateDatabase"
   ],
   "Resource": [
     "arn:aws:glue:us-east-1:123456789012:catalog",
     "arn:aws:glue:us-east-1:123456789012:database/default"
   ]
}
```

## Informationen zur Zugriffskontrolle für Tabellenpartitionen und Versionen in AWS Glue
<a name="access-to-glue-resources-table-partitions-and-versions"></a>

In AWS Glue können Tabellen Partitionen und Versionen haben. Tabellenversionen und Partitionen werden nicht als unabhängige Ressourcen in betrachtet AWS Glue. Zugriff auf die Tabellenversionen und -partitionen wird durch Erteilen des Zugriffs auf die Tabelle und Vorgängerressourcen für die Tabelle gewährt. 

Für die Zwecke der Zugriffskontrolle gelten die folgenden Zugriffsberechtigungen:
+ Kontrollen gelten auf Tabellenebene. Sie können den Zugriff nur auf Datenbanken und Tabellen beschränken. Wenn Sie zum Beispiel den Zugriff auf eine partitionierte Tabelle gewähren, gilt dies für alle Partitionen in der Tabelle. Sie können den Zugriff nicht auf einzelne Partitionen innerhalb einer Tabelle beschränken. 
**Wichtig**  
Um Aktionen AWS Glue auf Partitionen auszuführen, sind Berechtigungen für Partitionsaktionen auf Katalog-, Datenbank- und Tabellenebene erforderlich. Der Zugriff auf Partitionen innerhalb einer Tabelle ist nicht ausreichend. Um z. B. `GetPartitions` auf Tabelle `myTable` in der Datenbank `myDB` auszuführen, müssen Sie `glue:GetPartitions` die Berechtigungen für den Katalog, die `myDB`-Datenbank und die `myTable`-Ressourcen erteilen. 
+ Zugriffskontrollen gelten nicht für Tabellenversionen. Wie bei Partitionen wird der Zugriff auf frühere Versionen einer Tabelle über den Zugriff auf die Tabellenversion APIs in der Tabelle und AWS Glue auf die übergeordneten Tabellenversionen gewährt.

Informationen zu Berechtigungen für AWS Glue Aktionen finden Sie unter [AWS Glue API-Berechtigungen: Referenz zu Aktionen und Ressourcen](https://docs.aws.amazon.com/glue/latest/dg/api-permissions-reference.html) im *AWS Glue Entwicklerhandbuch*. 

## Beispiele für Berechtigungen auf Datenbank- und Tabellenebene
<a name="examples-fine-grained-table-database-policies"></a>

In der folgenden Tabelle sind Beispiele für identitätsbasierte IAM-Richtlinien aufgeführt, die einen Zugriff auf Datenbanken und Tabellen in Athena ermöglichen. Wir empfehlen Ihnen, mit diesen Beispielen zu beginnen und diese Ihren Anforderungen entsprechend anzupassen, um bestimmte Aktionen für einzelne Datenbanken und Tabellen zuzulassen oder zu verweigern.

Zu diesen Beispielen gehört der Zugriff auf Datenbanken und Kataloge, sodass Athena und ich zusammenarbeiten AWS Glue können. Fügen Sie für mehrere AWS Regionen ähnliche Richtlinien für jede Ihrer Datenbanken und Kataloge hinzu, jeweils eine Zeile für jede Region. 

Ersetzen Sie in den Beispielen außerdem die Namen der `example_db`-Datenbank und `test`-Tabelle durch die Namen Ihrer Datenbanken und Tabellen.


| DDL-Anweisung | Beispiel für eine IAM-Zugriffsrichtlinie, die Zugriff auf die Ressource erteilt | 
| --- | --- | 
| ALTER DATABASE | Hiermit können Sie die Eigenschaften für die example\$1db-Datenbank ändern.<pre>{<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase", <br />      "glue:UpdateDatabase"<br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db"<br />   ]<br />}</pre> | 
| CREATE DATABASE | Hiermit können Sie die Datenbank mit dem Namen example\$1db erstellen.<pre>{<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase", <br />      "glue:CreateDatabase"<br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db"<br />   ]<br />}<br /></pre> | 
| CREATE TABLE | Hiermit können Sie eine Tabelle mit dem Namen test in der example\$1db-Datenbank erstellen.<pre>{<br />   "Sid": "DatabasePermissions",<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase", <br />      "glue:GetDatabases"<br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db"<br />   ]<br />},<br />{<br />   "Sid": "TablePermissions",<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetTables",<br />      "glue:GetTable",<br />      "glue:GetPartitions",<br />      "glue:CreateTable"<br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db",<br />     "arn:aws:glue:us-east-1:123456789012:table/example_db/test"<br />   ]<br />}</pre> | 
| DROP DATABASE | Hiermit können Sie die example\$1db-Datenbank mit allen darin enthaltenen Tabellen löschen.<pre>{<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase",<br />      "glue:DeleteDatabase",<br />      "glue:GetTables", <br />      "glue:GetTable", <br />      "glue:DeleteTable" <br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db", <br />     "arn:aws:glue:us-east-1:123456789012:table/example_db/*", <br />     "arn:aws:glue:us-east-1:123456789012:userDefinedFunction/example_db/*"<br />   ]<br /> }</pre> | 
| DROP TABLE | Hiermit können Sie eine partitionierte Tabelle mit dem Namen test in der example\$1db-Datenbank löschen. Falls Ihre Tabelle keine Partitionen hat, nehmen Sie keine Aktionen für Partitionen auf.<pre>{<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase",<br />      "glue:GetTable",<br />      "glue:DeleteTable", <br />      "glue:GetPartitions",<br />      "glue:GetPartition",<br />      "glue:DeletePartition" <br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db", <br />     "arn:aws:glue:us-east-1:123456789012:table/example_db/test"<br />   ]<br /> }</pre> | 
| MSCK REPAIR TABLE | Ermöglicht das Aktualisieren von Katalog-Metadaten, nachdem Sie Hive-kompatible Partitionen zur Tabelle mit dem Namen test in die example\$1db-Datenbank hinzugefügt haben.<pre>{<br />    "Effect": "Allow",<br />    "Action": [<br />        "glue:GetDatabase",<br />        "glue:CreateDatabase",<br />        "glue:GetTable",<br />        "glue:GetPartitions",<br />        "glue:GetPartition",<br />        "glue:BatchCreatePartition"<br />    ],<br />    "Resource": [<br />      "arn:aws:glue:us-east-1:123456789012:catalog",<br />      "arn:aws:glue:us-east-1:123456789012:database/example_db", <br />      "arn:aws:glue:us-east-1:123456789012:table/example_db/test"<br />    ]<br />}</pre> | 
| SHOW DATABASES | Hiermit können Sie alle Datenbanken in AWS Glue Data Catalog auflisten.<pre>{<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase",<br />      "glue:GetDatabases" <br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/*"<br />   ]<br /> }</pre> | 
| SHOW TABLES | Hiermit können Sie alle Tabellen in der example\$1db-Datenbank auflisten.<pre>{<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase",<br />      "glue:GetTables"    <br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db",  <br />     "arn:aws:glue:us-east-1:123456789012:table/example_db/*"<br />   ]<br />}</pre> | 

# Kontenübergreifenden Zugriff auf AWS Glue Datenkataloge konfigurieren
<a name="security-iam-cross-account-glue-catalog-access"></a>

Sie können die kontoübergreifende AWS Glue Katalogfunktion von Athena verwenden, um einen Katalog von einem AWS Glue anderen Konto als Ihrem eigenen aus zu registrieren. Nachdem Sie die erforderlichen IAM-Berechtigungen für AWS Glue konfiguriert und den Katalog als Athena-[DataCatalog](https://docs.aws.amazon.com/athena/latest/APIReference/API_DataCatalog.html)-Ressource registriert haben, können Sie Athena verwenden, um kontoübergreifende Abfragen auszuführen. Informationen zur Verwendung der Athena-Konsole zum Registrieren eines Katalogs von einem anderen Konto finden Sie unter [Einen Datenkatalog von einem anderen Konto aus registrieren](data-sources-glue-cross-account.md).

*Weitere Informationen zum kontoübergreifenden Zugriff finden Sie unter [Gewähren von kontenübergreifendem Zugriff im Entwicklerhandbuch](https://docs.aws.amazon.com/glue/latest/dg/cross-account-access.html). AWS GlueAWS Glue *

## Bevor Sie beginnen
<a name="security-iam-cross-account-glue-catalog-access-before-you-start"></a>

Da diese Funktion vorhandene `DataCatalog` Ressourcen APIs und Funktionen von Athena verwendet, um den kontoübergreifenden Zugriff zu ermöglichen, empfehlen wir Ihnen, die folgenden Ressourcen zu lesen, bevor Sie beginnen:
+ [Verbinden zu Datenquellen](work-with-data-stores.md)- Enthält Themen zur Verwendung von Athena mit AWS Glue, Hive oder Lambda-Datenkatalogquellen.
+ [Datenkatalog-Beispielrichtlinien](datacatalogs-example-policies.md) – Zeigt, wie Richtlinien geschrieben werden, die den Zugriff auf Datenkataloge steuern.
+ [Verwenden Sie die AWS CLI mit Hive-Metastoren](datastores-hive-cli.md)— Zeigt, wie Metastore AWS CLI mit Hive verwendet werden, enthält jedoch Anwendungsfälle, die auf andere Datenquellen anwendbar sind.

## Überlegungen und Einschränkungen
<a name="security-iam-cross-account-glue-catalog-access-considerations-and-limitations"></a>

Derzeit gelten für den kontoübergreifenden Zugriff auf den AWS Glue Athena-Katalog die folgenden Einschränkungen:
+ Die Funktion ist nur verfügbar, AWS-Regionen wenn die Athena-Engine-Version 2 oder höher unterstützt wird. Weitere Informationen über Athena-Engine-Versionen finden Sie unter [Athena-Engine-Versionierung](engine-versions.md). Informationen zum Aktualisieren der Engine-Version für eine Arbeitsgruppe finden Sie unter [Athena-Engine-Versionen ändern](engine-versions-changing.md).
+ Wenn Sie ein anderes Konto AWS Glue Data Catalog in Ihrem Konto registrieren, erstellen Sie eine regionale `DataCatalog` Ressource, die nur mit den Daten des anderen Kontos in dieser bestimmten Region verknüpft ist.
+ Derzeit werden `CREATE VIEW`-Anweisungen, die einen kontoübergreifenden AWS Glue -Katalog enthalten, nicht unterstützt.
+ Kataloge, die mit AWS verwalteten Schlüsseln verschlüsselt wurden, können nicht kontenübergreifend abgefragt werden. Für Kataloge, die Sie kontenübergreifend abfragen möchten, verwenden Sie stattdessen vom Kunden verwaltete Schlüssel (`KMS_CMK`). *Informationen zu den Unterschieden zwischen vom Kunden verwalteten Schlüsseln und AWS verwalteten Schlüsseln finden Sie im Entwicklerhandbuch unter [AWS Kundenschlüssel und Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt                     ).AWS Key Management Service * 

## Erste Schritte
<a name="security-iam-cross-account-glue-catalog-getting-started"></a>

Im folgenden Szenario möchte das Konto „Kreditnehmer“ (666666666666) eine `SELECT` Abfrage ausführen, die sich auf den AWS Glue Katalog bezieht, der zum Konto „Besitzer“ (999999999999) gehört, wie im folgenden Beispiel:

```
SELECT * FROM ownerCatalog.tpch1000.customer
```

Im folgenden Verfahren wird in den Schritten 1a und 1b gezeigt, wie dem Kreditnehmerkonto sowohl vom Kreditnehmer als auch vom Eigentümer aus Zugriff auf die Ressourcen des Eigentümerkontos gewährt wird. AWS Glue Das Beispiel gewährt Zugriff auf die Datenbank `tpch1000` und die Tabelle `customer`. Ändern Sie diese Beispielnamen entsprechend Ihren Anforderungen.

### Schritt 1a: Erstellen Sie eine Kreditnehmerrolle mit einer Richtlinie für den Zugriff auf die Ressourcen des Eigentümers AWS Glue
<a name="security-iam-cross-account-glue-catalog-access-step-1a"></a>

[Um eine Rolle für ein Kreditnehmerkonto mit einer Richtlinie für den Zugriff auf die AWS Glue Ressourcen des Eigentümerkontos zu erstellen, können Sie die AWS Identity and Access Management (IAM-) Konsole oder die IAM-API verwenden.](https://docs.aws.amazon.com/IAM/latest/APIReference/API_Operations.html) Die folgenden Verfahren verwenden die IAM-Konsole.

**Um eine Kreditnehmerrolle und eine Richtlinie für den Zugriff auf die Ressourcen des Eigentümerkontos zu erstellen AWS Glue**

1. Melden Sie sich über das Kreditnehmerkonto bei der [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)IAM-Konsole an.

1. Erweitern Sie im Navigationsbereich die Option **Zugriffsverwaltung**, und wählen Sie dann **Richtlinien** aus.

1. Wählen Sie **Richtlinie erstellen** aus.

1. Wählen Sie für **Richtlinien-Editor** die Option **JSON** aus.

1. Geben Sie im Richtlinieneditor die folgende Richtlinie ein und ändern Sie sie dann entsprechend Ihren Anforderungen:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "glue:*",
               "Resource": [
                   "arn:aws:glue:us-east-1:999999999999:catalog",
                   "arn:aws:glue:us-east-1:999999999999:database/tpch1000",
                   "arn:aws:glue:us-east-1:999999999999:table/tpch1000/customer"
               ]
           }
       ]
   }
   ```

------

1. Wählen Sie **Weiter** aus.

1. Auf der Seite **Überprüfen und erstellen**, für **Name der Richtlinie**, geben Sie einen Namen für die Richtlinien ein (z. B. **CrossGluePolicyForBorrowerRole**).

1. Wählen Sie **Richtlinie erstellen** aus.

1. Wählen Sie im Navigationsbereich **Rollen** aus.

1. Wählen Sie **Create role** (Rolle erstellen) aus.

1. Wählen Sie auf der Seite **Vertrauenswürdige Entität auswählen** **AWS-Konto** und dann wählen Sie **Weiter**.

1. Geben Sie auf der Seite **Berechtigungen hinzufügen** den Namen der Richtlinie, die Sie erstellt haben, in das Suchfeld ein (z. B. **CrossGluePolicyForBorrowerRole**).

1. Aktivieren Sie das Kontrollkästchen neben der Richtlinie und wählen Sie anschließend **Weiter** aus.

1. Geben Sie auf der Seite **Name, review, and create** (Benennen, überprüfen und erstellen) für **Role name** (Rollenname) einen Namen für die Rolle ein (z. B. **CrossGlueBorrowerRole**).

1. Wählen Sie **Rolle erstellen** aus.

### Schritt 1b: Erstellen Sie eine Eigentümerrichtlinie, um dem Kreditnehmer AWS Glue Zugriff zu gewähren
<a name="security-iam-cross-account-glue-catalog-access-step-1b"></a>

Um vom Besitzerkonto (999999999999) aus AWS Glue Zugriff auf die Rolle des Kreditnehmers zu gewähren, können Sie die Konsole oder den API-Vorgang verwenden. AWS Glue AWS Glue [PutResourcePolicy](https://docs.aws.amazon.com/glue/latest/webapi/API_PutResourcePolicy.html) Das folgende Verfahren verwendet die Konsole. AWS Glue 

**Um dem Eigentümer AWS Glue Zugriff auf das Kreditnehmerkonto zu gewähren**

1. Melden Sie sich über das Besitzerkonto [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)bei der AWS Glue Konsole an.

1. Erweitern Sie im Navigationsbereich den Eintrag **Data Catalog** und wählen Sie dann **Katalogeinstellungen** aus.

1. Geben Sie im Feld **Berechtigungen** eine Richtlinie wie die folgende ein. Geben Sie für *rolename* die Rolle ein, die der Kreditnehmer in Schritt 1a erstellt hat (z. B.**CrossGlueBorrowerRole**). Wenn Sie den Berechtigungsumfang erweitern möchten, können Sie das Platzhalterzeichen `*` sowohl für den Datenbank- als auch für den Tabellenressourcentyp verwenden.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": [
                       "arn:aws:iam::666666666666:user/username",
                       "arn:aws:iam::666666666666:role/rolename"
                   ]
               },
               "Action": "glue:*",
               "Resource": [
                   "arn:aws:glue:us-east-1:999999999999:catalog",
                   "arn:aws:glue:us-east-1:999999999999:database/tpch1000",
                   "arn:aws:glue:us-east-1:999999999999:table/tpch1000/customer"
               ]
           }
       ]
   }
   ```

------

Wenn Sie fertig sind, empfehlen wir, die [AWS Glue -API](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api.html) zu verwenden, um einige kontoübergreifende Testaufrufe durchzuführen, um zu bestätigen, dass die Berechtigungen wie erwartet konfiguriert sind.

### Schritt 2: Der Kreditnehmer registriert das Konto AWS Glue Data Catalog , das zum Besitzerkonto gehört
<a name="security-iam-cross-account-glue-catalog-access-step-2"></a>

Das folgende Verfahren zeigt Ihnen, wie Sie die Athena-Konsole verwenden, um den AWS Glue Data Catalog im Amazon-Web-Services-Besitzerkonto als Datenquelle zu konfigurieren. Informationen zur Verwendung von API-Vorgängen anstelle der Konsole zum Registrieren des Katalogs finden Sie unter [(Optional) Verwenden Sie die API zum Registrieren eines Athena-Datenkatalogs, der zum Eigentümerkonto gehört](#security-iam-cross-account-glue-catalog-access-step-2-api).

**Um ein Konto zu registrieren, das zu einem anderen Konto AWS Glue Data Catalog gehört**

1. Öffnen Sie die Athena-Konsole unter [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Wenn der Navigationsbereich in der Konsole nicht sichtbar ist, wählen Sie das Erweiterungsmenü auf der linken Seite.  
![\[Wählen Sie das Erweiterungsmenü aus.\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/nav-pane-expansion.png)

1. Erweitern Sie **Administration** und wählen Sie dann **Datenquellen aus**.

1. Wählen Sie oben rechts **Create data source** (Datenquelle erstellen) aus.

1. **Wählen Sie auf der Seite Datenquelle** auswählen für **Datenquellen** die Option **S3 - AWS Glue Data Catalog** und wählen Sie dann **Weiter** aus.

1. Wählen Sie auf der Seite **Enter data source details** (Details zur Datenquelle eingeben) im Abschnitt **AWS Glue Data Catalog** für **Choose an AWS Glue Data Catalog** (auswählen) die Option **AWS Glue Data Catalog in another account** (in einem anderen Konto) aus.

1. Geben Sie für **Data source details** (Datenquellen-Details) die folgenden Informationen ein:
   + **Data source name** (Datenquellenname) – Geben Sie den Namen ein, den Sie in Ihren SQL-Abfragen verwenden möchten, um auf den Datenkatalog im anderen Konto zu verweisen.
   + **Beschreibung** – (Optional) Geben Sie eine Beschreibung des Datenkatalogs im anderen Konto ein.
   + **Katalog-ID** – Geben Sie die 12-stellige Amazon-Web-Services-Konto-ID des Kontos ein, zu dem der Datenkatalog gehört. Die Amazon-Web-Services-Konto-ID ist die Katalog-ID.

1. (Optional) Erweitern Sie **Tags** und geben Sie Schlüssel-Wert-Paare ein, die Sie mit der Datenquelle verknüpfen möchten. Weitere Informationen zu Tags erhalten Sie unter [Athena-Ressourcen markieren](tags.md).

1. Wählen Sie **Weiter** aus.

1. Überprüfen Sie auf der Seite **Review and create** (Überprüfen und erstellen) die von Ihnen bereitgestellten Informationen, und wählen Sie dann **Create data source** (Datenquelle erstellen) aus. Die Seite **Data source details** (Datenquellen-Details) listet die Datenbanken und Tags für den von Ihnen registrierten Datenkatalog auf.

1. Wählen Sie **Datenquellen und Kataloge** aus. Der von Ihnen registrierte Datenkatalog wird in der Spalte **Data source name** (Datenquellen-Name) aufgeführt.

1. Um Informationen zum Datenkatalog anzuzeigen oder zu bearbeiten, wählen Sie den Katalog und dann **Actions** (Aktionen), **Edit** (Bearbeiten) aus.

1. Um den neuen Datenkatalog zu löschen, wählen Sie den Katalog und dann **Actions** (Aktionen), **Delete** (Löschen) aus.

### Schritt 3: Der Empfänger sendet eine Abfrage
<a name="security-iam-cross-account-glue-catalog-access-step-4"></a>

Der Kreditnehmer sendet eine Abfrage, die auf den Katalog verweist, mithilfe von. *catalog* *database*. *table*Syntax, wie im folgenden Beispiel:

```
SELECT * FROM ownerCatalog.tpch1000.customer
```

Anstatt die vollqualifizierte Syntax zu verwenden, kann der Kreditnehmer den Katalog auch kontextbezogen angeben, indem er ihn über die weitergibt. [QueryExecutionContext](https://docs.aws.amazon.com/athena/latest/APIReference/API_QueryExecutionContext.html)

## (Optional) Zusätzliche Amazon-S3-Berechtigungen konfigurieren
<a name="security-iam-cross-account-glue-catalog-access-additional-s3-permissions"></a>
+ Wenn das Empfängerkonto eine Athena-Abfrage verwendet, um neue Daten in eine Tabelle im Besitzerkonto zu schreiben, hat der Besitzer nicht automatisch Zugriff auf diese Daten in Amazon S3, obwohl die Tabelle im Konto des Eigentümers vorhanden ist. Dies liegt daran, dass der Empfänger der Objekteigentümer der Informationen in Amazon S3 ist, sofern nicht anders konfiguriert. Um dem Besitzer Zugriff auf die Daten zu gewähren, legen Sie die Berechtigungen für die Objekte entsprechend als zusätzlichen Schritt fest.
+ Bestimmte kontoübergreifende DDL-Vorgänge wie [MSCK REPAIR TABLE](msck-repair-table.md) erfordern Amazon-S3-Berechtigungen. Wenn beispielsweise das Empfängerkonto eine kontoübergreifende `MSCK REPAIR`-Operation für eine Tabelle im Konto des Eigentümers durchführt, deren Daten sich in einem S3-Bucket des Kontos des Eigentümers befinden, muss dieser Bucket der vom Kreditnehmer übernommenen Rolle Berechtigungen gewähren, damit die Abfrage erfolgreich ist .

Informationen zum Erteilen von Bucket-Berechtigungen finden Sie unter [Wie lege ich ACL-Bucket-Berechtigungen fest?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/set-bucket-permissions.html) im *Benutzerhandbuch für Amazon Simple Storage Service*.

## (Optional) Einen Katalog dynamisch verwenden
<a name="security-iam-cross-account-glue-catalog-access-dynamic-catalogs"></a>

In einigen Fällen möchten Sie möglicherweise schnell einen kontoübergreifenden AWS Glue -Katalog testen, ohne ihn registrieren zu müssen. Sie können kontoübergreifende Abfragen dynamisch ausführen, ohne das Ressourcenobjekt `DataCatalog` zu erstellen, wenn die erforderlichen IAM- und Amazon-S3-Berechtigungen wie zuvor in diesem Dokument beschrieben korrekt konfiguriert sind.

Verwenden Sie die Syntax im folgenden Beispiel, um explizit auf einen Katalog ohne Registrierung zu verweisen:

```
SELECT * FROM "glue:arn:aws:glue:us-east-1:999999999999:catalog".tpch1000.customer
```

Verwenden Sie das Format „`glue:<arn>`“, wobei `<arn>` der [AWS Glue Data Catalog -ARN](https://docs.aws.amazon.com/glue/latest/dg/glue-specifying-resource-arns.html#data-catalog-resource-arns) ist, den Sie verwenden möchten. In diesem Beispiel verwendet Athena diese Syntax, um dynamisch auf den AWS Glue Datenkatalog des Kontos 999999999999 zu verweisen, als ob Sie ein separates Objekt dafür erstellt hätten. `DataCatalog`

### Hinweise zur Verwendung dynamischer Kataloge
<a name="security-iam-cross-account-glue-catalog-access-notes-dynamic-catalogs"></a>

Beachten Sie beim Verwenden von dynamischen Katalogen die folgenden Punkte.
+ Die Verwendung eines dynamischen Katalogs erfordert die IAM-Berechtigungen, die Sie normalerweise für Athena-Datenkatalog-API-Vorgänge verwenden. Der Hauptunterschied besteht darin, dass der Name der Datenkatalog-Ressource der `glue:*`-Namenskonvention folgt.
+ Der Katalog-ARN muss zu derselben Region gehören, in der die Abfrage ausgeführt wird.
+ Wenn Sie einen dynamischen Katalog in einer DML-Abfrage oder -Ansicht verwenden, umgeben Sie ihn mit Escapezeichen in doppelten Anführungszeichen (`\"`). Wenn Sie einen dynamischen Katalog in einer DDL-Abfrage verwenden, umgeben Sie ihn mit Backtick-Zeichen (```).

## (Optional) Verwenden Sie die API zum Registrieren eines Athena-Datenkatalogs, der zum Eigentümerkonto gehört
<a name="security-iam-cross-account-glue-catalog-access-step-2-api"></a>

Anstatt die Athena-Konsole wie in Schritt 2 beschrieben zu verwenden, ist es möglich, API-Vorgänge zu verwenden, um den Datenkatalog zu registrieren, der zum Eigentümerkonto gehört.

Der Ersteller der [DataCatalog](https://docs.aws.amazon.com/athena/latest/APIReference/API_DataCatalog.html)Athena-Ressource muss über die erforderlichen Berechtigungen verfügen, um den [CreateDataCatalog](https://docs.aws.amazon.com/athena/latest/APIReference/API_CreateDataCatalog.html)Athena-API-Vorgang auszuführen. Abhängig von Ihren Anforderungen kann der Zugriff auf zusätzliche API-Vorgänge erforderlich sein. Weitere Informationen finden Sie unter [Datenkatalog-Beispielrichtlinien](datacatalogs-example-policies.md).

Der folgende `CreateDataCatalog` Anforderungstext registriert einen AWS Glue Katalog für den kontoübergreifenden Zugriff:

```
# Example CreateDataCatalog request to register a cross-account Glue catalog:
{
    "Description": "Cross-account Glue catalog",
    "Name": "ownerCatalog",
    "Parameters": {"catalog-id" : "999999999999"  # Owner's account ID
    },
    "Type": "GLUE"
}
```

Der folgende Beispielcode verwendet einen Java-Client, um das `DataCatalog`-Objekt zu erstellen.

```
# Sample code to create the DataCatalog through Java client
CreateDataCatalogRequest request = new CreateDataCatalogRequest()
    .withName("ownerCatalog")
    .withType(DataCatalogType.GLUE)
    .withParameters(ImmutableMap.of("catalog-id", "999999999999"));

athenaClient.createDataCatalog(request);
```

Nach diesen Schritten sollte der Kreditnehmer sehen, `ownerCatalog` wann er den [ListDataCatalogs](https://docs.aws.amazon.com/athena/latest/APIReference/API_ListDataCatalogs.html)API-Vorgang aufruft.

## Weitere Ressourcen
<a name="security-iam-cross-account-glue-catalog-access-additional-resources"></a>
+ [Einen Datenkatalog von einem anderen Konto aus registrieren](data-sources-glue-cross-account.md)
+ Im Leitfaden *AWS Prescriptive* Guidance [Patterns können Sie den kontoübergreifenden Zugriff auf eine gemeinsam genutzte Website AWS Glue Data Catalog mithilfe von Amazon Athena konfigurieren](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/configure-cross-account-access-to-a-shared-aws-glue-data-catalog-using-amazon-athena.html).
+ [Kontenübergreifende AWS Glue Data Catalog Abfragen mit Amazon Athena](https://aws.amazon.com/blogs/big-data/query-cross-account-aws-glue-data-catalogs-using-amazon-athena/) im *AWS Big* Data-Blog
+ *[Gewähren von kontenübergreifendem Zugriff](https://docs.aws.amazon.com/glue/latest/dg/cross-account-access.html) im AWS Glue -Entwicklerhandbuch* 

# Konfigurieren Sie den Zugriff von Athena auf verschlüsselte Metadaten in AWS Glue Data Catalog
<a name="access-encrypted-data-glue-data-catalog"></a>

Wenn Sie das AWS Glue Data Catalog mit Amazon Athena verwenden, können Sie die Verschlüsselung AWS Glue Data Catalog über die AWS Glue Konsole oder die API aktivieren. Informationen hierzu finden Sie unter [Verschlüsseln Ihres Datenkatalogs](https://docs.aws.amazon.com/glue/latest/dg/encrypt-glue-data-catalog.html) im *AWS Glue -Entwicklerhandbuch*.

Wenn der verschlüsselt AWS Glue Data Catalog ist, müssen Sie allen Richtlinien, die für den Zugriff auf Athena verwendet werden, die folgenden Aktionen hinzufügen:

Wenn Sie IAM-Richtlinien verwenden, stellen Sie sicher, dass Sie die bewährten IAM-Methoden befolgen. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

# Zugriff auf Arbeitsgruppen und Tags konfigurieren
<a name="workgroups-access"></a>

Eine Arbeitsgruppe ist eine von Athena verwaltete Ressource. Wenn Ihre Arbeitsgruppenrichtlinie daher Aktionen verwaltet, die `workgroup` als Eingabe verwenden, müssen Sie den ARN der Arbeitsgruppe wie folgt angeben, wobei `workgroup-name` der Name Ihrer Arbeitsgruppe ist:

```
"Resource": [arn:aws:athena:region:AWSAcctID:workgroup/workgroup-name]
```

Geben Sie zum Beispiel für eine Arbeitsgruppe mit dem Namen `test_workgroup` in der Region `us-west-2` für Amazon-Web-Services-Konto `123456789012` die Arbeitsgruppe als Ressource mit dem folgenden ARN an:

```
"Resource":["arn:aws:athena:us-east-2:123456789012:workgroup/test_workgroup"]
```

Um auf Arbeitsgruppen zugreifen zu können, die für Trusted Identity Propagation (TIP) aktiviert sind, müssen IAM Identity Center-Benutzer der Gruppe zugewiesen werden`IdentityCenterApplicationArn`, die von der Antwort der [GetWorkGroup](https://docs.aws.amazon.com/athena/latest/APIReference/API_GetWorkGroup.html)Athena-API-Aktion zurückgegeben wird.
+ Eine Liste mit Arbeitsgruppenrichtlinien finden Sie unter [Beispiel Arbeitsgruppenrichtlinien](example-policies-workgroup.md).
+ Eine Liste mit Tag-basierten Richtlinien für Arbeitsgruppen finden Sie unter [Tagbasierte IAM-Zugriffssteuerungsrichtlinien verwenden](tags-access-control.md).
+ Weitere Informationen zum Erstellen von IAM-Richtlinien für Arbeitsgruppen finden Sie unter [Verwenden Sie IAM-Richtlinien, um Arbeitsgruppen-Zugriff zu steuern](workgroups-iam-policy.md).
+ Eine vollständige Liste mit Amazon-Athena-Aktionen finden Sie unter den Namen von API-Aktionen in der [Amazon-Athena-API-Referenz](https://docs.aws.amazon.com/athena/latest/APIReference/). 
+ Weitere Informationen zu IAM-Richtlinien finden Sie unter [Erstellen von Richtlinien mit dem visuellen Editor](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-visual-editor) im *IAM-Benutzerhandbuch*. 

Wenn Sie IAM-Richtlinien verwenden, stellen Sie sicher, dass Sie die bewährten Methoden von IAM befolgen. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

# Verwenden Sie IAM-Richtlinien, um Arbeitsgruppen-Zugriff zu steuern
<a name="workgroups-iam-policy"></a>

Verwenden Sie zur Steuerung des Zugriffs auf Arbeitsgruppen IAM-Berechtigungen auf Ressourcenebene oder identitätsbasierte IAM-Richtlinien. Wenn Sie IAM-Richtlinien verwenden, stellen Sie sicher, dass Sie die bewährten IAM-Methoden befolgen. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

**Anmerkung**  
Um auf Arbeitsgruppen zugreifen zu können, die für die Verbreitung vertrauenswürdiger Identitäten aktiviert sind, müssen IAM Identity Center-Benutzer den Arbeitsgruppen zugewiesen werden`IdentityCenterApplicationArn`, die durch die Antwort der [GetWorkGroup](https://docs.aws.amazon.com/athena/latest/APIReference/API_GetWorkGroup.html)Athena-API-Aktion zurückgegeben werden.

Das folgende Verfahren gilt speziell für Athena. 

IAM-spezifische Informationen finden Sie unter den Links am Ende dieses Abschnitts. Weitere Informationen zu JSON-Arbeitsgruppen-Beispielrichtlinien finden Sie unter [Beispiel Arbeitsgruppenrichtlinien](example-policies-workgroup.md).

**Verwenden Sie den visuellen Editor in der IAM-Konsole, um eine Arbeitsgruppenrichtlinie zu erstellen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie im Navigationsbereich auf der linken Seite **Policies** (Richtlinien) und dann **Create Policy** (Richtlinie erstellen) aus.

1. Wählen Sie auf der Registerkarte **Visual editor** (Visueller Editor) die Option **Choose a service** (Wählen Sie einen Service) aus. Wählen Sie dann Athena aus, um es der Richtlinie hinzuzufügen.

1. Wählen Sie **Select actions** (Aktionen auswählen) und dann die Aktionen aus, die Sie der Richtlinie hinzufügen möchten. Im visuellen Editor werden die in Athena verfügbaren Aktionen angezeigt. Weitere Informationen finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Athena](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html) in der *Service-Autorisierungs-Referenz*.

1. Wählen Sie **Add actions** (Aktionen hinzufügen) aus, um eine bestimmte Aktion einzugeben, oder verwenden Sie Platzhalter (\$1), um mehrere Aktionen anzugeben. 

   Standardmäßig lässt die Richtlinie, die Sie erstellen, die Aktionen zu, die Sie auswählen. Wenn Sie eine oder mehrere Aktionen auswählen, die Berechtigungen auf Ressourcenebene für die `workgroup`-Ressource in Athena unterstützen, listet der Editor die `workgroup`-Ressource auf. 

1. Wählen Sie **Resources** (Ressourcen) aus, um die Arbeitsgruppen für Ihre Richtlinie anzugeben. Beispiele für JSON-Arbeitsgruppen-Richtlinien finden Sie unter [Beispiel Arbeitsgruppenrichtlinien](example-policies-workgroup.md).

1. Geben Sie die `workgroup`-Ressource wie folgt an:

   ```
   arn:aws:athena:<region>:<user-account>:workgroup/<workgroup-name>
   ```

1. Wählen Sie **Review policy (Richtlinie prüfen)** aus und geben Sie **Name** und **Description (Beschreibung)** (optional) für die zu erstellende Richtlinie ein. Prüfen Sie die Richtlinienübersicht, um sicherzustellen, dass Sie die beabsichtigten Berechtigungen erteilt haben. 

1. Wählen Sie **Create policy** (Richtlinie erstellen) aus, um Ihre neue Richtlinie zu speichern.

1. Hängen Sie diese identitätsbasierte Richtlinie an einen Benutzer, eine Gruppe oder eine Rolle an.

Weitere Informationen finden Sie in den folgenden Themen in der *Service Authorization Reference* und im *IAM-Benutzerhandbuch*:
+  [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Athena](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html) 
+  [Erstellen von Richtlinien mit dem visuellen Editor](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-visual-editor) 
+  [Hinzufügen und Entfernen von IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) 
+  [Steuern des Zugriffs auf Ressourcen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#access_controlling-resources) 

Beispiele für JSON-Arbeitsgruppen-Richtlinien finden Sie unter [Beispiel Arbeitsgruppenrichtlinien](example-policies-workgroup.md).

Eine vollständige Liste mit Amazon-Athena-Aktionen finden Sie unter den Namen von API-Aktionen in der [Amazon-Athena-API-Referenz](https://docs.aws.amazon.com/athena/latest/APIReference/). 

# Beispiel Arbeitsgruppenrichtlinien
<a name="example-policies-workgroup"></a>

In diesem Abschnitt sind Beispielrichtlinien enthalten, die Sie verwenden können, um verschiedene Aktionen in Arbeitsgruppen zu aktivieren. Wenn Sie IAM-Richtlinien verwenden, stellen Sie sicher, dass Sie die bewährten IAM-Methoden befolgen. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

Eine Arbeitsgruppe ist eine IAM-Ressource, die von Athena verwaltet wird. Wenn Ihre Arbeitsgruppenrichtlinie daher Aktionen verwaltet, die `workgroup` als Eingabe verwenden, müssen Sie den ARN der Arbeitsgruppe wie folgt angeben:

```
"Resource": [arn:aws:athena:<region>:<user-account>:workgroup/<workgroup-name>]
```

Hierbei ist `<workgroup-name>` der Name Ihrer Arbeitsgruppe. Eine Arbeitsgruppe mit dem Namen `test_workgroup` geben Sie beispielsweise wie folgt als Ressource an:

```
"Resource": ["arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"]
```

Eine vollständige Liste mit Amazon-Athena-Aktionen finden Sie unter den Namen von API-Aktionen in der [Amazon-Athena-API-Referenz](https://docs.aws.amazon.com/athena/latest/APIReference/). Weitere Informationen zu IAM-Richtlinien finden Sie unter [Erstellen von Richtlinien mit dem visuellen Editor](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-visual-editor) im *IAM-Benutzerhandbuch*. Weitere Informationen zum Erstellen von IAM-Richtlinien für Arbeitsgruppen finden Sie unter [Verwenden Sie IAM-Richtlinien, um Arbeitsgruppen-Zugriff zu steuern](workgroups-iam-policy.md).
+  [Example policy for full access to all workgroups](#example1-full-access-all-wkgs) 
+  [Example policy for full access to a specified workgroup](#example2-full-access-this-wkg) 
+  [Example policy for running queries in a specified workgroup](#example3-user-access) 
+  [Example policy for running queries in the primary workgroup](#example4-run-in-primary-access) 
+  [Example policy for management operations on a specified workgroup](#example5-manage-wkgs-access) 
+  [Example policy for listing workgroups](#example6-list-all-wkgs-access) 
+  [Example policy for running and stopping queries in a specific workgroup](#example7-run-queries-access) 
+  [Example policy for working with named queries in a specific workgroup](#example8-named-queries-access) 
+  [Example policy for working with Spark notebooks](#example9-spark-workgroup) 

**Example Beispielrichtlinie für Vollzugriff auf alle Arbeitsgruppen**  
Die folgende Richtlinie erlaubt den vollständigen Zugriff auf alle möglicherweise in dem Konto vorhandenen Arbeitsgruppenressourcen. Wir empfehlen Ihnen, diese Richtlinie für die Benutzer in Ihrem Konto zu verwenden, die Arbeitsgruppen für alle anderen Benutzer verwalten müssen.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

**Example Beispielrichtlinie für Vollzugriff auf eine angegebene Arbeitsgruppe**  
Die folgende Richtlinie gewährt vollständigen Zugriff auf eine einzelne Arbeitsgruppenressource namens `workgroupA`. Sie können diese Richtlinie für Benutzer mit vollständiger Kontrolle über eine bestimmte Arbeitsgruppe verwenden.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListEngineVersions",
                "athena:ListWorkGroups",
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:GetDatabase",
                "athena:ListTableMetadata",
                "athena:GetTableMetadata"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:BatchGetQueryExecution",
                "athena:GetQueryExecution",
                "athena:ListQueryExecutions",
                "athena:StartQueryExecution",
                "athena:StopQueryExecution",
                "athena:GetQueryResults",
                "athena:GetQueryResultsStream",
                "athena:CreateNamedQuery",
                "athena:GetNamedQuery",
                "athena:BatchGetNamedQuery",
                "athena:ListNamedQueries",
                "athena:DeleteNamedQuery",
                "athena:CreatePreparedStatement",
                "athena:GetPreparedStatement",
                "athena:ListPreparedStatements",
                "athena:UpdatePreparedStatement",
                "athena:DeletePreparedStatement"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:DeleteWorkGroup",
                "athena:UpdateWorkGroup",
                "athena:GetWorkGroup",
                "athena:CreateWorkGroup"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA"
            ]
        }
    ]
}
```

**Example Beispielrichtlinie für die Ausführung von Abfragen in einer angegebenen Arbeitsgruppe**  
In der folgenden Richtlinie ist ein Benutzer berechtigt, Abfragen in der angegebenen `workgroupA` auszuführen und anzuzeigen. Der Benutzer darf keine Verwaltungsaufgaben für die Arbeitsgruppe selbst durchführen, sie also beispielsweise nicht aktualisieren oder löschen. Beachten Sie, dass die Beispielrichtlinie Benutzer nicht nur auf diese Arbeitsgruppe beschränkt oder anderen Arbeitsgruppen den Zugriff verweigert.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
       {
            "Effect": "Allow",
            "Action": [
                "athena:ListEngineVersions",
                "athena:ListWorkGroups",
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:GetDatabase",
                "athena:ListTableMetadata",
                "athena:GetTableMetadata"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:GetWorkGroup", 
                "athena:BatchGetQueryExecution",
                "athena:GetQueryExecution",
                "athena:ListQueryExecutions",
                "athena:StartQueryExecution",
                "athena:StopQueryExecution",
                "athena:GetQueryResults",
                "athena:GetQueryResultsStream",
                "athena:CreateNamedQuery",
                "athena:GetNamedQuery",
                "athena:BatchGetNamedQuery",
                "athena:ListNamedQueries",
                "athena:DeleteNamedQuery",
                "athena:CreatePreparedStatement",
                "athena:GetPreparedStatement",
                "athena:ListPreparedStatements",
                "athena:UpdatePreparedStatement",
                "athena:DeletePreparedStatement"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA"
            ]
        }
    ]
}
```

**Example Beispielrichtlinie für die Ausführung von Abfragen in der primären Arbeitsgruppe**  
Sie können das vorherige Beispiel ändern, um es einem bestimmten Benutzer zu gestatten, auch Abfragen in der primären Arbeitsgruppe auszuführen.   
Wir empfehlen, dass Sie die primäre Arbeitsgruppenressource für alle Benutzer hinzufügen, die ansonsten für die Ausführung von Abfragen in ihren angegebenen Arbeitsgruppen konfiguriert sind. Es ist sinnvoll, diese Ressource ihren Arbeitsgruppen-Benutzerrichtlinien hinzuzufügen, falls ihre bezeichnete Arbeitsgruppe gelöscht oder deaktiviert wird. Sie können dann weiterhin Abfragen in der primären Arbeitsgruppe ausführen.
Um Benutzern in Ihrem Konto das Ausführen von Abfragen in der primären Arbeitsgruppe zu ermöglichen, fügen Sie wie im folgenden Beispiel eine Zeile mit dem ARN der primären Arbeitsgruppe zum Ressourcenabschnitt des [Example policy for running queries in a specified workgroup](#example3-user-access) hinzu.  

```
arn:aws:athena:us-east-1:123456789012:workgroup/primary"
```

**Example Beispielrichtlinie für Verwaltungsvorgänge in einer angegebenen Arbeitsgruppe**  
In der folgenden Richtlinie ist ein Benutzer berechtigt, eine Arbeitsgruppe zu erstellen, zu löschen, Details darüber abzurufen und die Arbeitsgruppe `test_workgroup` zu aktualisieren.     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListEngineVersions"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:CreateWorkGroup",
                "athena:GetWorkGroup",
                "athena:DeleteWorkGroup",
                "athena:UpdateWorkGroup"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"
            ]
        }
    ]
}
```

**Example Beispielrichtlinie für die Auflistung von Arbeitsgruppen**  
Mit der folgenden Richtlinie erhalten alle Benutzer die Berechtigung, alle Arbeitsgruppen aufzulisten:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListWorkGroups"
            ],
            "Resource": "*"
        }
    ]
}
```

**Example Beispielrichtlinie für die Ausführung und Anhalten von Abfragen in einer angegebenen Arbeitsgruppe**  
In dieser Richtlinie ist ein Benutzer berechtigt, Abfragen in der Arbeitsgruppe auszuführen:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:StartQueryExecution",
                "athena:StopQueryExecution"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"
            ]
        }
    ]
}
```

**Example Beispielrichtlinie für die Arbeit mit benannten Abfragen in einer angegebenen Arbeitsgruppe**  
In der folgenden Richtlinie verfügt ein Benutzer über Berechtigungen zum Erstellen, Löschen und Abrufen von Informationen über benannte Abfragen in der angegebenen Arbeitsgruppe:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:CreateNamedQuery",
                "athena:GetNamedQuery",
                "athena:DeleteNamedQuery"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"            ]
        }
    ]
}
```

**Example -Beispielrichtlinie für die Nutzung von Spark-Notebooks in Athena**  
Verwenden Sie für die Arbeit mit Spark-Notebooks in Athena beispielsweise die folgende Richtlinie.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCreatingWorkGroupWithDefaults",
            "Action": [
                "athena:CreateWorkGroup",
                "s3:CreateBucket",
                "iam:CreateRole",
                "iam:CreatePolicy",
                "iam:AttachRolePolicy",
                "s3:GetBucketLocation",
                "athena:ImportNotebook"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/Demo*",
                "arn:aws:s3:::123456789012-us-east-1-athena-results-bucket-*",
                "arn:aws:iam::123456789012:role/service-role/AWSAthenaSparkExecutionRole-*",
                "arn:aws:iam::123456789012:policy/service-role/AWSAthenaSparkRolePolicy-*"
            ]
        },
        {
            "Sid": "AllowRunningCalculations",
            "Action": [
                "athena:ListWorkGroups",
                "athena:GetWorkGroup",
                "athena:StartSession",
                "athena:CreateNotebook",
                "athena:ListNotebookMetadata",
                "athena:ListNotebookSessions",
                "athena:GetSessionStatus",
                "athena:GetSession",
                "athena:GetNotebookMetadata",
                "athena:CreatePresignedNotebookUrl"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:athena:us-east-1:123456789012:workgroup/Demo*"
        },
        {
            "Sid": "AllowListWorkGroupAndEngineVersions",
            "Action": [
                "athena:ListWorkGroups",
                "athena:ListEngineVersions"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

# Verwenden Sie IAM Identity Center-fähige Athena-Arbeitsgruppen
<a name="workgroups-identity-center"></a>

[Die Weitergabe vertrauenswürdiger Identitäten](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overview.html) ist eine AWS IAM Identity Center Funktion, mit der Administratoren von Connected den Zugriff auf Servicedaten gewähren und prüfen AWS-Services können. Der Zugriff auf diese Daten basiert auf Benutzerattributen wie Gruppenzuordnungen. Die Einrichtung der Verbreitung vertrauenswürdiger Identitäten erfordert die Zusammenarbeit zwischen den Administratoren von Connected AWS-Services und den IAM Identity Center-Administratoren. Weitere Informationen finden Sie unter [Voraussetzungen und Überlegungen](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overall-prerequisites.html).

Mit [IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) können Sie die Anmeldesicherheit für die Identitäten Ihrer Belegschaft, auch Belegschaft-Benutzer genannt, verwalten. IAM Identity Center bietet einen zentralen Ort, an dem Sie Workforce-Benutzer erstellen oder verbinden und deren Zugriff auf all ihre AWS Konten und Anwendungen zentral verwalten können. Mithilfe von Berechtigungen für mehrere Konten können Sie diesen Benutzern Zugriff auf AWS-Konten zuweisen. Sie können Anwendungszuweisungen verwenden, um Ihren Benutzern Zugriff auf für IAM Identity Center aktivierte Anwendungen, Cloud-Anwendungen und Security Assertion Markup Language (SAML 2.0)-Anwendungen des Kunden zuzuweisen. Weitere Informationen finden Sie unter [Vertrauenswürdige Identitätsweitergabe über Anwendungen hinweg](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation.html) im *AWS IAM Identity Center -Benutzerhandbuch*.

Athena SQL-Unterstützung für die Verbreitung vertrauenswürdiger Identitäten ist sowohl in EMR Studio als auch in SageMaker Unified Studio verfügbar. Jede Plattform bietet spezifische Schnittstellen für die Verwendung von TIP mit Athena. 

Wenn Sie Athena SQL in EMR Studio mit IAM Identity Center-Identitäten verwenden, haben Sie zwei Arbeitsgruppen-Optionen:
+ **Regulär WorkGroups** — Keine Benutzer-/Gruppenzuweisungen erforderlich.
+ **IAM Identity Center-fähige Arbeitsgruppen** — Erfordert die Zuweisung users/groups über die IAM Identity Center-Konsole oder API.

Für beide Optionen können Sie Abfragen über die Athena-SQL-Schnittstelle in EMR Studio mit aktiviertem IAM Identity Center ausführen. 

## Überlegungen und Einschränkungen
<a name="workgroups-identity-center-considerations-and-limitations"></a>

Berücksichtigen Sie bei Verwendung der Verbreitung vertrauenswürdiger Identitäten mit Amazon Athena verwenden, die folgenden Punkte:
+ Sie können die Authentifizierungsmethode für die Arbeitsgruppe nach der Erstellung der Arbeitsgruppe nicht mehr ändern.
  + Vorhandene Athena-SQL-Arbeitsgruppen können nicht zur Unterstützung von für IAM Identity Center aktivierten Arbeitsgruppen geändert werden. Bestehende Athena-SQL-Arbeitsgruppen können Identität an nachgeschaltete Dienste weitergeben.
  + Arbeitsgruppen, die für IAM Identity Center aktiviert sind, können nicht geändert werden, um IAM-Berechtigungen auf Ressourcenebene oder identitätsbasierte IAM-Richtlinien zu unterstützen.
+ Um auf Arbeitsgruppen mit aktivierter Trusted Identity Propagation zugreifen zu können, müssen IAM Identity Center-Benutzer der Gruppe zugewiesen werden`IdentityCenterApplicationArn`, die von der Antwort der [GetWorkGroup](https://docs.aws.amazon.com/athena/latest/APIReference/API_GetWorkGroup.html)Athena-API-Aktion zurückgegeben wird.
+ Amazon S3 Access Grants müssen für die Verwendung der Weitergabe vertrauenswürdiger Identitäten konfiguriert sein. Weitere Informationen finden Sie unter [S3-Zugriffsberechtigungen und Identitäten im Unternehmensverzeichnis](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-directory-ids.html) im *Amazon-S3-Benutzerhandbuch*.
+ Athena-Arbeitsgruppen, die für IAM Identity Center aktiviert sind, erfordern die Konfiguration von Lake Formation für die Verwendung von IAM-Identity-Center-Identitäten. Informationen zur Konfiguration finden Sie unter [Integration von IAM Identity Center](https://docs.aws.amazon.com/lake-formation/latest/dg/identity-center-integration.html) im *AWS Lake Formation -Entwicklerhandbuch*.
+ Standardmäßig läuft die Zeitüberschreitung für Abfragen in IAM Identity Center-aktivierten Arbeitsgruppen nach 30 Minuten ab. Sie können eine Erhöhung des Abfrage-Timeouts beantragen. Die maximale Ausführung einer Abfrage in Arbeitsgruppen zur Weitergabe vertrauenswürdiger Identitäten beträgt jedoch eine Stunde. 
+ Es kann bis zu einer Stunde dauern, bis Änderungen der Benutzer- oder Gruppenberechtigungen in Arbeitsgruppen zur Weitergabe vertrauenswürdiger Identitäten wirksam werden.
+ Abfragen in einer Athena-Arbeitsgruppe, die die Weitergabe vertrauenswürdiger Identitäten verwendet, können nicht direkt über die Athena-Konsole ausgeführt werden. Sie müssen über die Athena-Schnittstelle in einem EMR Studio ausgeführt werden, in dem IAM Identity Center aktiviert ist. Weitere Informationen zur Verwendung von Athena in EMR Studio finden Sie unter [Verwenden des Amazon-Athena-SQL-Editors in EMR Studio](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-athena.html) im *Amazon-EMR-Verwaltungshandbuch*.
+ Die Weitergabe von vertrauenswürdigen Identitäten ist nicht mit den folgenden Athena-Features kompatibel.
  + `aws:CalledVia`-Kontextschlüssel für IAM Identity Center aktivierte Arbeitsgruppen.
  + Athena für Spark-Arbeitsgruppen.
  + Verbundzugriff auf die Athena-API.
  + Verbundzugriff auf Athena mithilfe von Lake Formation und den Athena-JDBC- und ODBC-Treibern.
+ Sie können Trusted Identity Propagation mit Athena nur in den folgenden AWS-Regionen Fällen verwenden: 
  + `us-east-2` – USA Ost (Ohio)
  + `us-east-1` – USA Ost (Nord-Virginia)
  + `us-west-1` – USA West (Nordkalifornien)
  + `us-west-2` – USA West (Oregon)
  + `af-south-1` – Afrika (Kapstadt)
  + `ap-east-1` – Asien-Pazifik (Hongkong)
  + `ap-southeast-3` – Asien-Pazifik (Jakarta)
  + `ap-south-1` – Asien-Pazifik (Mumbai)
  + `ap-northeast-3` – Asien-Pazifik (Osaka)
  + `ap-northeast-2` – Asien-Pazifik (Seoul)
  + `ap-southeast-1` – Asien-Pazifik (Singapur)
  + `ap-southeast-2` – Asien-Pazifik (Sydney)
  + `ap-northeast-1` – Asien-Pazifik (Tokio)
  + `ca-central-1` – Kanada (Zentral)
  + `eu-central-1` – Europa (Frankfurt)
  + `eu-central-2` – Europa (Zürich)
  + `eu-west-1` – Europa (Irland)
  + `eu-west-2` – Europa (London)
  + `eu-south-1` – Europa (Mailand)
  + `eu-west-3` – Europa (Paris)
  + `eu-north-1` – Europa (Stockholm)
  + `me-south-1` – Naher Osten (Bahrain)
  + `sa-east-1` – Südamerika (São Paulo)

## Erforderliche Berechtigungen
<a name="workgroups-identity-center-required-permissions"></a>

Dem IAM-Benutzer des Administrators, der die für IAM Identity Center aktivierte Arbeitsgruppe in der Athena-Konsole erstellt, müssen die folgenden Richtlinien angefügt sein.
+ Die von `AmazonAthenaFullAccess` verwaltete Richtlinie. Details hierzu finden Sie unter [AWS verwaltete Richtlinie: AmazonAthenaFullAccess](security-iam-awsmanpol.md#amazonathenafullaccess-managed-policy).
+ Die folgende Inline-Richtlinie, die IAM- und IAM-Identity-Center-Aktionen zulässt:

------
#### [ JSON ]

****  

  ```
  { "Version":"2012-10-17",		 	 	  "Statement": [ { "Action": [ "iam:createRole",
      "iam:CreatePolicy", "iam:AttachRolePolicy", "iam:ListRoles", "identitystore:ListUsers",
      "identitystore:ListGroups", "identitystore:CreateUser", "identitystore:CreateGroup",
      "sso:ListInstances", "sso:CreateInstance", "sso:DeleteInstance", "sso:ListTrustedTokenIssuers",
      "sso:DescribeTrustedTokenIssuer", "sso:ListApplicationAssignments",
      "sso:DescribeRegisteredRegions", "sso:GetManagedApplicationInstance",
      "sso:GetSharedSsoConfiguration", "sso:PutApplicationAssignmentConfiguration",
      "sso:CreateApplication", "sso:DeleteApplication", "sso:PutApplicationGrant",
      "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationAccessScope",
      "sso:ListDirectoryAssociations", "sso:CreateApplicationAssignment",
      "sso:DeleteApplicationAssignment", "organizations:ListDelegatedAdministrators",
      "organizations:DescribeAccount", "organizations:DescribeOrganization",
      "organizations:CreateOrganization", "sso-directory:SearchUsers", "sso-directory:SearchGroups",
      "sso-directory:CreateUser" ], "Effect": "Allow", "Resource": [ "*" ] }, { "Action": [
      "iam:PassRole" ], "Effect": "Allow", "Resource": [
          "arn:aws:iam::111122223333:role/service-role/AWSAthenaSQLRole-*"
      ] } ] }
  ```

------

## Erstellen einer für IAM Identity Center aktivierten Arbeitsgruppe
<a name="workgroups-identity-center-creating-an-identity-center-enabled-athena-workgroup"></a>

Das folgende Verfahren zeigt die Schritte und Optionen zum Erstellen einer für IAM Identity Center aktivierten Athena-Arbeitsgruppe. Eine Beschreibung der anderen für Athena-Arbeitsgruppen verfügbaren Konfigurationsoptionen finden Sie unter [Erstellen von Arbeitsgruppen](creating-workgroups.md).

**So erstellen Sie eine SSO-fähige Arbeitsgruppe in der Athena-Konsole**

1. Öffnen Sie die Athena-Konsole unter [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Wählen Sie im Navigationsbereich der Athena-Konsole **Workgroups** (Arbeitsgruppen) aus.

1. Wählen Sie auf der Seite **Workgroups** (Arbeitsgruppen) die Option **Create workgroup** (Arbeitsgruppe erstellen) aus.

1. Geben Sie auf der Seite **Arbeitsgruppe erstellen** unter **Arbeitsgruppenname** einen Namen für die Arbeitsgruppe ein.

1. Verwenden Sie für die **Analytics-Engine** die Standardeinstellung von **Athena SQL**.

1. Wählen Sie für **Authentifizierung** die Option **IAM Identity Center** aus.

1. Wählen Sie für **Servicerolle für Zugriff auf das IAM Identity Center** eine vorhandene Servicerolle aus oder erstellen Sie eine neue.

   Athena benötigt Berechtigungen, um für Sie auf IAM Identity Center zugreifen zu können. Hierzu ist eine Servicerolle für Athena erforderlich. Eine Servicerolle ist eine von Ihnen verwaltete IAM-Rolle, die einen AWS Dienst autorisiert, in Ihrem Namen auf andere AWS Dienste zuzugreifen. Um Verbundkataloge abzufragen oder UDF auszuführen, aktualisieren Sie die Servicerolle mit den entsprechenden Lambda-Berechtigungen. Weitere Informationen finden Sie im *IAM-Benutzerhandbuch* unter [Erstellen einer Rolle zum Delegieren von Berechtigungen für einen AWS Dienst](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

1. Erweitern Sie die **Konfiguration des Abfrageergebnisses** und geben Sie dann einen Amazon-S3-Pfad für **Speicherort des Abfrageergebnisses** ein oder wählen Sie ihn aus.

1. (Optional) Wählen Sie **Abfrageergebnisse verschlüsseln** aus. Standardmäßig wird SSE-S3 unterstützt. Um SSE-KMS und CSE-KMS mit dem Speicherort von Abfrageergebnissen zu verwenden, gewähren Sie der **Servicerolle für IAM Identity Center** von Amazon S3 Access Grants Berechtigungen. Weitere Informationen finden Sie unter [Beispiel für Rollenrichtlinien](#workgroups-identity-center-access-grant-location-sample-role-policy).

1. (Optional) Wählen Sie **S3-Präfix basierend auf Benutzeridentität erstellen** aus.

   Wenn Sie eine für IAM Identity Center aktivierte Arbeitsgruppe erstellen, ist standardmäßig die Option **S3-Zugriffsgewährungen aktivieren** ausgewählt. Sie können Amazon S3 Access Grants verwenden, um den Zugriff auf die Speicherorte (Präfixe) der Athena-Abfrageergebnisse in Amazon S3 zu steuern. Weitere Informationen zu Amazon S3 Access Grants finden Sie unter [Verwalten des Zugriffs mit Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html).

   In Athena-Arbeitsgruppen, die die IAM Identity Center-Authentifizierung verwenden, können Sie die Erstellung von identitätsbasierten Abfrageergebnisorten aktivieren, die durch Amazon S3 Access Grants geregelt werden. Mit diesen auf der Benutzeridentität basierenden Amazon-S3-Präfixen können Benutzer in einer Athena-Arbeitsgruppe ihre Abfrageergebnisse von anderen Benutzern in derselben Arbeitsgruppe isoliert halten.

   Wenn Sie die Option Benutzerpräfix ermöglichen, fügt Athena die Benutzer-ID als Amazon-S3-Pfadpräfix an den Standort der Abfrageergebnisse für die Arbeitsgruppe an (z. B. `s3://amzn-s3-demo-bucket/${user_id}`). Um dieses Feature nutzen zu können, müssen Sie Zugriffsberechtigungen so konfigurieren, dass sie nur dem Benutzer Berechtigungen für den Standort gewähren, der das `user_id`-Präfix hat. Ein Beispiel für eine Amazon S3 Access Grants Rollenrichtlinie, die den Zugriff auf Athena-Abfrageergebnisse einschränkt, finden Sie unter [Beispiel-Rollenrichtlinie](#workgroups-identity-center-access-grant-location-sample-role-policy). 
**Anmerkung**  
Durch die Auswahl der S3-Präfixoption für die Benutzeridentität wird automatisch die Option Clientseitige Einstellungen überschreiben für die Arbeitsgruppe aktiviert, wie im nächsten Schritt beschrieben. Die Option Clientseitige Einstellungen außer Kraft setzen ist eine Voraussetzung für das Feature „Benutzeridentitätspräfix“.

1. Erweitern Sie **Einstellungen** und bestätigen Sie dann, dass **Clientseitige Einstellungen überschreiben** ausgewählt ist.

   Wenn Sie **Clientseitige Einstellungen überschreiben** auswählen, werden Arbeitsgruppeneinstellungen auf Arbeitsgruppenebene für alle Clients in der Arbeitsgruppe erzwungen. Weitere Informationen finden Sie unter [Override client-side settings (Clientseitige Einstellungen überschreiben)](workgroups-settings-override.md).

1. (Optional) Nehmen Sie alle erforderlichen Konfigurationseinstellungen vor, wie unter [Erstellen von Arbeitsgruppen](creating-workgroups.md) beschrieben.

1. Wählen Sie **Create workgroup** (Arbeitsgruppe erstellen) aus.

1. Verwenden Sie den Abschnitt **Arbeitsgruppen** der Athena-Konsole, um Benutzer oder Gruppen aus Ihrem IAM Identity Center-Verzeichnis Ihrer IAM Identity Center-fähigen Athena-Arbeitsgruppe zuzuweisen.

## Beispiel-Rollenrichtlinie
<a name="workgroups-identity-center-access-grant-location-sample-role-policy"></a>

Das folgende Beispiel zeigt eine Richtlinie für eine Rolle, die an einen Amazon S3 Access Grant-Standort angehängt werden soll, der den Zugriff auf Athena-Abfrageergebnisse einschränkt. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3:*"
            ],
            "Condition": {
                "ArnNotEquals": {
                    "s3:AccessGrantsInstanceArn": "arn:aws:s3:us-east-1:111122223333:access-grants/default"
                },
                "StringNotEquals": {
                    "aws:ResourceAccount": "111122223333"
                }
            },
            "Effect": "Deny",
            "Resource": "*",
            "Sid": "ExplicitDenyS3"
        },
        {
            "Action": [
                "kms:*"
            ],
            "Effect": "Deny",
            "NotResource": "arn:aws:kms:us-east-1:111122223333:key/${keyid}",
            "Sid": "ExplictDenyKMS"
        },
        {
            "Action": [
                "s3:ListMultipartUploadParts",
                "s3:GetObject"
            ],
            "Condition": {
                "ArnEquals": {
                    "s3:AccessGrantsInstanceArn": "arn:aws:s3:us-east-1:111122223333:access-grants/default"
                },
                "StringEquals": {
                    "aws:ResourceAccount": "111122223333"
                }
            },
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::ATHENA-QUERY-RESULT-LOCATION/${identitystore:UserId}/*",
            "Sid": "ObjectLevelReadPermissions"
        },
        {
            "Action": [
                "s3:PutObject",
                "s3:AbortMultipartUpload"
            ],
            "Condition": {
                "ArnEquals": {
                    "s3:AccessGrantsInstanceArn": "arn:aws:s3:us-east-1:111122223333:access-grants/default"
                },
                "StringEquals": {
                "aws:ResourceAccount": "111122223333"
                }
            },
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::ATHENA-QUERY-RESULT-LOCATION/${identitystore:UserId}/*",
            "Sid": "ObjectLevelWritePermissions"
        },
        {
            "Action": "s3:ListBucket",
            "Condition": {
                "ArnEquals": {
                    "s3:AccessGrantsInstanceArn": "arn:aws:s3:us-east-1:111122223333:access-grants/default"
                },
                "StringEquals": {
                    "aws:ResourceAccount": "111122223333"
                },
                "StringLikeIfExists": {
                    "s3:prefix": [
                        "${identitystore:UserId}",
                        "${identitystore:UserId}/*"
                    ]
                }
            },
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::ATHENA-QUERY-RESULT-LOCATION",
            "Sid": "BucketLevelReadPermissions"
        },
        {
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/${keyid}",
            "Sid": "KMSPermissions"
        }
    ]
}
```

------

# Mindestverschlüsselung für eine Arbeitsgruppe konfigurieren
<a name="workgroups-minimum-encryption"></a>

Als Administrator einer Athena-SQL-Arbeitsgruppe können Sie eine minimale Verschlüsselungsstufe in Amazon S3 für alle Abfrageergebnisse der Arbeitsgruppe erzwingen. Sie können dieses Feature verwenden, um sicherzustellen, dass Abfrageergebnisse niemals unverschlüsselt in einem Amazon-S3-Bucket gespeichert werden.

Wenn Benutzer in einer Arbeitsgruppe mit aktivierter Mindestverschlüsselung eine Abfrage einreichen, können sie die Verschlüsselung nur auf die von Ihnen konfigurierte Mindeststufe oder auf eine höhere Stufe einstellen, falls eine verfügbar ist. Athena verschlüsselt Abfrageergebnisse entweder auf der Ebene, die angegeben wurde, wenn der Benutzer die Abfrage ausführt, oder auf der Ebene, die in der Arbeitsgruppe festgelegt wurde.

Die folgenden Stufen sind verfügbar:
+ **Basis** – Serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (**SSE-S3**)
+ **Mittelstufe** – Serverseitige Verschlüsselung mit KMS-verwalteten Schlüsseln **(SSE-KMS**).
+ **Erweitert** – Clientseitige Verschlüsselung mit von KMS verwalteten Schlüsseln (**CSE-KMS**).

## Überlegungen und Einschränkungen
<a name="workgroups-minimum-encryption-considerations-and-limitations"></a>
+ Das Mindestverschlüsselungs-Feature ist für Apache-Spark-fähige Arbeitsgruppen nicht verfügbar.
+ Das Mindestverschlüsselungs-Feature funktioniert nur, wenn die Arbeitsgruppe die Option **[Clientseitige Einstellungen überschreiben](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html)** nicht aktiviert.
+ Wenn für die Arbeitsgruppe die Option **Clientseitige Einstellungen überschreiben** aktiviert ist, hat die Einstellung für die Arbeitsgruppenverschlüsselung Vorrang, und die Einstellung für die Mindestverschlüsselung hat keine Auswirkung.
+ Die Aktivierung dieses Features ist kostenlos.

## Mindestverschlüsselung für eine Arbeitsgruppe aktivieren
<a name="workgroups-minimum-encryption-enabling"></a>

Sie können eine Mindestverschlüsselungsstufe für die Abfrageergebnisse Ihrer Athena-SQL-Arbeitsgruppe aktivieren, wenn Sie die Arbeitsgruppe erstellen oder aktualisieren. Dazu können Sie die Athena-Konsole, die Athena-API oder verwenden. AWS CLI

### Athena-Konsole zur Aktivierung der Mindestverschlüsselung verwenden
<a name="workgroups-minimum-encryption-enabling-using-the-athena-console"></a>

Informationen zum Erstellen oder Bearbeiten Ihrer Arbeitsgruppe mit der Athena-Konsole finden Sie unter [Eine Arbeitsgruppe erstellen](https://docs.aws.amazon.com/athena/latest/ug/workgroups-create-update-delete.html#creating-workgroups) oder [Eine Arbeitsgruppe bearbeiten](https://docs.aws.amazon.com/athena/latest/ug/workgroups-create-update-delete.html#editing-workgroups). Gehen Sie bei der Konfiguration Ihrer Arbeitsgruppe wie folgt vor, um die Mindestverschlüsselung zu aktivieren.

**So konfigurieren Sie die Mindestverschlüsselungsstufe für Arbeitsgruppenabfrageergebnisse**

1. Deaktivieren Sie die Option **Clientseitige Einstellungen überschreiben**, oder stellen Sie sicher, dass sie nicht ausgewählt ist.

1. Wählen Sie die Option **Abfrageergebnisse verschlüsseln** aus.

1. Wählen Sie unter **Verschlüsselungstyp** die Verschlüsselungsmethode aus, die Athena für die Abfrageergebnisse Ihrer Arbeitsgruppe verwenden soll (**SSE\$1S3**, **SSE\$1KMS** oder **CSE\$1KMS**). Diese Verschlüsselungstypen entsprechen den Sicherheitsstufen „Basis“, „Mittelstufe“ und „Erweitert“.

1. Um die Verschlüsselungsmethode durchzusetzen, die Sie als Mindestverschlüsselungsstufe für alle Benutzer ausgewählt haben, wählen Sie ***encryption\$1method*Als Mindestverschlüsselung festlegen** aus.

   Wenn Sie diese Option auswählen, werden in einer Tabelle die Verschlüsselungshierarchie und die Verschlüsselungsstufen aufgeführt, die Benutzern gewährt werden, wenn der von Ihnen gewählte Verschlüsselungstyp zum Mindestverschlüsselungstyp wird.

1. Nachdem Sie Ihre Arbeitsgruppe erstellt oder Ihre Arbeitsgruppenkonfiguration aktualisiert haben, wählen Sie **Arbeitsgruppe erstellen** oder **Änderungen speichern.**

### Verwenden Sie die Athena-API oder aktivieren AWS CLI Sie die Mindestverschlüsselung
<a name="workgroups-minimum-encryption-enabling-using-the-athena-api-or-cli"></a>

Wenn Sie die [UpdateWorkGroup](https://docs.aws.amazon.com/athena/latest/APIReference/API_UpdateWorkGroup.html)API [CreateWorkGroup](https://docs.aws.amazon.com/athena/latest/APIReference/API_CreateWorkGroup.html)oder verwenden, um eine Athena SQL-Arbeitsgruppe zu erstellen oder [EnforceWorkGroupConfiguration](https://docs.aws.amazon.com/athena/latest/APIReference/API_WorkGroupConfiguration.html#athena-Type-WorkGroupConfiguration-EnforceWorkGroupConfiguration)zu aktualisieren, setzen Sie sie auf`false`, [EnableMinimumEncryptionConfiguration](https://docs.aws.amazon.com/athena/latest/APIReference/API_WorkGroupConfiguration.html#athena-Type-WorkGroupConfiguration-EnableMinimumEncryptionConfiguration)auf und verwenden Sie die`true`, [EncryptionOption](https://docs.aws.amazon.com/athena/latest/APIReference/API_EncryptionConfiguration.html#athena-Type-EncryptionConfiguration-EncryptionOption)um den Verschlüsselungstyp anzugeben.

Verwenden Sie in der AWS CLI den [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/athena/update-work-group.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/athena/update-work-group.html)Befehl [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/athena/create-work-group.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/athena/create-work-group.html)or mit den `--configuration-updates` Parametern `--configuration` or und geben Sie die Optionen an, die denen für die API entsprechen.

# Zugriff auf vorbereitete Anweisungen konfigurieren
<a name="security-iam-athena-prepared-statements"></a>

Dieses Thema behandelt IAM-Berechtigungen für vorbereitete Anweisungen in Amazon Athena. Wenn Sie IAM-Richtlinien verwenden, stellen Sie sicher, dass Sie die bewährten IAM-Methoden befolgen. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

Weitere Informationen zu vorbereiteten Anweisungen finden Sie unter [Parametrisierte Abfragen verwenden](querying-with-prepared-statements.md).

Die folgenden IAM-Berechtigungen sind für das Erstellen, Verwalten und Ausführen vorbereiteter Anweisungen erforderlich.

```
athena:CreatePreparedStatement
athena:UpdatePreparedStatement
athena:GetPreparedStatement
athena:ListPreparedStatements
athena:DeletePreparedStatement
```

Verwenden Sie diese Berechtigungen, wie in der folgenden Tabelle dargestellt.


****  

| Aktion | Nutzen Sie diese Berechtigungen | 
| --- | --- | 
| Ausführen einer PREPARE-Abfrage | athena:StartQueryExecution athena:CreatePreparedStatement | 
| Führen Sie eine PREPARE-Abfrage erneut aus, um eine vorhandene vorbereitete Anweisung zu aktualisieren | athena:StartQueryExecution athena:UpdatePreparedStatement | 
| Ausführen einer EXECUTE-Abfrage | athena:StartQueryExecution athena:GetPreparedStatement | 
| Ausführen einer DEALLOCATE PREPARE-Abfrage | athena:StartQueryExecution athena:DeletePreparedStatement | 

## Beispiel
<a name="security-iam-athena-prepared-statements-example"></a>

Im folgenden Beispiel der IAM-Richtlinie werden Berechtigungen zum Verwalten und Ausführen vorbereiteter Anweisungen für eine angegebene Konto-ID und Arbeitsgruppe erteilt.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:StartQueryExecution",
                "athena:CreatePreparedStatement",
                "athena:UpdatePreparedStatement",
                "athena:GetPreparedStatement",
                "athena:DeletePreparedStatement",
                "athena:ListPreparedStatements"
            ],
            "Resource": [
                "arn:aws:athena:*:111122223333:workgroup/<workgroup-name>"
            ]
        }
    ]
}
```

------

# Verwenden Sie CalledVia Kontexttasten für Athena
<a name="security-iam-athena-calledvia"></a>

Wenn ein [Principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-principal) eine [Anfrage](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-request) an stellt AWS, AWS sammelt er die Anforderungsinformationen in einem *Anforderungskontext, der die Anfrage* auswertet und autorisiert. Sie können das `Condition`-Element einer JSON-Richtlinie verwenden, um Schlüssel im Anforderungskontext mit Schlüsselwerten zu vergleichen, die Sie in Ihrer Richtlinie angeben. *Globale Bedingungskontextschlüssel* sind Bedingungsschlüssel mit einem `aws:`-Präfix.

## Über den aws:CalledVia-Kontextschlüssel
<a name="security-iam-athena-calledvia-the-awscalledvia-context-key"></a>

Sie können den globalen Bedingungskontextschlüssel [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia) verwenden, um die Services in der Richtlinie mit den Services zu vergleichen, die Anforderungen im Auftrag des IAM-Prinzipals (Benutzer oder Rolle) gestellt haben. Wenn ein Principal eine Anfrage an einen stellt AWS-Service, verwendet dieser Dienst möglicherweise die Anmeldeinformationen des Prinzipals, um nachfolgende Anfragen an andere Dienste zu stellen. Der Schlüssel `aws:CalledVia` enthält eine geordnete Liste aller Services in der Kette, die im Auftrag des Auftraggebers Anforderungen ausgegeben haben.

Indem Sie einen Dienstprinzipalnamen für den `aws:CalledVia` Kontextschlüssel angeben, können Sie den Kontextschlüssel AWS-Service spezifisch machen. Sie können beispielsweise den Bedingungsschlüssel `aws:CalledVia` verwenden, um Anfragen auf die von Athena gestellten zu beschränken. Um den Bedingungsschlüssel `aws:CalledVia` in einer Richtlinie mit Athena zu verwenden, geben Sie den Athena-Serviceprinzipalnamen `athena.amazonaws.com` wie im folgenden Beispiel an.

```
 ...
    "Condition": {
        "ForAnyValue:StringEquals": { 
            "aws:CalledVia": "athena.amazonaws.com"
        }
    }
...
```

Sie können den `aws:CalledVia`-Kontextschlüssel verwenden, um sicherzustellen, dass Aufrufer nur dann Zugriff auf eine Ressource (wie eine Lambda-Funktion) haben, wenn sie die Ressource von Athena aus aufrufen.

**Anmerkung**  
Der Kontextschlüssel `aws:CalledVia` ist nicht mit dem Feature zur Weitergabe vertrauenswürdiger Identitäten kompatibel.

## Fügen Sie einen CalledVia Kontextschlüssel für den Zugriff auf Lambda-Funktionen hinzu
<a name="security-iam-athena-calledvia-example-policy-to-add-an-optional-calledvia-context-key-for-fine-grained-access-to-a-lambda-function"></a>

Athena erfordert, dass der Aufrufer über `lambda:InvokeFunction`-Berechtigungen verfügt, um die mit der Abfrage verknüpfte Lambda-Funktion aufzurufen. Die folgende Anweisung gibt an, dass der Benutzer Lambda-Funktionen nur von Athena aufrufen kann.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor3",
            "Effect": "Allow",
            "Action": "lambda:InvokeFunction",
            "Resource": "arn:aws:lambda:us-east-1:111122223333:function:OneAthenaLambdaFunction",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:CalledVia": "athena.amazonaws.com"
                }
            }
        }
    ]
}
```

------

Das folgende Beispiel zeigt das Hinzufügen der vorherigen Anweisung zu einer Richtlinie, die es einem Benutzer ermöglicht, eine Verbundabfrage auszuführen und zu lesen. Prinzipale, die diese Aktionen ausführen dürfen, können Abfragen ausführen, die Athena-Kataloge angeben, die einer Verbunddatenquelle zugeordnet sind. Der Prinzipal kann jedoch nicht auf die zugeordnete Lambda-Funktion zugreifen, es sei denn, die Funktion wird über Athena aufgerufen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0", 
            "Effect": "Allow",
            "Action": [ 
                "athena:GetWorkGroup", 
                "s3:PutObject", 
                "s3:GetObject", 
                "athena:StartQueryExecution", 
                "s3:AbortMultipartUpload",  
                "athena:StopQueryExecution", 
                "athena:GetQueryExecution", 
                "athena:GetQueryResults", 
                "s3:ListMultipartUploadParts" 
            ], 
            "Resource": [ 
                "arn:aws:athena:*:111122223333:workgroup/WorkGroupName",
                "arn:aws:s3:::MyQueryResultsBucket/*", 
                "arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillPrefix*"
            ] 
        }, 
        {
            "Sid": "VisualEditor1", 
            "Effect": "Allow", 
            "Action": "athena:ListWorkGroups", 
            "Resource": "*" 
        }, 
        {
            "Sid": "VisualEditor2", 
            "Effect": "Allow", 
            "Action": 
                [ 
                "s3:ListBucket", 
                "s3:GetBucketLocation" 
                ], 
            "Resource": "arn:aws:s3:::MyLambdaSpillBucket" 
        },
        {
            "Sid": "VisualEditor3",
            "Effect": "Allow",
            "Action": "lambda:InvokeFunction",
            "Resource": [
                "arn:aws:lambda:*:111122223333:function:OneAthenaLambdaFunction", 
                "arn:aws:lambda:*:111122223333:function:AnotherAthenaLambdaFunction"
            ], 
            "Condition": {
                "ForAnyValue:StringEquals": { 
                    "aws:CalledVia": "athena.amazonaws.com"
                }
            }
        }            
    ]
}
```

------

Weitere Informationen über globale Bedingungskontextschlüssel `CalledVia` finden Sie unter [AWS -Globale Bedingungskontextschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) im *IAM-Benutzerhandbuch*.

# Zugriff auf den Athena-Daten-Connector für externen Hive-Metastore zulassen
<a name="hive-metastore-iam-access"></a>

Die Beispiele für Berechtigungsrichtlinien in diesem Thema veranschaulichen die erforderlichen zulässigen Aktionen und die Ressourcen, für die sie zulässig sind. Untersuchen Sie diese Richtlinien sorgfältig und ändern Sie sie entsprechend Ihren Anforderungen, bevor Sie IAM-Identitäten ähnliche Berechtigungsrichtlinien anfügen.
+  [Example Policy to Allow an IAM Principal to Query Data Using Athena Data Connector for External Hive Metastore](#hive-using-iam) 
+  [Example Policy to Allow an IAM Principal to Create an Athena Data Connector for External Hive Metastore](#hive-creating-iam) 

**Example – Erlauben Sie einem IAM-Prinzipal, Daten mit dem Athena-Daten-Connector für externen Hive-Metastore abzufragen**  
Die folgende Richtlinie ist den IAM-Prinzipalen zusätzlich zur Richtlinie [AWS verwaltete Richtlinie: AmazonAthenaFullAccess](security-iam-awsmanpol.md#amazonathenafullaccess-managed-policy) angefügt, die vollen Zugriff auf Athena-Aktionen gewährt.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "lambda:GetFunction",
                "lambda:GetLayerVersion",
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:*:111122223333:function:MyAthenaLambdaFunction",
                "arn:aws:lambda:*:111122223333:function:AnotherAthenaLambdaFunction",
                "arn:aws:lambda:*:111122223333:layer:MyAthenaLambdaLayer:*"
            ]
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject",
                "s3:ListMultipartUploadParts",
                "s3:AbortMultipartUpload"
            ],
            "Resource": "arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillLocation"
        }
    ]
}
```


**Erläuterung der Berechtigungen**  

| Erlaubte Aktionen | Erklärung | 
| --- | --- | 
|  <pre>"s3:GetBucketLocation",<br />"s3:GetObject",<br />"s3:ListBucket",<br />"s3:PutObject",<br />"s3:ListMultipartUploadParts",<br />"s3:AbortMultipartUpload"</pre>  |  `s3`Aktionen ermöglichen das Lesen von und Schreiben in die als angegebene Ressource`"arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillLocation"`, wobei der Spill-Bucket *MyLambdaSpillLocation* identifiziert wird, der in der Konfiguration der aufgerufenen Lambda-Funktion oder Funktionen angegeben ist. Die *arn:aws:lambda:\$1:*MyAWSAcctId*:layer:*MyAthenaLambdaLayer*:\$1* Ressourcen-ID ist nur erforderlich, wenn Sie eine Lambda-Schicht verwenden, um benutzerdefinierte Laufzeitabhängigkeiten zu erstellen, um die Größe von Funktionsartefakten bei der Bereitstellung zu reduzieren. Der `*` in der letzten Position ist ein Platzhalter für die Ebenenversion.  | 
|  <pre>"lambda:GetFunction",<br />"lambda:GetLayerVersion",<br />"lambda:InvokeFunction"</pre>  | Ermöglicht Abfragen, die im Block angegebenen AWS Lambda Funktionen aufzurufen. Resource Beispiel: where arn:aws:lambda:\$1:MyAWSAcctId:function:MyAthenaLambdaFunction MyAthenaLambdaFunction gibt den Namen einer Lambda-Funktion an, die aufgerufen werden soll. Es können mehrere Funktionen angegeben werden, wie im Beispiel gezeigt. | 

**Example – Erlauben Sie einem IAM-Prinzipal, einen Athena-Daten-Connector für externen Hive-Metastore zu erstellen**  
Die folgende Richtlinie ist den IAM-Prinzipalen zusätzlich zur Richtlinie [AWS verwaltete Richtlinie: AmazonAthenaFullAccess](security-iam-awsmanpol.md#amazonathenafullaccess-managed-policy) angefügt, die vollen Zugriff auf Athena-Aktionen gewährt.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "lambda:GetFunction",
                "lambda:ListFunctions",
                "lambda:GetLayerVersion",
                "lambda:InvokeFunction",
                "lambda:CreateFunction",
                "lambda:DeleteFunction",
                "lambda:PublishLayerVersion",
                "lambda:DeleteLayerVersion",
                "lambda:UpdateFunctionConfiguration",
                "lambda:PutFunctionConcurrency",
                "lambda:DeleteFunctionConcurrency"
            ],
            "Resource": "arn:aws:lambda:*:111122223333: function: MyAthenaLambdaFunctionsPrefix*"
        }
    ]
}
```
 **Erläuterung der Berechtigungen**   
Ermöglicht Abfragen, die AWS Lambda Funktionen für die im Block angegebenen AWS Lambda Funktionen aufzurufen. `Resource` Beispiel: where `arn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction` *MyAthenaLambdaFunction* gibt den Namen einer Lambda-Funktion an, die aufgerufen werden soll. Es können mehrere Funktionen angegeben werden, wie im Beispiel gezeigt.

# Gewährung von Lambda-Funktionszugriff auf externe Hive-Metastores
<a name="hive-metastore-iam-access-lambda"></a>

Um eine Lambda-Funktion in Ihrem Konto aufzurufen, müssen Sie eine Rolle mit den folgenden Berechtigungen erstellen:
+ `AWSLambdaVPCAccessExecutionRole` – Die Berechtigung [AWS Lambda -Ausführungsrolle](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) für die Verwaltung von Elastic-Network-Schnittstellen, die Ihre Funktion mit einer VPC verbinden. Stellen Sie sicher, dass es eine ausreichende Anzahl von Netzwerkschnittstellen und IP-Adressen gibt.
+ `AmazonAthenaFullAccess`— Die [AmazonAthenaFullAccess](security-iam-awsmanpol.md#amazonathenafullaccess-managed-policy)verwaltete Richtlinie gewährt vollen Zugriff auf Athena.
+ Eine Amazon-S3-Richtlinie, die der Lambda-Funktion das Schreiben zu S3 und Athena das Lesen aus S3 ermöglicht.

Die folgende Richtlinie definiert beispielsweise die Berechtigung für den Überlaufspeicherort `s3:\\mybucket\spill`.

------
#### [ JSON ]

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket/spill" ] } ] }
```

------

Wenn Sie IAM-Richtlinien verwenden, stellen Sie sicher, dass Sie die bewährten Methoden von IAM befolgen. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

## Lambda-Funktionen erstellen
<a name="hive-metastore-iam-access-lambda-creating-lambda-functions"></a>

Für die Erstellung einer Lambda-Funktion in Ihrem Konto sind Funktionsentwicklungsberechtigungen oder die Rolle `AWSLambdaFullAccess` erforderlich. Weitere Informationen finden Sie unter [Identitätsbasierte IAM-Richtlinien für AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-identity-based.html).

Da Athena die AWS Serverless Application Repository zur Erstellung von Lambda-Funktionen verwendet, sollte der Superuser oder Administrator, der Lambda-Funktionen erstellt, auch über IAM-Richtlinien verfügen, um Athena-Verbundabfragen [zuzulassen](federated-query-iam-access.md).

## Berechtigungen für Katalogregistrierung und Metadaten-API-Operationen konfigurieren
<a name="hive-metastore-iam-access-lambda-catalog-registration-and-metadata-api-operations"></a>

[Für den API-Zugriff auf die Katalogregistrierung und Metadatenvorgänge können Sie die verwaltete Richtlinie verwenden. AmazonAthenaFullAccess ](security-iam-awsmanpol.md#amazonathenafullaccess-managed-policy) Wenn Sie die `AmazonAthenaFullAccess`-Richtlinie nicht verwenden, müssen Sie Ihren Athena-Richtlinien die folgenden API-Operationen hinzufügen:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListDataCatalogs",
                "athena:GetDataCatalog",
                "athena:CreateDataCatalog",
                "athena:UpdateDataCatalog",
                "athena:DeleteDataCatalog",
                "athena:GetDatabase",
                "athena:ListDatabases",
                "athena:GetTableMetadata",
                "athena:ListTableMetadata"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## Lambda-Funktion regionenübergreifend aufrufen
<a name="hive-metastore-iam-access-lambda-cross-region-invocation"></a>

Athena ruft standardmäßig Lambda-Funktionen auf, die in derselben Region definiert sind. Um eine Lambda-Funktion in einer AWS-Region anderen Region als der Region aufzurufen, in der Sie Athena-Abfragen ausführen, verwenden Sie den vollständigen ARN der Lambda-Funktion. 

Das folgende Beispiel zeigt, wie ein Katalog in der Region Europa (Frankfurt) eine Lambda-Funktion in der Region USA Ost (Nord-Virginia) angeben kann, um Daten aus dem Hive-Metastore in der Region Europa (Frankfurt) abzurufen.

```
arn:aws:lambda:us-east-1:111122223333:function:external-hms-service-new     
```

Wenn Sie den vollständigen ARN auf diese Weise angeben, kann Athena die Lambda-Funktion `external-hms-service-new` für `us-east-1` aufrufen, um die Hive-Metastore-Daten aus `eu-central-1` abzurufen.

**Anmerkung**  
Der Katalog sollte in derselben Datei registriert sein AWS-Region , die Sie zum Ausführen von Athena-Abfragen verwenden.

## Lambda-Funktion über Konten hinweg aufrufen
<a name="hive-metastore-iam-access-lambda-cross-account-invocation"></a>

Manchmal benötigen Sie möglicherweise Zugriff auf einen Hive-Metastore über ein anderes Konto. Um beispielsweise einen Hive-Metastore auszuführen, könnten Sie ein anderes Konto verwenden als das, das Sie für Athena-Abfragen verwenden. Verschiedene Gruppen oder Teams führen den Hive-Metastore möglicherweise mit unterschiedlichen Konten in ihrer VPC aus. Vielleicht möchten Sie auch auf Metadaten in verschiedenen Hive-Metastores in verschiedenen Gruppen oder Teams zugreifen.

Athena verwendet die [AWS Lambda -Unterstützung für den kontenübergreifenden Zugriff](https://aws.amazon.com/blogs/compute/easy-authorization-of-aws-lambda-functions/), um einen kontenübergreifenden Zugriff für Hive-Metastores zu ermöglichen.

**Anmerkung**  
Beachten Sie, dass der kontenübergreifende Zugriff für Athena normalerweise den kontenübergreifenden Zugriff für Metadaten und Daten in Amazon S3 impliziert.

Stellen Sie sich das folgende Szenario vor:
+ Konto `111122223333` richtet die Lambda-Funktion `external-hms-service-new` für us-east-1 in Athena ein, um auf einen Hive-Metastore zuzugreifen, der auf einem EMR-Cluster ausgeführt wird.
+ Konto `111122223333` möchte dem Konto 444455556666 Zugriff auf die Hive-Metastore-Daten erteilen.

Um `444455556666` Kontozugriff auf die Lambda-Funktion zu gewähren`external-hms-service-new`, `111122223333` verwendet account den folgenden AWS CLI `add-permission` Befehl. Der Befehl wurde zur besseren Lesbarkeit formatiert.

```
$ aws --profile perf-test lambda add-permission
      --function-name external-hms-service-new
      --region us-east-1
      --statement-id Id-ehms-invocation2
      --action "lambda:InvokeFunction"
      --principal arn:aws:iam::444455556666:user/perf1-test
{
    "Statement": "{\"Sid\":\"Id-ehms-invocation2\",
                   \"Effect\":\"Allow\",
                   \"Principal\":{\"AWS\":\"arn:aws:iam::444455556666:user/perf1-test\"},
                   \"Action\":\"lambda:InvokeFunction\",
                   \"Resource\":\"arn:aws:lambda:us-east-1:111122223333:function:external-hms-service-new\"}"
}
```

Um die Lambda-Berechtigung zu überprüfen, verwenden Sie den Befehl `get-policy` wie im folgenden Beispiel gezeigt. Der Befehl wurde zur besseren Lesbarkeit formatiert.

```
$ aws --profile perf-test lambda get-policy 
      --function-name arn:aws:lambda:us-east-1:111122223333:function:external-hms-service-new 
      --region us-east-1
{
    "RevisionId": "711e93ea-9851-44c8-a09f-5f2a2829d40f",
    "Policy": "{\"Version\":\"2012-10-17\",		 	 	 
                \"Id\":\"default\",
                \"Statement\":[{\"Sid\":\"Id-ehms-invocation2\",
                                \"Effect\":\"Allow\",
                                \"Principal\":{\"AWS\":\"arn:aws:iam::444455556666:user/perf1-test\"},
                                \"Action\":\"lambda:InvokeFunction\",
                                \"Resource\":\"arn:aws:lambda:us-east-1:111122223333:function:external-hms-service-new\"}]}"
}
```

Nach der Hinzufügung der Berechtigung können Sie einen vollständigen ARN der Lambda-Funktion für `us-east-1` wie den folgenden verwenden, wenn Sie den Katalog `ehms` definieren:

```
arn:aws:lambda:us-east-1:111122223333:function:external-hms-service-new
```

Weitere Informationen zu regionsübergreifenden Aufrufen finden Sie unter [Lambda-Funktion regionenübergreifend aufrufen](#hive-metastore-iam-access-lambda-cross-region-invocation) weiter oben in diesem Thema.

### Kontenübergreifenden Zugriff auf Daten gewähren
<a name="hive-metastore-iam-access-lambda-granting-cross-account-access-to-data"></a>

Bevor Sie Athena-Abfragen ausführen können, müssen Sie einen kontenübergreifenden Zugriff auf die Daten in Amazon S3 gewähren. Sie können dafür eine der folgenden Möglichkeiten auswählen:
+ Aktualisieren Sie die Richtlinie für Zugriffskontrolllisten des Amazon-S3-Buckets mit einer [kanonischen Benutzer-ID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html).
+ Fügen Sie der Amazon-S3-Bucket-Richtlinie den kontenübergreifenden Zugriff hinzu.

Sie könnten beispielsweise der Amazon-S3-Bucket-Richtlinie im Konto die folgende Richtlinie `111122223333` die folgende Richtlinie hinzufügen, damit das Konto `444455556666` Daten aus dem angegebenen Amazon-S3-Speicherort lesen kann.

------
#### [ JSON ]

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Sid": "Stmt1234567890123", "Effect":
    "Allow", "Principal": { "AWS":
        "arn:aws:iam::444455556666:user/perf1-test"
    }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::athena-test/lambda/dataset/*" } ]
    }
```

------

**Anmerkung**  
Möglicherweise müssen Sie den kontenübergreifenden Zugriff auf Amazon S3 nicht nur in Bezug auf Ihre Daten, sondern auch in Bezug auf Ihren Amazon-S3-Überlaufspeicherort gewähren. Ihre Lambda-Funktion speichert zusätzliche Daten am Überlaufspeicherort, wenn die Größe des Antwortobjekts einen bestimmten Schwellenwert überschreitet. Ein Beispiel für eine Richtlinie finden Sie am Anfang dieses Themas.

Im aktuellen Beispiel kann nach Gewährung des kontenübergreifenden Zugriffs für `444455556666,` das Konto `444455556666` den Katalog `ehms` im eigenen `account` verwenden, um im Konto `111122223333` definierte Tabellen abzufragen.

Im folgenden Beispiel ist das SQL Workbench-Profil `perf-test-1` für das Konto `444455556666` angegeben. Die Abfrage verwendet den Katalog `ehms`, um auf den Hive-Metastore und die Amazon-S3-Daten im Konto `111122223333` zuzugreifen.

![\[Kontenübergreifender Zugriff auf Hive-Metastore und Amazon-S3-Daten in SQL Workbench.\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/hive-metastore-iam-access-lambda-1.png)


# Berechtigungen erforderlich zum Erstellen des Connectors und des Athena-Katalogs
<a name="athena-catalog-access"></a>

Um Athena `CreateDataCatalog` aufzurufen, müssen Sie eine Rolle mit den folgenden Berechtigungen erstellen:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
  {
  "Sid": "ECR",
  "Effect": "Allow",
  "Action": [
  "ecr:BatchGetImage",
  "ecr:GetDownloadUrlForLayer"
  ],
  "Resource": "arn:aws:ecr:*:*:repository/*"
  },
  {
  "Effect": "Allow",
  "Action": [
  "s3:GetObject",
  "glue:TagResource",
  "glue:GetConnection",
  "glue:CreateConnection",
  "glue:DeleteConnection",
  "glue:UpdateConnection",
  "serverlessrepo:CreateCloudFormationTemplate",
  "serverlessrepo:GetCloudFormationTemplate",
  "cloudformation:CreateStack",
  "cloudformation:DeleteStack",
  "cloudformation:DescribeStacks",
  "cloudformation:CreateChangeSet",
  "cloudformation:DescribeAccountLimits",
  "cloudformation:CreateStackSet",
  "cloudformation:ValidateTemplate",
  "cloudformation:CreateUploadBucket",
  "cloudformation:DescribeStackDriftDetectionStatus",
  "cloudformation:ListExports",
  "cloudformation:ListStacks",
  "cloudformation:EstimateTemplateCost",
  "cloudformation:ListImports",
  "lambda:InvokeFunction",
  "lambda:GetFunction",
  "lambda:DeleteFunction",
  "lambda:CreateFunction",
  "lambda:TagResource",
  "lambda:ListFunctions",
  "lambda:GetAccountSettings",
  "lambda:ListEventSourceMappings",
  "lambda:ListVersionsByFunction",
  "lambda:GetFunctionConfiguration",
  "lambda:PutFunctionConcurrency",
  "lambda:UpdateFunctionConfiguration",
  "lambda:UpdateFunctionCode",
  "lambda:DeleteFunctionConcurrency",
  "lambda:RemovePermission",
  "lambda:AddPermission",
  "lambda:ListTags",
  "lambda:GetAlias",
  "lambda:GetPolicy",
  "lambda:ListAliases",
  "ec2:DescribeSecurityGroups",
  "ec2:DescribeSubnets",
  "ec2:DescribeVpcs",
  "secretsmanager:ListSecrets",
  "glue:GetCatalogs"
  ],
  "Resource": "*"
  },
  {
  "Effect": "Allow",
  "Action": [
  "iam:AttachRolePolicy",
  "iam:DetachRolePolicy",
  "iam:DeleteRolePolicy",
  "iam:PutRolePolicy",
  "iam:GetRolePolicy",
  "iam:CreateRole",
  "iam:TagRole",
  "iam:DeleteRole",
  "iam:GetRole",
  "iam:PassRole",
  "iam:ListRoles",
  "iam:ListAttachedRolePolicies",
  "iam:ListRolePolicies",
  "iam:GetPolicy",
  "iam:UpdateRole"
  ],
  "Resource": [
  "arn:aws:iam::*:role/RoleName",
  "arn:aws:iam::111122223333:policy/*"
  ]
  }
  ]
  }
```

------

# Zugriff auf Athena Federated Query zulassen: Beispiel-Richtlinien
<a name="federated-query-iam-access"></a>

Die Beispiele für Berechtigungsrichtlinien in diesem Thema veranschaulichen die erforderlichen zulässigen Aktionen und die Ressourcen, für die sie zulässig sind. Untersuchen Sie diese Richtlinien sorgfältig und ändern Sie sie entsprechend Ihren Anforderungen, bevor Sie diese an IAM-Identitäten anfügen.

Weitere Informationen zum Anfügen von Richtlinien an IAM-Identitäten finden Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) im [IAM-Benutzerhandbuch](https://docs.aws.amazon.com/IAM/latest/UserGuide/).
+  [Example policy to allow an IAM principal to run and return results using Athena Federated Query](#fed-using-iam) 
+  [Example Policy to Allow an IAM Principal to Create a Data Source Connector](#fed-creating-iam) 

**Example – Ausführen und Zurückgeben von Ergebnissen durch einen IAM-Prinzipal mithilfe von Athena Federated Query zulassen**  
Die folgende identitätsbasierte Berechtigungsrichtlinie ermöglicht Aktionen, die ein Benutzer oder ein anderer IAM-Prinzipal erfordert, um Athena Federated Query zu verwenden. Prinzipale, die diese Aktionen ausführen dürfen, können Abfragen ausführen, die Athena-Kataloge angeben, die einer Verbunddatenquelle zugeordnet sind.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Athena",
            "Effect": "Allow",
            "Action": [
                "athena:GetDataCatalog",
                "athena:GetQueryExecution",
                "athena:GetQueryResults",
                "athena:GetWorkGroup",
                "athena:StartQueryExecution",
                "athena:StopQueryExecution"
            ],
            "Resource": [
                "arn:aws:athena:*:111122223333:workgroup/WorkgroupName",
                "arn:aws:athena:us-east-1:111122223333:datacatalog/DataCatalogName"
            ]
        },
        {
            "Sid": "ListAthenaWorkGroups",
            "Effect": "Allow",
            "Action": "athena:ListWorkGroups",
            "Resource": "*"
        },
        {
            "Sid": "Lambda",
            "Effect": "Allow",
            "Action": "lambda:InvokeFunction",
            "Resource": [
                "arn:aws:lambda:*:111122223333:function:OneAthenaLambdaFunction",
                "arn:aws:lambda:*:111122223333:function:AnotherAthenaLambdaFunction"
            ]
        },
        {
            "Sid": "S3",
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:ListMultipartUploadParts",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::MyLambdaSpillBucket",
                "arn:aws:s3:::MyLambdaSpillBucket/*",
                "arn:aws:s3:::MyQueryResultsBucket",
                "arn:aws:s3:::MyQueryResultsBucket/*"
            ]
        }
    ]
}
```


**Erläuterung der Berechtigungen**  

| Erlaubte Aktionen | Erklärung | 
| --- | --- | 
|  <pre> "athena:GetQueryExecution", <br /> "athena:GetQueryResults",<br /> "athena:GetWorkGroup",<br /> "athena:StartQueryExecution",<br /> "athena:StopQueryExecution"</pre>  |  Athena-Berechtigungen, die zum Ausführen von Verbundabfragen erforderlich sind.  | 
|  <pre> "athena:GetDataCatalog",<br /> "athena:GetQueryExecution,"<br /> "athena:GetQueryResults",<br /> "athena:GetWorkGroup",<br /> "athena:StartQueryExecution",<br /> "athena:StopQueryExecution"</pre>  |  Athena-Berechtigungen, die zum Ausführen von Verbundansichtsabfragen erforderlich sind. Die Aktion `GetDataCatalog` ist erforderlich für Ansichten.  | 
|  <pre>"lambda:InvokeFunction"</pre>  | Ermöglicht Abfragen, die AWS Lambda Funktionen für die im Resource Block angegebenen AWS Lambda Funktionen aufzurufen. Beispiel: where arn:aws:lambda:\$1:MyAWSAcctId:function:MyAthenaLambdaFunction MyAthenaLambdaFunction gibt den Namen einer Lambda-Funktion an, die aufgerufen werden soll. Es können mehrere Funktionen angegeben werden, wie im Beispiel gezeigt. | 
|  <pre>"s3:AbortMultipartUpload",<br />"s3:GetBucketLocation",<br />"s3:GetObject",<br />"s3:ListBucket",<br />"s3:ListMultipartUploadParts",<br />"s3:PutObject"</pre>  |  Die `s3:ListBucket` und `s3:GetBucketLocation` Berechtigungen sind erforderlich, um auf den Abfrageausgabe-Bucket für IAM-Prinzipale zuzugreifen, die `StartQueryExecution` ausführen. `s3:PutObject``s3:ListMultipartUploadParts`, und `s3:AbortMultipartUpload` ermöglichen das Schreiben von Abfrageergebnissen in alle Unterordner des Abfrageergebnis-Buckets, wie durch die `arn:aws:s3:::MyQueryResultsBucket/*` Ressourcen-ID angegeben, wobei sich der Athena-Abfrageergebnis-Bucket *MyQueryResultsBucket* befindet. Weitere Informationen finden Sie unter [Arbeiten mit Abfrageergebnissen und aktuellen Abfragen](querying.md). `s3:GetObject`ermöglicht das Lesen von Abfrageergebnissen und dem Abfrageverlauf für die angegebene Ressource`arn:aws:s3:::MyQueryResultsBucket`, wo sich der Athena-Abfrageergebnis-Bucket *MyQueryResultsBucket* befindet. `s3:GetObject`ermöglicht auch das Lesen von der Ressource, die als angegeben *MyLambdaSpillPrefix* ist`"arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillPrefix*"`, wo dies in der Konfiguration der aufgerufenen Lambda-Funktion oder der aufgerufenen Funktionen angegeben ist.  | 

**Example – Erlauben Sie einem IAM-Prinzipal, einen Datenquellen-Connector zu erstellen**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "lambda:CreateFunction",
                "lambda:ListVersionsByFunction",
                "iam:CreateRole",
                "lambda:GetFunctionConfiguration",
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy",
                "lambda:PutFunctionConcurrency",
                "iam:PassRole",
                "iam:DetachRolePolicy",
                "lambda:ListTags",
                "iam:ListAttachedRolePolicies",
                "iam:DeleteRolePolicy",
                "lambda:DeleteFunction",
                "lambda:GetAlias",
                "iam:ListRolePolicies",
                "iam:GetRole",
                "iam:GetPolicy",
                "lambda:InvokeFunction",
                "lambda:GetFunction",
                "lambda:ListAliases",
                "lambda:UpdateFunctionConfiguration",
                "iam:DeleteRole",
                "lambda:UpdateFunctionCode",
                "s3:GetObject",
                "lambda:AddPermission",
                "iam:UpdateRole",
                "lambda:DeleteFunctionConcurrency",
                "lambda:RemovePermission",
                "iam:GetRolePolicy",
                "lambda:GetPolicy"
            ],
            "Resource": [
                "arn:aws:lambda:*:111122223333:function:MyAthenaLambdaFunctionsPrefix*",
                "arn:aws:s3:::awsserverlessrepo-changesets-1iiv3xa62ln3m/*",
                "arn:aws:iam::*:role/RoleName",
                "arn:aws:iam::111122223333:policy/*"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateUploadBucket",
                "cloudformation:DescribeStackDriftDetectionStatus",
                "cloudformation:ListExports",
                "cloudformation:ListStacks",
                "cloudformation:ListImports",
                "lambda:ListFunctions",
                "iam:ListRoles",
                "lambda:GetAccountSettings",
                "ec2:DescribeSecurityGroups",
                "cloudformation:EstimateTemplateCost",
                "ec2:DescribeVpcs",
                "lambda:ListEventSourceMappings",
                "cloudformation:DescribeAccountLimits",
                "ec2:DescribeSubnets",
                "cloudformation:CreateStackSet",
                "cloudformation:ValidateTemplate"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "cloudformation:*",
            "Resource": [
                "arn:aws:cloudformation:*:111122223333:stack/aws-serverless-repository-MyCFStackPrefix*/*",
                "arn:aws:cloudformation:*:111122223333:stack/serverlessrepo-MyCFStackPrefix*/*",
                "arn:aws:cloudformation:*:*:transform/Serverless-*",
                "arn:aws:cloudformation:*:111122223333:stackset/aws-serverless-repository-MyCFStackPrefix*:*",
                "arn:aws:cloudformation:*:111122223333:stackset/serverlessrepo-MyCFStackPrefix*:*"
            ]
        },
        {
            "Sid": "VisualEditor3",
            "Effect": "Allow",
            "Action": "serverlessrepo:*",
            "Resource": "arn:aws:serverlessrepo:*:*:applications/*"
        },
        {
            "Sid": "ECR",
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "arn:aws:ecr:*:*:repository/*"
        }
    ]
}
```


**Erläuterung der Berechtigungen**  

| Erlaubte Aktionen | Erklärung | 
| --- | --- | 
|  <pre>"lambda:CreateFunction",<br />"lambda:ListVersionsByFunction",<br />"lambda:GetFunctionConfiguration",<br />"lambda:PutFunctionConcurrency",<br />"lambda:ListTags",<br />"lambda:DeleteFunction",<br />"lambda:GetAlias",<br />"lambda:InvokeFunction",<br />"lambda:GetFunction",<br />"lambda:ListAliases",<br />"lambda:UpdateFunctionConfiguration",<br />"lambda:UpdateFunctionCode",<br />"lambda:AddPermission",<br />"lambda:DeleteFunctionConcurrency",<br />"lambda:RemovePermission",<br />"lambda:GetPolicy"<br />"lambda:GetAccountSettings",<br />"lambda:ListFunctions",<br />"lambda:ListEventSourceMappings",<br /></pre>  |  Erlauben der Erstellung und Verwaltung von Lambda-Funktionen, die als Ressourcen aufgeführt sind. In diesem Beispiel wird ein Namenspräfix in der Ressourcenkennung `arn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunctionsPrefix*` verwendet, wobei `MyAthenaLambdaFunctionsPrefix` ein gemeinsames Präfix ist, das im Namen einer Gruppe von -Funktionen verwendet wird, sodass diese nicht einzeln als Ressourcen angegeben werden müssen. Sie können eine oder mehrere Lambda-Funktionsressourcen angeben.  | 
|  <pre>"s3:GetObject"</pre>  | Ermöglicht das Lesen eines Buckets, der die in der Ressourcen-ID angegebenen Anforderungen AWS Serverless Application Repository benötigt. arn:aws:s3:::awsserverlessrepo-changesets-1iiv3xa62ln3m/\$1 Dieser Bucket kann spezifisch für Ihr Konto sein. | 
|  <pre>"cloudformation:*"</pre>  |  Ermöglicht die Erstellung und Verwaltung von CloudFormation Stacks, die durch die Ressource `MyCFStackPrefix` spezifiziert werden. Mit diesen Stacks und Stacksets werden Konnektoren und bereitgestellt. AWS Serverless Application Repository UDFs  | 
|  <pre>"serverlessrepo:*"</pre>  | Ermöglicht das Suchen, Anzeigen, Veröffentlichen und Aktualisieren von Anwendungen in der AWS Serverless Application Repository, die durch die Ressourcen-ID angegeben sind. arn:aws:serverlessrepo:\$1:\$1:applications/\$1 | 
|  <pre>"ecr:BatchGetImage",<br />"ecr:GetDownloadUrlForLayer"</pre>  |  Ermöglicht der erstellten Lambda-Funktion den Zugriff auf das ECR-Image des Verbund-Connectors.  | 

# Zugriff auf Athena zulassen UDFs: Beispielrichtlinien
<a name="udf-iam-access"></a>

Die Beispiele für Berechtigungsrichtlinien in diesem Thema veranschaulichen die erforderlichen zulässigen Aktionen und die Ressourcen, für die sie zulässig sind. Untersuchen Sie diese Richtlinien sorgfältig und ändern Sie sie entsprechend Ihren Anforderungen, bevor Sie IAM-Identitäten ähnliche Berechtigungsrichtlinien anfügen.
+  [Example Policy to Allow an IAM Principal to Run and Return Queries that Contain an Athena UDF Statement](#udf-using-iam) 
+  [Example Policy to Allow an IAM Principal to Create an Athena UDF](#udf-creating-iam) 

**Example – Erlauben Sie einem IAM-Prinzipal, Abfragen auszuführen und zurückzugeben, die eine Athena-UDF-Anweisung enthalten**  
Die folgende identitätsbasierte Berechtigungsrichtlinie erlaubt Aktionen, die ein Benutzer oder ein anderer IAM-Prinzipal benötigt, um Abfragen auszuführen, die Athena-UDF-Anweisungen verwenden.  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "athena:StartQueryExecution",
                "lambda:InvokeFunction",
                "athena:GetQueryResults",
                "s3:ListMultipartUploadParts",
                "athena:GetWorkGroup",
                "s3:PutObject",
                "s3:GetObject",
                "s3:AbortMultipartUpload",
                "athena:StopQueryExecution",
                "athena:GetQueryExecution",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:athena:*:MyAWSAcctId:workgroup/MyAthenaWorkGroup",
                "arn:aws:s3:::MyQueryResultsBucket/*",
                "arn:aws:lambda:*:MyAWSAcctId:function:OneAthenaLambdaFunction",
                "arn:aws:lambda:*:MyAWSAcctId:function:AnotherAthenaLambdaFunction"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "athena:ListWorkGroups",
            "Resource": "*"
        }
    ]
}
```


**Erläuterung der Berechtigungen**  

| Erlaubte Aktionen | Erklärung | 
| --- | --- | 
|  <pre>"athena:StartQueryExecution",<br /> "athena:GetQueryResults",<br /> "athena:GetWorkGroup",<br /> "athena:StopQueryExecution",<br /> "athena:GetQueryExecution",<br /></pre>  |  Athena-Berechtigungen, die zum Ausführen von Abfragen in der `MyAthenaWorkGroup`-Arbeitsgruppe erforderlich sind.  | 
|  <pre>"s3:PutObject",<br />"s3:GetObject",<br />"s3:AbortMultipartUpload"</pre>  |  `s3:PutObject`und `s3:AbortMultipartUpload` ermöglichen das Schreiben von Abfrageergebnissen in alle Unterordner des Abfrageergebnis-Buckets, wie durch die `arn:aws:s3:::MyQueryResultsBucket/*` Ressourcen-ID angegeben, wobei sich der Athena-Abfrageergebnis-Bucket *MyQueryResultsBucket* befindet. Weitere Informationen finden Sie unter [Arbeiten mit Abfrageergebnissen und aktuellen Abfragen](querying.md). `s3:GetObject`ermöglicht das Lesen von Abfrageergebnissen und dem Abfrageverlauf für die angegebene Ressource`arn:aws:s3:::MyQueryResultsBucket`, wo sich der Athena-Abfrageergebnis-Bucket *MyQueryResultsBucket* befindet. Weitere Informationen finden Sie unter [Arbeiten mit Abfrageergebnissen und aktuellen Abfragen](querying.md). `s3:GetObject`ermöglicht auch das Lesen von der Ressource, die als angegeben *MyLambdaSpillPrefix* ist`"arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillPrefix*"`, wo dies in der Konfiguration der aufgerufenen Lambda-Funktion oder der aufgerufenen Funktionen angegeben ist.  | 
|  <pre>"lambda:InvokeFunction"</pre>  | Ermöglicht Abfragen, die im Block angegebenen AWS Lambda Funktionen aufzurufen. Resource Beispiel: where arn:aws:lambda:\$1:MyAWSAcctId:function:MyAthenaLambdaFunction MyAthenaLambdaFunction gibt den Namen einer Lambda-Funktion an, die aufgerufen werden soll. Es können mehrere Funktionen angegeben werden, wie im Beispiel gezeigt. | 

**Example – Erlauben Sie einem IAM-Prinzipal, eine Athena-UDF zu erstellen**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "lambda:CreateFunction",
                "lambda:ListVersionsByFunction",
                "iam:CreateRole",
                "lambda:GetFunctionConfiguration",
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy",
                "lambda:PutFunctionConcurrency",
                "iam:PassRole",
                "iam:DetachRolePolicy",
                "lambda:ListTags",
                "iam:ListAttachedRolePolicies",
                "iam:DeleteRolePolicy",
                "lambda:DeleteFunction",
                "lambda:GetAlias",
                "iam:ListRolePolicies",
                "iam:GetRole",
                "iam:GetPolicy",
                "lambda:InvokeFunction",
                "lambda:GetFunction",
                "lambda:ListAliases",
                "lambda:UpdateFunctionConfiguration",
                "iam:DeleteRole",
                "lambda:UpdateFunctionCode",
                "s3:GetObject",
                "lambda:AddPermission",
                "iam:UpdateRole",
                "lambda:DeleteFunctionConcurrency",
                "lambda:RemovePermission",
                "iam:GetRolePolicy",
                "lambda:GetPolicy"
            ],
            "Resource": [
                "arn:aws:lambda:*:111122223333:function:MyAthenaLambdaFunctionsPrefix*",
                "arn:aws:s3:::awsserverlessrepo-changesets-1iiv3xa62ln3m/*",
                "arn:aws:iam::*:role/RoleName",
                "arn:aws:iam::111122223333:policy/*"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateUploadBucket",
                "cloudformation:DescribeStackDriftDetectionStatus",
                "cloudformation:ListExports",
                "cloudformation:ListStacks",
                "cloudformation:ListImports",
                "lambda:ListFunctions",
                "iam:ListRoles",
                "lambda:GetAccountSettings",
                "ec2:DescribeSecurityGroups",
                "cloudformation:EstimateTemplateCost",
                "ec2:DescribeVpcs",
                "lambda:ListEventSourceMappings",
                "cloudformation:DescribeAccountLimits",
                "ec2:DescribeSubnets",
                "cloudformation:CreateStackSet",
                "cloudformation:ValidateTemplate"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "cloudformation:*",
            "Resource": [
                "arn:aws:cloudformation:*:111122223333:stack/aws-serverless-repository-MyCFStackPrefix*/*",
                "arn:aws:cloudformation:*:111122223333:stack/serverlessrepo-MyCFStackPrefix*/*",
                "arn:aws:cloudformation:*:*:transform/Serverless-*",
                "arn:aws:cloudformation:*:111122223333:stackset/aws-serverless-repository-MyCFStackPrefix*:*",
                "arn:aws:cloudformation:*:111122223333:stackset/serverlessrepo-MyCFStackPrefix*:*"
            ]
        },
        {
            "Sid": "VisualEditor3",
            "Effect": "Allow",
            "Action": "serverlessrepo:*",
            "Resource": "arn:aws:serverlessrepo:*:*:applications/*"
        },
        {
            "Sid": "ECR",
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "arn:aws:ecr:*:*:repository/*"
        }
    ]
}
```


**Erläuterung der Berechtigungen**  

| Erlaubte Aktionen | Erklärung | 
| --- | --- | 
|  <pre>"lambda:CreateFunction",<br />"lambda:ListVersionsByFunction",<br />"lambda:GetFunctionConfiguration",<br />"lambda:PutFunctionConcurrency",<br />"lambda:ListTags",<br />"lambda:DeleteFunction",<br />"lambda:GetAlias",<br />"lambda:InvokeFunction",<br />"lambda:GetFunction",<br />"lambda:ListAliases",<br />"lambda:UpdateFunctionConfiguration",<br />"lambda:UpdateFunctionCode",<br />"lambda:AddPermission",<br />"lambda:DeleteFunctionConcurrency",<br />"lambda:RemovePermission",<br />"lambda:GetPolicy"<br />"lambda:GetAccountSettings",<br />"lambda:ListFunctions",<br />"lambda:ListEventSourceMappings",<br /></pre>  |  Erlauben der Erstellung und Verwaltung von Lambda-Funktionen, die als Ressourcen aufgeführt sind. In diesem Beispiel wird ein Namenspräfix in der Ressourcenkennung `arn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunctionsPrefix*` verwendet, wobei *MyAthenaLambdaFunctionsPrefix* ein gemeinsames Präfix ist, das im Namen einer Gruppe von -Funktionen verwendet wird, sodass diese nicht einzeln als Ressourcen angegeben werden müssen. Sie können eine oder mehrere Lambda-Funktionsressourcen angeben.  | 
|  <pre>"s3:GetObject"</pre>  | Ermöglicht das Lesen eines Buckets, der die AWS Serverless Application Repository in der Ressourcen-ID angegebenen Anforderungen erfüllt. arn:aws:s3:::awsserverlessrepo-changesets-1iiv3xa62ln3m/\$1 | 
|  <pre>"cloudformation:*"</pre>  |  Ermöglicht die Erstellung und Verwaltung von CloudFormation Stacks, die durch die Ressource *MyCFStackPrefix* spezifiziert werden. Mit diesen Stacks und Stacksets werden Konnektoren und bereitgestellt. AWS Serverless Application Repository UDFs  | 
|  <pre>"serverlessrepo:*"</pre>  | Ermöglicht das Suchen, Anzeigen, Veröffentlichen und Aktualisieren von Anwendungen in der AWS Serverless Application Repository, die durch die Ressourcen-ID angegeben sind. arn:aws:serverlessrepo:\$1:\$1:applications/\$1 | 

# Zugriff für ML mit Athena zulassen
<a name="machine-learning-iam-access"></a>

IAM-Prinzipale, die Athena ML-Abfragen ausführen, müssen berechtigt sein, die `sagemaker:invokeEndpoint`-Aktion für Sagemaker-Endpunkte auszuführen, die sie verwenden. Fügen Sie eine Richtlinienanweisung ähnlich der folgenden in identitätsbasierte Berechtigungsrichtlinien ein, die an Benutzeridentitäten angefügt sind. Fügen Sie außerdem die [AWS verwaltete Richtlinie: AmazonAthenaFullAccess](security-iam-awsmanpol.md#amazonathenafullaccess-managed-policy) an, die vollen Zugriff auf Athena-Aktionen gewährt, oder eine modifizierte Inline-Richtlinie, die eine Teilmenge von Aktionen ermöglicht.

Ersetzen Sie `arn:aws:sagemaker:region:AWSAcctID:ModelEndpoint` im Beispiel durch den ARN oder ARNs die Modellendpunkte, die in Abfragen verwendet werden sollen. Weitere Informationen finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für SageMaker KI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html) in der *Service Authorization Reference.*

```
{
            "Effect": "Allow",
            "Action": [
                "sagemaker:invokeEndpoint"
            ],
            "Resource": "arn:aws:sagemaker:us-west-2:123456789012:workteam/public-crowd/default"
}
```

Wenn Sie IAM-Richtlinien verwenden, stellen Sie sicher, dass Sie die bewährten IAM-Methoden befolgen. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

# Verbund-Zugriff auf die Athena-API aktivieren
<a name="access-federation-saml"></a>

In diesem Abschnitt wird der föderierte Zugriff beschrieben, der Benutzern oder Client-Anwendungen in Ihrer Organisation den Aufruf von Amazon-Athena-API-Operationen ermöglicht. In diesem Fall verfügen die Benutzer Ihrer Organisation nicht über direkten Zugriff auf Athena. Stattdessen verwalten Sie Benutzeranmeldeinformationen außerhalb von AWS Microsoft Active Directory. Active Directory unterstützt [SAML 2.0](https://wiki.oasis-open.org/security) (Security Assertion Markup Language 2.0).

In diesem Fall verwenden Sie zur Authentifizierung von Benutzern den JDBC- oder ODBC-Treiber mit SAML 2.0-Unterstützung, der auf die Active Directory Federation Services (AD FS) 3.0 zugreift und Client-Anwendungen den Zugriff auf Athena-API-Operationen ermöglicht.

Weitere Informationen zur SAML 2.0-Unterstützung finden Sie unter AWS[About SAML 2.0 Federation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html) im *IAM-Benutzerhandbuch*. 

**Anmerkung**  
Der föderierte Zugriff auf die Athena-API wird für eine bestimmte Art von Identitätsanbieter (IdP) unterstützt, nämlich den Active Directory Federation Service (AD FS 3.0), der Teil von Windows Server ist. Der Verbundzugriff ist nicht mit dem Feature zur Weitergabe vertrauenswürdiger Identitäten des IAM Identity Center kompatibel. Der Zugriff wird durch die Versionen von JDBC- bzw. ODBC-Treibern hergestellt, die SAML 2.0 unterstützen. Weitere Informationen finden Sie unter [Verbindung zu Amazon Athena mit JDBC herstellen](connect-with-jdbc.md) und [Mit ODBC eine Verbindung zu Amazon Athena herstellen](connect-with-odbc.md).

**Topics**
+ [Bevor Sie beginnen](#access-federation-before-you-begin)
+ [Authentifizierungsprozess verstehen](#access-federation-diagram)
+ [Verfahren: SAML-basierter födeVerbund-Zugriff auf die Athena-API aktivieren](#access-federation-procedure)

## Bevor Sie beginnen
<a name="access-federation-before-you-begin"></a>

 Stellen Sie vor Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind: 
+ Installieren und konfigurieren Sie AD FS 3.0 innerhalb Ihrer Organisation als IdP.
+ Installieren und konfigurieren Sie die neuesten verfügbaren Versionen der JDBC- oder ODBC-Treiber auf Clients, die für den Zugriff auf Athena verwendet werden. Der Treiber muss mit dem föderierten Zugriff mit SAML 2.0 kompatible Unterstützung bieten. Weitere Informationen finden Sie unter [Verbindung zu Amazon Athena mit JDBC herstellen](connect-with-jdbc.md) und [Mit ODBC eine Verbindung zu Amazon Athena herstellen](connect-with-odbc.md).

## Authentifizierungsprozess verstehen
<a name="access-federation-diagram"></a>

Das folgende Diagramm zeigt den Authentifizierungsprozess des Verbundzugriffs auf die Athena-API.

![\[Das Diagramm des Verbundzugriffs auf die Athena-API.\]](http://docs.aws.amazon.com/de_de/athena/latest/ug/images/athena-saml-based-federation.png)


1. Ein Benutzer in Ihrer Organisation verwendet eine Client-Anwendung mit dem JDBC- oder ODBC-Treiber, um eine Authentifizierung vom Identitätsanbieter Ihrer Organisation anzufordern. Der Identitätsanbieter ist AD FS 3.0.

1. Der Identitätsanbieter authentifiziert den Benutzer anhand von Active Directory, dem Identitätsspeicher Ihrer Organisation.

1. Der Identitätsanbieter konstruiert eine SAML-Zusicherung mit Informationen über den Benutzer und sendet die Zusicherung über den JDBC- oder ODBC-Treiber an die Client-Anwendung.

1. Der JDBC- oder ODBC-Treiber ruft die AWS -Security-Token-Service [AssumeRoleWithSAML-API-Operation](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) auf und übergibt ihr die folgenden Parameter:
   + Der ARN des SAML-Anbieters
   + Den ARN der zu übernehmenden Rolle
   + Die SAML-Zusicherung des Identitätsanbieters

   *Weitere Informationen finden Sie unter [AssumeRoleWithSAML](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) in der API-Referenz.AWS -Security-Token-Service *

1. Die API-Antwort an die Client-Anwendung über den JDBC- oder ODBC-Treiber umfasst temporäre Sicherheitsanmeldeinformationen.

1. Die Client-Anwendung verwendet die temporären Sicherheitsanmeldeinformationen zum Aufrufen von Athena-API-Operationen, so dass Ihre Benutzer auf Athena-API-Operationen zugreifen können.

## Verfahren: SAML-basierter födeVerbund-Zugriff auf die Athena-API aktivieren
<a name="access-federation-procedure"></a>

Dieses Verfahren stellt eine Vertrauensstellung zwischen dem IdP Ihrer Organisation und Ihrem AWS Konto her, um einen SAML-basierten Verbundzugriff auf den Amazon Athena Athena-API-Vorgang zu ermöglichen.

**Den föderierten Zugriff auf die Athena-API aktivieren Sie wie folgt:**

1. Registrieren Sie sich in Ihrer Organisation AWS als Service Provider (SP) in Ihrem IdP. Dieser Prozess wird als *Vertrauensstellung der vertrauenden Seite* bezeichnet. Weitere Informationen finden Sie unter [Konfigurieren des SAML 2.0-Identitätsanbieters mit der Vertrauensstellung der vertrauenden Seite](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html) im *IAM-Benutzerhandbuch*. Führen Sie als Teil dieser Aufgabe die folgenden Schritte aus:

   1. Rufen Sie das Beispiel-SAML-Metadatendokument von dieser URL ab: [https://signin.aws.amazon.com/static/saml-metadata.xml](https://signin.aws.amazon.com/static/saml-metadata.xml).

   1. Generieren Sie im IdP (ADFS) Ihrer Organisation eine äquivalente Metadaten-XML-Datei, die Ihren IdP als Identitätsanbieter für beschreibt. AWS Ihre Metadatendatei muss den Namen des Ausstellers, das Erstellungsdatum, das Ablaufdatum und die Schlüssel enthalten, die zur Validierung der Authentifizierungsantworten (Assertionen) Ihrer Organisation AWS verwendet werden. 

1. Erstellen Sie in der IAM-Konsole eine SAML-Identitätsanbieter-Entität. Weitere Informationen finden Sie unter [Erstellen von SAML-Identitätsanbietern](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html) im *IAM-Benutzerhandbuch*. Tun Sie im Rahmen dieses Schritts Folgendes: 

   1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

   1. Laden Sie das SAML-Metadatendokument hoch, das der Identitätsanbieter (AD FS) im Rahmen von Schritt 1 dieses Verfahrens erstellt hat. 

1. Erstellen Sie in der IAM-Konsole mindestens eine IAM-Rolle für Ihren Identitätsanbieter. Weitere Informationen finden Sie unter [Erstellen von Rollen für externe Identitätsanbieter (Verbund)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html) im *IAM-Benutzerhandbuch*. Tun Sie im Rahmen dieses Schritts Folgendes: 
   + Führen Sie in der Berechtigungsrichtlinie der Rolle Aktionen auf, die Benutzer Ihrer Organisation in AWS ausführen dürfen. 
   + Legen Sie in der Vertrauensrichtlinie der Rolle die SAML-Anbieter-Entity als Prinzipal fest, die Sie in Schritt 2 dieses Verfahrens erstellt haben. 

   Dadurch entsteht eine Vertrauensbeziehung zwischen Ihrer Organisation und. AWS

1. Definieren Sie im Identitätsanbieter Ihrer Organisation (AD FS) Zusicherungen, in denen Benutzer oder Gruppen in Ihrer Organisation den IAM-Rollen zugeordnet werden. Das Mapping von Benutzern und Gruppen zu den IAM-Rollen wird auch als *Anspruchsregel* bezeichnet. Beachten Sie, dass unterschiedliche Benutzer und Gruppen in Ihrer Organisation unterschiedlichen IAM-Rollen zugeordnet werden können. 

   Informationen zur Konfiguration der Zuordnung in ADFS finden Sie im Blogbeitrag: [Enabling federation to AWS using Windows Active Directory, ADFS, and SAML](https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/) 2.0.

1. Installieren und konfigurieren Sie den JDBC- oder ODBC-Treiber mit SAML 2.0-Unterstützung. Weitere Informationen finden Sie unter [Verbindung zu Amazon Athena mit JDBC herstellen](connect-with-jdbc.md) und [Mit ODBC eine Verbindung zu Amazon Athena herstellen](connect-with-odbc.md).

1. Geben Sie die Verbindungszeichenfolge aus Ihrer Anwendung im JDBC- bzw. ODBC-Treiber an. Weitere Informationen zu der Verbindungszeichenfolge, die Ihre Anwendung verwenden sollte, finden Sie unter dem Thema *„Verwendung des Anmeldeinformationsanbietersvon Active Directory Federation Services (ADFS)“* im *Installations- and Konfigurationshandbuch für JDBC-Treiber* bzw. einem ähnlichen Thema im *Installations- and Konfigurationshandbuch für ODBC-Treiber*, die als PDF-Downloads über die Themen [Verbindung zu Amazon Athena mit JDBC herstellen](connect-with-jdbc.md) und [Mit ODBC eine Verbindung zu Amazon Athena herstellen](connect-with-odbc.md) verfügbar sind.

   Die allgemeine Zusammenfassung der Konfiguration der Verbindungszeichenfolge für die Treiber ist wie folgt:

   1. Stellen Sie in `AwsCredentialsProviderClass configuration` den `com.simba.athena.iamsupport.plugin.AdfsCredentialsProvider` ein, um anzugeben, dass Sie die SAML 2.0-basierte Authentifizierung über den Identitätsanbieter AD FS nutzen möchten. 

   1. Geben Sie für `idp_host` den Hostnamen des AD FS-Identitätsanbieterservers an.

   1. Geben Sie für `idp_port` die Nummer des Ports an, auf dem der AD FS-Identitätsanbieter auf die SAML-Zusicherungsanfrage hört.

   1. Geben Sie für `UID` und `PWD` die AD-Domain-Benutzeranmeldeinformationen an. Wenn Sie den Treiber auf Windows verwenden und `UID` und `PWD` nicht angegeben sind, versucht der Treiber, die Anmeldeinformationen des Benutzers abzurufen, der an dem Windows-Computer angemeldet ist.

   1. Optional können Sie für `ssl_insecure` den Wert `true` festlegen. In diesem Fall überprüft der Treiber nicht die Authentizität des SSL-Zertifikats für den ADFS-Identitätsanbieterserver. Die Einstellung auf `true` ist erforderlich, wenn das SSL-Zertifikat des Identitätsanbieters ADFS nicht vom Treiber als vertrauenswürdig konfiguriert wurde.

   1. Zum Aktivieren des Mappings eines Active Directory-Domain-Benutzers bzw. einer Gruppe zu mindestens einer IAM-Rolle (wie in Schritt 4 dieses Verfahrens erwähnt) geben Sie in der `preferred_role` für die JDBC- bzw. ODBC-Verbindung die IAM-Rolle (ARN) an, die für die Treiberverbindung übernommen werden soll. Die Angabe der `preferred_role` ist optional, aber nützlich, wenn die Rolle nicht die erste in der Anspruchsregel aufgeführte Rolle ist.

   Aufgrund dieses Verfahrens werden die folgenden Aktionen ausgeführt:

   1. [Der JDBC- oder ODBC-Treiber ruft die AWS STS[AssumeRoleWithSAML-API](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) auf und übergibt ihr die Assertions, wie in Schritt 4 des Architekturdiagramms dargestellt.](#access-federation-diagram) 

   1. AWS stellt sicher, dass die Anfrage zur Übernahme der Rolle von dem IdP stammt, auf den in der SAML-Anbieterentität verwiesen wird. 

   1. Wenn die Anfrage erfolgreich ist, gibt der AWS STS [AssumeRoleWithSAML-API-Vorgang](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) einen Satz temporärer Sicherheitsanmeldeinformationen zurück, die Ihre Client-Anwendung verwendet, um signierte Anfragen an Athena zu stellen. 

      Ihre Anwendung verfügt nun über Informationen zum aktuellen Benutzer und kann programmgesteuert auf Athena zugreifen. 