Openflow Connector for Salesforce Bulk API: Salesforce 설정

참고

이 커넥터에는 `Snowflake Connector 약관<https://www.snowflake.com/legal/snowflake-connector-terms/>`_이 적용됩니다.

이 항목에서는 Openflow Connector for Salesforce Bulk API 용 Salesforce를 설정하는 단계를 설명합니다.

커넥터는 OAuth 2.0 JWT 전달자 흐름을 사용하여 Salesforce에 인증합니다. 이를 수행하려면 인증서 키 페어를 생성하고, Salesforce에서 외부 클라이언트 앱을 구성하고, 사용자가 앱을 사용하도록 승인해야 합니다.

중요

Salesforce는 외부 클라이언트 앱 사용을 위해 Connected App을 사용하지 않습니다. 기존 Connected App을 사용하는 경우에는 대신 새 외부 클라이언트 앱을 생성하는 것이 좋습니다.

인증서 생성

Salesforce에서 외부 클라이언트 앱을 구성하려면 개인 키와 공용 인증서가 필요합니다. 개인 키는 커넥터가 JWT 토큰에 서명하는 데 사용되며, 공개 인증서는 Salesforce가 서명을 확인할 수 있도록 Salesforce의 외부 클라이언트 앱에 업로드됩니다.

  1. 개인 키를 생성합니다. 개인 키를 보호하기 위해 비밀번호를 입력하라는 메시지가 표시됩니다.

    openssl genpkey -algorithm RSA -out private.key -aes256
    

    비밀번호를 기록합니다. 비밀번호는 Snowflake에서 커넥터 매개 변수를 구성할 때 필요합니다.

  2. 개인 키에서 자체 서명 인증서를 생성합니다.

    openssl req -new -x509 -key private.key -out public.crt -days 365
    

    인증서 서명 요청(CSR)을 생성하여 회사의 CA를 통해 인증서 서명을 받을 수도 있습니다.

참고

조직의 보안 정책에 따라 키 페어 인증에 사용되는 공용 키 파일과 개인 키 파일을 보호하고 교체할 책임은 사용자에게 있습니다.

Salesforce에서 외부 클라이언트 앱 생성

JWT 전달자 흐름을 사용하여 Salesforce에서 외부 클라이언트 앱을 생성합니다. 커넥터에는 인증을 위해 이 특정 OAuth 흐름이 필요합니다. 다른 OAuth 흐름(예: 인증 코드 흐름)을 사용하면 invalid_grant 오류가 발생합니다.

  1. Salesforce에 관리자로 로그인합니다.

  2. Setup » Apps » :extui:`App Manager`로 이동한 후 :extui:`New External Client App`을 선택합니다.

  3. 필수 필드를 작성합니다.

    • External Client App Name: 예: Openflow connector for Salesforce Bulk API.

    • Contact Email: 예: salesforceadmin@mycompany.com.

  4. API (Enable OAuth Settings) 섹션에서 Enable OAuth 확인란을 선택합니다.

  5. 유효한 Callback URL`(예: ``https://www.google.com/`)을 입력합니다.

    참고

    콜백 URL은 Salesforce에는 필요하지만 JWT 전달자 흐름에서는 사용되지 않습니다. 유효한 모든 URL을 제공할 수 있습니다.

  6. 애플리케이션에 사용할 원하는 :extui:`OAuth Scopes`를 입력합니다. 커넥터가 올바르게 작동하려면 다음 범위가 필요합니다.

    • APIs(api)를 통해 사용자 데이터 관리

    • 언제든지 요청 수행(refresh_token, offline_access)

  7. Flow Enablement`에서 :extui:`Enable JWT Bearer Flow 확인란을 선택하고 이전 단계에서 생성한 public.crt 파일을 업로드합니다.

    중요

    특히 JWT 전달자 흐름 활성화 를 선택해야 합니다. 특별한 이유가 없는 한 다른 흐름을 활성화하지 마세요. 여기에 업로드하는 인증서는 커넥터 매개 변수에서 구성하는 개인 키(private.key)와 일치해야 합니다.

  8. :extui:`Create`를 클릭하여 애플리케이션 생성 프로세스를 완료합니다.

  9. Settings 탭으로 이동하여 OAuth Settings 섹션을 확장한 후 :extui:`Consumer Key and Secret`을 클릭하여 애플리케이션의 자격 증명을 검색합니다.

  10. Snowflake에서 커넥터를 구성할 때 사용할 Consumer KeyConsumer Secret 값을 기록합니다. Consumer Key 는 커넥터 구성에서 OAuth2 Client ID 매개 변수로 사용됩니다.

사용자에 대한 클라이언트 앱 승인

커넥터는 특정 사용자(커넥터 매개 변수에 구성된 OAuth2 주체) 대신 Salesforce APIs와 상호 작용합니다. 적절한 프로필 또는 권한 세트를 할당하여 이 사용자가 외부 클라이언트 앱을 사용하도록 승인해야 합니다.

이 단계가 완료되지 않은 경우 JWT 전달자 흐름이 올바르게 구성되어 있더라도 커넥트가 인증을 시도하면 권한 오류가 발생합니다.

  1. 클라이언트 애플리케이션의 Policies 탭으로 이동합니다.

  2. Edit 를 클릭합니다.

  3. OAuth Policies 섹션을 확장하고 :extui:`Permitted Users`를 :extui:`Admin approved users are pre-authorized`로 변경합니다.

  4. App Policies 섹션을 확장하고 커넥터가 사용할 Salesforce 사용자에게 할당된 프로필 또는 권한 세트를 선택합니다. 예를 들어, 사용자에게 System Administrator 프로필이 있는 경우 해당 프로필을 선택합니다.

    참고

    연결 구성에서 OAuth2 Subject 로 지정된 사용자는 여기에서 선택한 프로필 또는 권한 세트 중 하나 이상에 속해야 합니다. 사용자에게 권한이 부여되지 않은 경우 커넥터를 확인하거나 실행할 때 권한 오류가 발생합니다.

  5. Save 를 클릭합니다.

자격 증명이 일치하는지 확인

Snowflake 설정을 진행하기 전에 다음 자격 증명이 모두 동일한 외부 클라이언트 앱 및 키 페어에 속하는지 확인합니다.

  • **컨슈머 키**(클라이언트 ID)는 방금 생성한 외부 클라이언트 앱에서 검색되었습니다.

  • **개인 키**(private.key)는 **인증서**(public.crt)를 동일한 외부 클라이언트 앱에 업로드했습니다.

  • **OAuth2 주체**(사용자)는 프로필 또는 권한 세트 할당을 통해 이 외부 클라이언트 앱에 대한 권한이 부여됩니다.

여러 외부 클라이언트 앱을 생성하거나 다른 구성으로 실험한 경우 다른 앱 또는 키 페어의 자격 증명이 혼합되는 것은 invalid_grant 오류가 발생하는 일반적인 원입니다. 확실하지 않은 경우 새 인증서와 키 페어를 사용하여 새 외부 클라이언트 앱을 생성합니다.

다음 단계

Snowflake 설정 작업을 수행합니다.

Openflow Connector for Salesforce Bulk API: Snowflake 설정