

# Zendesk 接続の設定
<a name="zendesk-configuring-connections"></a>

Zendesk コネクタは認可コードの付与タイプをサポートしています。
+ このグラントタイプは、ユーザーを認証するためにサードパーティーの認証サーバーにユーザーをリダイレクトすることから、「three-legged」の OAuth と見なされます。AWS Glue コンソール経由で接続を作成するときに使用されます。接続を作成するユーザーは、デフォルトで AWS Glue 所有の接続されたアプリケーション (AWS Glue マネージドクライアントアプリケーション) に依存する場合があります。この場合、Zendesk インスタンス URL 以外の OAuth 関連情報を提供する必要はありません。AWS Glue コンソールでは、ユーザーが Zendesk にリダイレクトされます。ここではユーザーがログインし、Zendesk インスタンスにアクセスするためのリクエストされた権限を AWS Glue に許可する必要があります。
+ Zendesk で独自の接続アプリを作成し、AWS Glue コンソールを介して接続を作成するときに独自のクライアント ID とクライアントシークレットを指定することを選択できます。このシナリオでは、引き続き Zendesk にリダイレクトされてログインし、リソースへアクセスするために AWS Glue を承認します。
+ このグラントタイプは、アクセストークンになります。アクセストークンは期限切れになりません。

認可コード OAuth フロー用の接続アプリケーションの作成に関する Zendesk の公開ドキュメントについては、「[グラントタイプの OAuth トークン](https://developer.zendesk.com/api-reference/ticketing/oauth/grant_type_tokens/)」を参照してください。

Zendesk 接続を設定するには:

1. AWS Secrets Manager で、次の詳細を含むシークレットを作成します。

   1. AuthorizationCode グラントタイプの場合: カスタマーマネージド接続アプリケーションの場合、シークレットには `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` を使用して接続されたアプリケーションのコンシューマーシークレットをキーとして含める必要があります。

   1. 注: AWS Glue で接続ごとにシークレットを作成する必要があります。

1. AWS Glue Glue Studio で、以下の手順に従って **[データ接続]** の下に接続を作成します。

   1. **[接続タイプ]** を選択する際に、[Zendesk] を選択します。

   1. 接続する Zendesk の INSTANCE\$1URL を指定します。

   1. Zendesk 環境を指定します。

   1. 次のアクションを実行でき、AWS Glue がその権限を持つ AWS IAM ロールを選択します。

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

****  

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

------

   1. AWS Glue でこの接続に使用する `secretName` を選択して、トークンを配置します。

   1. ネットワークを使用する場合は、ネットワークオプションを選択します。

1. AWS Glue ジョブに関連付けられている IAM ロールに `secretName` を読み取るアクセス許可を付与します。