

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.

# Herstellen einer Verbindung mit Okta
<a name="connecting-to-okta"></a>

 Die Okta-API ist die programmgesteuerte Schnittstelle zu Okta, die zur Verwaltung großer oder komplexer Okta-Konten und -Kampagnen verwendet wird. Wenn Sie ein Okta-Benutzer sind, können Sie eine Verbindung AWS Glue zu Ihrem Okta-Konto herstellen. Anschließend können Sie Okta als Datenquelle in Ihren ETL-Aufträgen verwenden. Führen Sie diese Jobs aus, um Daten zwischen Okta und AWS Diensten oder anderen unterstützten Anwendungen zu übertragen. 

**Topics**
+ [AWS Glue Unterstützung für Okta](okta-support.md)
+ [Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten](okta-configuring-iam-permissions.md)
+ [Konfigurieren von Okta](okta-configuring.md)
+ [Konfigurieren von Okta-Verbindungen](okta-configuring-connections.md)
+ [Lesen aus Okta-Entitäten](okta-reading-from-entities.md)
+ [Referenz zur Okta-Verbindungsoption](okta-connection-options.md)
+ [Schritte zum Erstellen eines neuen Okta-Kontos und einer Entwickler-App](okta-create-account.md)
+ [Einschränkungen](okta-connector-limitations.md)

# AWS Glue Unterstützung für Okta
<a name="okta-support"></a>

AWS Glue unterstützt Okta wie folgt:

**Als Quelle unterstützt?**  
Ja. Sie können AWS Glue ETL-Jobs verwenden, um Daten von Okta abzufragen.

**Als Ziel unterstützt?**  
Nein.

**Unterstützte Okta-API-Versionen**  
 v1. 

# Richtlinien, welche die API-Vorgänge für die Erstellung und Verwendung von Verbindungen enthalten
<a name="okta-configuring-iam-permissions"></a>

 Die folgende Beispielrichtlinie beschreibt die erforderlichen AWS Berechtigungen für das Erstellen und Verwenden von Verbindungen. Wenn Sie eine neue Rolle erstellen, erstellen Sie eine Richtlinie, die Folgendes enthält: 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Sie können auch die folgenden verwalteten IAM-Richtlinien verwenden, um den Zugriff zuzulassen:
+  [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Gewährt Zugriff auf Ressourcen, die verschiedene AWS Glue Prozesse benötigen, um in Ihrem Namen ausgeführt zu werden. Zu diesen Ressourcen gehören AWS Glue Amazon S3, IAM, CloudWatch Logs und Amazon EC2. Wenn Sie die in dieser Richtlinie angegebene Benennungskonvention für Ressourcen einhalten, verfügen AWS Glue Prozesse über die erforderlichen Berechtigungen. Diese Richtlinie wird typischerweise mit Rollen verknüpft, die bei der Definition von Crawlern, Aufträgen und Entwicklungsendpunkten angegeben werden. 
+  [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Gewährt vollen Zugriff auf AWS Glue Ressourcen, wenn eine Identität, an die die Richtlinie angehängt ist, die AWS Managementkonsole verwendet. Wenn Sie die Namenskonvention für Ressourcen befolgen, die in dieser Richtlinie angegeben sind, haben Benutzer alle Konsolenfunktionalitäten. Diese Richtlinie wird in der Regel Benutzern der AWS Glue Konsole zugewiesen. 

# Konfigurieren von Okta
<a name="okta-configuring"></a>

Bevor Sie Daten AWS Glue zu oder von Okta übertragen können, müssen Sie die folgenden Anforderungen erfüllen:

## Mindestanforderungen
<a name="okta-configuring-min-requirements"></a>
+  Sie haben ein Okta-Konto. Weitere Informationen zum Erstellen eines Kontos finden Sie unter [Schritte zum Erstellen eines neuen Okta-Kontos und einer Entwickler-App](okta-create-account.md). 
+  Ihr Okta-Konto ist für den API-Zugriff aktiviert. 
+  Sie haben eine OAuth2 API-Integration in Ihrem Okta-Konto erstellt. Diese Integration stellt die Kundenanmeldedaten bereit, die für den sicheren Zugriff auf Ihre Daten AWS Glue verwendet werden, wenn authentifizierte Anrufe an Ihr Konto getätigt werden. Weitere Informationen finden Sie unter Schritte zum Erstellen einer Client-App und unter OAuth2 2.0-Anmeldeinformationen: Neues Okta-Konto und Schritte zur Erstellung einer Entwickler-App 
+  Sie haben ein Okta-Konto mit einem. OktaApiToken Weitere Informationen finden Sie in der [Okta-Dokumentation](https://developer.okta.com/docs/guides/create-an-api-token/main/#create-the-token). 

 Wenn Sie diese Anforderungen erfüllen, können Sie eine Verbindung AWS Glue zu Ihrem Okta-Konto herstellen. Für typische Verbindungen müssen Sie in Okta nichts weiter tun. 

# Konfigurieren von Okta-Verbindungen
<a name="okta-configuring-connections"></a>

 Okta unterstützt zwei Arten von Authentifizierungsmechanismen: 
+  OAuth Auth: Okta unterstützt den `AUTHORIZATION_CODE` Zuschusstyp. 
  +  Dieser Gewährungstyp wird als „dreibeiniges“ angesehen, OAuth da er darauf beruht, dass Benutzer zur Authentifizierung des Benutzers an den Autorisierungsserver eines Drittanbieters weitergeleitet werden. Er wird verwendet, wenn Verbindungen über die Konsole hergestellt werden. AWS Glue Die AWS Glue Konsole leitet den Benutzer zu Okta weiter, wo er sich anmelden und den angeforderten Berechtigungen für AWS Glue den Zugriff auf seine Okta-Instanz gewähren muss. 
  +  Benutzer können sich dafür entscheiden, ihre eigene verbundene App in Okta zu erstellen und ihre eigene Client-ID und ihr eigenes Client-Geheimnis anzugeben, wenn sie Verbindungen über die Konsole herstellen. AWS Glue In diesem Szenario werden sie weiterhin zu Okta weitergeleitet, um sich anzumelden und den Zugriff auf ihre Ressourcen AWS Glue zu autorisieren. 
  +  Dieser Gewährungstyp führt zu einem Aktualisierungstoken und einem Zugriffstoken. Das Zugriffstoken ist kurzlebig und kann mithilfe des Aktualisierungstokens automatisch ohne Benutzerinteraktion aktualisiert werden. 
  +  Weitere Informationen finden Sie in der [öffentlichen Okta-Dokumentation zum Erstellen einer verbundenen App für den Autorisierungscodefluss](https://developers.google.com/workspace/guides/create-credentials). OAuth 
+  Benutzerdefinierte Autorisierung: 
  +  Die öffentliche Okta-Dokumentation zum Generieren der erforderlichen API-Schlüssel für die benutzerdefinierte Autorisierung finden Sie in der [Okta-Dokumentation](https://developer.okta.com/docs/guides/create-an-api-token/main/#create-the-token). 

So konfigurieren Sie eine Verbindung zu Okta:

1.  Erstellen Sie in AWS Secrets Manager ein Geheimnis mit den folgenden Details. Es ist erforderlich, für jede Verbindung in AWS Glue ein Geheimnis zu erstellen. 

   1.  Für die OAuth Authentifizierung: 
      +  Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` als Schlüssel enthalten. 

   1.  Für benutzerdefinierte Autorisierung: 
      +  Für kundenseitig verwaltete verbundene App – Geheimnis muss das Verbrauchergeheimnis der verbundenen App mit `OktaApiToken` als Schlüssel enthalten. 

1. Erstellen Sie AWS Glue Studio unter **Datenverbindungen** eine Verbindung, indem Sie die folgenden Schritte ausführen: 

   1.  Wählen Sie unter „Verbindungen“ die Option **Verbindung erstellen** aus. 

   1. Wählen Sie bei der Auswahl einer **Datenquelle** Okta aus.

   1. Geben Sie Ihre Okta-Unterdomäne an.

   1. Wählen Sie die Okta-Domänen-URL Ihres Okta-Kontos aus.

   1.  Wählen Sie die IAM-Rolle aus, die die folgenden Aktionen übernehmen AWS Glue kann und über Berechtigungen verfügt: 

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "secretsmanager:DescribeSecret",
              "secretsmanager:GetSecretValue",
              "secretsmanager:PutSecretValue",
              "ec2:CreateNetworkInterface",
              "ec2:DescribeNetworkInterfaces",
              "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

   1.  Wählen Sie den Authentifizierungstyp aus, um eine Verbindung zur Datenquelle herzustellen. 

   1.  Geben Sie als OAuth2 Authentifizierungstyp die **User Managed Client Application ClientId** der Okta-App an. 

   1.  Wählen Sie den aus`secretName`, den Sie für diese Verbindung verwenden möchten AWS Glue , um die Token einzufügen. 

   1.  Wählen Sie die Netzwerkoptionen aus, wenn Sie Ihr Netzwerk verwenden möchten. 

1.  Erteilen Sie der mit Ihrem AWS Glue Job verknüpften IAM-Rolle `secretName` Leserechte. 

1.  Stellen `connectionName` Sie in Ihrer AWS Glue Jobkonfiguration eine **zusätzliche Netzwerkverbindung** bereit. 

# Lesen aus Okta-Entitäten
<a name="okta-reading-from-entities"></a>

 **Voraussetzungen** 
+  Ein Okta-Objekt, aus dem gelesen werden soll. In der folgenden Tabelle mit unterstützten Entitäten können Sie die verfügbaren Entitäten überprüfen. 

 **Unterstützte Entitäten** 


| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „\$1 auswählen“ | Unterstützt Partitionierung | 
| --- | --- | --- | --- | --- | --- | 
| Anwendungen | Ja | Ja | Nein | Ja | Nein | 
| Geräte | Ja | Ja | Nein | Ja | Ja | 
| Gruppen | Ja | Ja | Ja | Ja | Ja | 
| Benutzer | Ja | Ja | Ja | Ja | Ja | 
| Benutzertypen | Nein | Nein | Nein | Ja | Nein | 

 **Beispiel** 

```
okta_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Okta",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "applications",
        "API_VERSION": "v1"
    }
```

 **Okta-Entitäts- und Felddetails** 

 Liste der Entitäten: 
+  Anwendung: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Application/) 
+  Gerät: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Device/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Device/) 
+  Gruppe: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Group/) 
+  Benutzer: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/User/) 
+  Benutzertyp: [https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/UserType/) 

 **Partitionierung von Abfragen** 

 Die zusätzlichen Spark-Optionen `PARTITION_FIELD`,`LOWER_BOUND`, `UPPER_BOUND` und `NUM_PARTITIONS` können angegeben werden, wenn Sie Parallelität in Spark nutzen möchten. Mit diesen Parametern würde die ursprüngliche Abfrage in `NUM_PARTITIONS` Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können. 
+  `PARTITION_FIELD`: der Name des Feldes, das zur Partitionierung der Abfrage verwendet werden soll. 
+  `LOWER_BOUND`: ein inklusiver Untergrenzwert des ausgewählten Partitionsfelds. 

   Als Datum akzeptieren wir das Spark-Datumsformat, das in Spark-SQL-Abfragen verwendet wird. Beispiel für gültige Werte: `"2024-02-06"`. 
+  `UPPER_BOUND`: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds. 
+  `NUM_PARTITIONS`: Anzahl der Partitionen. 

 **Beispiel** 

```
okta_read = glueContext.create_dynamic_frame.from_options(
    connection_type="okta",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "lastUpdated",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "lastMembershipUpdated"
        "LOWER_BOUND": "2022-08-10T10:28:46.000Z"
        "UPPER_BOUND": "2024-08-10T10:28:46.000Z"
        "NUM_PARTITIONS": "10"
    }
```

# Referenz zur Okta-Verbindungsoption
<a name="okta-connection-options"></a>

Im Folgenden sind Verbindungsoptionen für Okta aufgeführt:
+  `ENTITY_NAME` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Der Name Ihres Objekts in Okta. 
+  `API_VERSION` (Zeichenfolge) – (Erforderlich) Zum Lesen/Schreiben verwendet. Version der Okta-REST-API, die Sie verwenden möchten. Beispiel: v1. 
+  `SELECTED_FIELDS`(Liste<Zeichenfolge>) – Standard: leer(SELECT \$1). Zum Lesen verwendet. Spalten, die Sie für das Objekt auswählen möchten. 
+  `FILTER_PREDICATE`(Zeichenfolge) – Standard: leer. Zum Lesen verwendet. Muss das Spark-SQL-Format aufweisen. 
+  `QUERY`(Zeichenfolge) – Standard: leer Zum Lesen verwendet. Vollständige Spark-SQL-Abfrage. 
+  `PARTITION_FIELD`(Zeichenfolge) – Zum Lesen verwendet. Feld, das zur Partitionierung der Abfrage verwendet werden soll. 
+  `LOWER_BOUND`(Zeichenfolge) – Zum Lesen verwendet. Ein inklusiver Untergrenzwert des ausgewählten Partitionsfelds. 
+  `UPPER_BOUND`(Zeichenfolge) – Zum Lesen verwendet. Ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds. 
+  `NUM_PARTITIONS`(Ganzzahl) – Standard: 1. Zum Lesen verwendet. Anzahl der zu lesenden Partitionen. 

# Schritte zum Erstellen eines neuen Okta-Kontos und einer Entwickler-App
<a name="okta-create-account"></a>

 Erstellen Sie ein Entwicklerkonto in Okta, um Zugriff auf die Okta-API zu erhalten. Ein kostenloses Okta-Entwicklerkonto bietet Zugriff auf die meisten wichtigen Entwicklerfunktionen, die für den Zugriff auf die Okta-API erforderlich sind. 

**So erstellen Sie ein Entwicklerkonto in Okta:**

1.  Navigieren Sie zu [https://developer.okta.com/signup/](https://console.cloud.google.com). 

1.  Geben Sie die E-Mail-Adresse, den Vornamen, den Nachnamen und das Land/die Region als Kontoinformationen ein. Wählen Sie **Ich bin kein Roboter** und dann **Anmelden** aus. 

1.  Eine Bestätigungs-E-Mail wird an Ihre registrierte E-Mail-ID gesendet. In Ihrer E-Mail erhalten Sie einen Link zur Aktivierung Ihres Okta-Entwicklerkontos. Wählen Sie **Aktivieren**. 

1.  Sie werden zur Seite zum Zurücksetzen des Passworts weitergeleitet. Geben Sie das neue Passwort zweimal ein und wählen Sie **Passwort zurücksetzen** aus. 

1.  Sie werden zum Dashboard Ihres Okta-Entwicklerkontos weitergeleitet. 

**Um eine Client-App und OAuth 2.0-Anmeldeinformationen zu erstellen**

1.  Wählen Sie im Entwickler-Dashboard die Option zum Erstellen einer App-Integration aus.   
![\[Der Screenshot zeigt die Seite „ OAuth Client-ID erstellen“ und den URIs Abschnitt „Autorisierte Weiterleitung“. Fügen Sie hier die hinzu URIs und wählen Sie bei Bedarf URI HINZUFÜGEN. Klicken Sie auf „ERSTELLEN“, wenn Sie fertig sind.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/create-client-app-step-1.png)

1.  Das Fenster **Neue App-Integration erstellen** wird angezeigt und enthält verschiedene Anmeldemethoden. Wählen Sie **OIDC – OpenID Connect** aus. 

1.  Scrollen Sie nach unten zum Abschnitt „Anwendungstyp“. Wählen Sie **Webanwendung** aus und klicken Sie auf **Weiter**. 

1.  Geben Sie auf dem Bildschirm „Neue Web-App-Integration“ folgende Informationen ein: 
   + Name der App-Integration – Geben Sie den Namen der App an. 
   + Gewährungstyp – Wählen Sie den **Autorisierungscode** und das **Aktualisierungstoken** in der Liste aus.
   + Anmeldeweiterleitung URIs — Wählen Sie **URI hinzufügen** und hinzufügen`https://{regioncode}.console.aws.amazon.com/appflow/oauth`. Wenn Sie beispielsweise `us-west-2 (Oregon)` verwenden, können Sie `https://us-east-1.console.aws.amazon.com/appflow/oauth` hinzufügen.
   + Kontrollierter Zugriff – Ordnen Sie die App nach Bedarf Ihren Benutzergruppen zu und wählen Sie **Speichern** aus.

1. Ihre Client-ID und Ihr Client-Geheimnis werden generiert.

# Einschränkungen
<a name="okta-connector-limitations"></a>

Die folgenden Einschränkungen gelten für den Okta-Connector:
+  Für die Entität „Anwendungen“ kann nur ein Filter angewendet werden. Wenn mehr als 1 Filter angewendet wird, werden „400 Bad Request“-Fehler mit der Fehlerzusammenfassung „Ungültige Suchkriterien“ zurückgegeben. 
+  Die Option „Sortieren nach“ kann nur bei Suchanfragen unterstützt werden. Zum Beispiel ` http://dev-15940405.okta.com/api/v1/groups?search=type e.q. "OKTA_GROUP"&sortBy=lastUpdated&sortOrder=asc ` 