Microsoft Dynamics 365 CRM 연결 구성 - AWS Glue

Microsoft Dynamics 365 CRM 연결 구성

AUTHORIZATION_CODE 권한 부여 유형

  • 이 권한 부여 유형은 사용자를 인증하기 위해 사용자를 서드파티 권한 부여 서버로 리디렉션하는 방식에 의존하므로 '3각' OAuth로 간주됩니다. AWS Glue 콘솔을 통해 연결을 생성할 때 사용됩니다. AWS Glue 콘솔은 사용자를 Microsoft Dynamics 365 CRM으로 리디렉션합니다. 사용자가 로그인하고 Microsoft Dynamics 365 CRM 인스턴스에 액세스하도록 요청된 권한을 AWS Glue에 허용해야 합니다.

  • 사용자는 AWS Glue 콘솔을 통해 연결을 생성할 때에도 Microsoft Dynamics 365 CRM에서 자체 연결된 앱을 생성하고 자체 클라이언트 ID와 클라이언트 보안 암호를 제공하기로 선택할 수 있습니다. 이 시나리오에서는 여전히 Microsoft Dynamics 365 CRM으로 리디렉션되어 로그인하고 리소스에 액세스할 수 있는 권한을 AWS Glue에 부여합니다.

  • 이 권한 부여 유형은 새로 고침 토큰과 액세스 토큰을 생성합니다. 액세스 토큰은 수명이 짧으며 새로 고침 토큰을 사용하여 사용자 상호 작용 없이 자동으로 새로 고칠 수 있습니다.

  • 권한 부여 코드 OAuth 흐름을 위한 연결된 앱 생성에 대한 공개 Microsoft Dynamics 365 CRM 설명서는 Microsoft Learn의 Microsoft App Registration을 참조하세요.

Microsoft Dynamics 365 CRM은 OAuth2.0 인증을 지원합니다.

Microsoft Dynamics 365 CRM 연결 구성:

  1. AWS Secrets Manager에서 다음 세부 정보를 사용하여 보안 암호를 생성합니다. AWS Glue에서 각 연결에 대한 보안 암호를 생성해야 합니다.

    • AuthorizationCode 권한 부여 유형의 경우:

      고객 관리형 연결된 앱 - 보안 암호는 키 역할을 하는 USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET과 함께 연결된 앱 클라이언트 보안 암호를 포함해야 합니다.

  2. AWS Glue Studio의 데이터 연결에서 아래 단계에 따라 연결을 생성합니다.

    1. 데이터 소스를 선택할 때 Microsoft Dynamics 365을 선택합니다.

    2. 연결할 Microsoft Dynamics 365 CRM 인스턴스의 INSTANCE_URL을 선택합니다.

    3. 다음 작업에 대한 권한이 있고 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": "*" } ] }
    4. 토큰 URL권한 부여 코드 URL을 선택하여 Microsoft Dynamics 365 CRM 워크스페이스에 액세스합니다.

    5. Microsoft Dynamics 365 CRM 앱의 사용자 관리형 클라이언트 애플리케이션 ClientId를 입력합니다.

    6. 토큰을 넣기 위해 AWS Glue에서 이 연결에 사용할 secretName을 선택합니다.

    7. 네트워크를 사용하려는 경우 네트워크 옵션을 선택합니다.

  3. AWS Glue 작업 권한과 연결된 IAM 역할에 secretName을 읽을 수 있는 권한을 부여합니다. 다음을 선택합니다.

  4. AWS Glue 작업 구성에서 추가 네트워크 연결connectionName을 제공합니다.