

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定 Okta 連線
<a name="okta-configuring-connections"></a>

 Okta 支援兩種類型的身分驗證機制：
+  OAuth 驗證：Okta 支援 `AUTHORIZATION_CODE` 授權類型。
  +  此授權類型被視為「三條腿的」OAuth，因為其依賴將使用者重新導向至第三方授權伺服器來驗證使用者。在透過 AWS Glue 主控台建立連線時使用。 AWS Glue 主控台會將使用者重新導向至 Okta，使用者必須在其中登入 AWS Glue ，並允許請求的許可存取其 Okta 執行個體。
  +  使用者可以選擇在 Okta 中建立自己的連線應用程式，並在透過 AWS Glue 主控台建立連線時提供自己的用戶端 ID 和用戶端秘密。在此案例中，它們仍會重新導向至 Okta 以登入並授權 AWS Glue 存取其資源。
  +  此授權類型會產生重新整理字符和存取字符。存取字符是短期存留的，可以使用重新整理字符自動重新整理，而無需使用者互動。
  +  如需詳細資訊，請參閱[有關為授權碼 OAuth 流程建立連線應用程式的公有 Okta 文件](https://developers.google.com/workspace/guides/create-credentials)。
+  自訂驗證：
  +  如需有關產生自訂授權所需 API 金鑰的公有 Okta 文件，請參閱 [Okta 文件](https://developer.okta.com/docs/guides/create-an-api-token/main/#create-the-token)。

若要設定 Okta 連線：

1.  在 AWS Secrets Manager 中，使用下列詳細資訊建立秘密。必須為 AWS Glue中的每個連線建立機密。

   1.  對於 OAuth 驗證：
      +  對於客戶管理的連線應用程式，機密應包含以 `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` 作為金鑰的連線應用程式消費者機密。

   1.  對於自訂身分驗證：
      +  對於客戶管理的連線應用程式，機密應包含以 `OktaApiToken` 作為金鑰的連線應用程式消費者機密。

1. 在 中 AWS Glue Studio，依照下列步驟在 **Data Connections** 下建立連線：

   1.  在**連線**下，選擇建立連線。

   1. 選取**資料來源**時，請選取 Okta。

   1. 提供 Okta 子網域。

   1. 選取 Okta 帳戶的 Okta 網域 URL。

   1.  選取 AWS Glue 可以擔任並具有下列動作許可的 IAM 角色：

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

****  

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

------

   1.  選取身分驗證類型以連線至資料來源。

   1.  對於 OAuth2 身分驗證類型，請提供 Okta 應用程式的**使用者管理的用戶端應用程式 ClientId**。

   1.  選取您要用於此連線`secretName`的 AWS Glue ，以放置字符。

   1.  如果想要使用您的網路，請選取網路選項。

1.  授予與您的 AWS Glue 任務相關聯的 IAM 角色讀取 的許可`secretName`。

1.  在您的 AWS Glue 任務組態中，提供 `connectionName`做為**其他網路連線**。