

# 配置 Microsoft Dynamics 365 CRM 连接


 **AUTHORIZATION\$1CODE 授权类型** 
+  此授权类型被视为“三足型”OAuth，因为它依赖于将用户重定向到第三方授权服务器来对用户进行身份验证。它用于通过 Amazon Glue 控制台创建连接。Amazon Glue 控制台会将用户重定向到 Microsoft Dynamics 365 CRM，用户必须在此登录并向 Amazon Glue 授予所请求的权限，以访问其 Microsoft Dynamics 365 CRM 实例。
+  用户可以选择在 Microsoft Dynamics 365 CRM 中创建自己的关联应用程序，并在通过 Amazon Glue 控制台创建连接时，提供自己的客户端 ID 和客户端密钥。在这种情况下，他们仍会重定向到 Microsoft Dynamics 365 CRM，以便登录并授权 Amazon Glue 访问其资源。
+  此授权类型会生成刷新令牌和访问令牌。访问令牌的有效期很短，可以通过刷新令牌在不需要用户干预的情况下自动刷新。
+  有关为授权码 OAuth 流创建关联应用程序的 Microsoft Dynamics 365 CRM 公共文档，请参阅 \$1 Microsoft Learn。[Microsoft 应用程序注册](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/authenticate-oauth#app-registration)。

Microsoft Dynamics 365 CRM 支持 OAuth2.0 身份验证。

配置 Microsoft Dynamics 365 CRM 连接：

1.  在 Amazon Secrets Manager 中，创建一个包含以下详细信息的密钥。需要为 Amazon Glue 中的每个连接创建一个密钥。
   +  对于 AuthorizationCode 授权类型：

      对于客户托管的关联应用程序：密钥应包含关联应用程序的客户端密钥，并将 `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` 作为键。

1. 在 Amazon Glue Studio 中，按照以下步骤在**数据连接**下创建连接：

   1. 选择**数据来源**时，请选择 Microsoft Dynamics 365 CRM。

   1. 选择想要连接到的 Microsoft Dynamics 365 CRM 实例的 **INSTANCE\$1URL** 。

   1.  选择 Amazon 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.  选择**令牌 URL** 和**授权码 URL** 以访问您的 Microsoft Dynamics 365 CRM 工作区。

   1.  提供 Microsoft Dynamics 365 CRM 应用程序的**用户托管客户端应用程序 ClientId**。

   1.  在 Amazon Glue 中选择您要用于此连接的 `secretName`，然后放置令牌。

   1.  如果要使用网络，请选择网络选项。

1.  向与您的 Amazon Glue 作业关联的 IAM 角色授予读取 `secretName` 的权限。选择**下一步**。

1.  在 Amazon Glue 作业配置中，提供 `connectionName` 作为**附加网络连接**。