Salesforce 구성

이 페이지에서는 Salesforce 관리자가 Salesforce 커넥터가 호출하는 MCP 서버를 사용 설정하고 Salesforce에서 OAuth 2.0 인증을 구성하는 방법을 설명합니다. 두 가지 모두 Salesforce를 Gemini Enterprise에 연결하기 위한 기본 요건입니다.

인증 방법 선택

OAuth 2.0 흐름은 공유 Salesforce 로그인 호스트가 아닌 조직의 내 도메인 엔드포인트에 대해 실행되므로 사용자가 커넥터를 승인하려면 먼저 Salesforce 조직에서 OAuth 클라이언트 앱을 신뢰해야 합니다. 다음 두 가지 방법 중 하나로 인증을 구성할 수 있습니다.

  • Google관리형 OAuth (OAuth 2.0 (Google 관리형), 기본값):Google 는 Salesforce AppExchange에 Gemini Enterprise - Salesforce 커넥터 관리형 패키지를 게시합니다. Salesforce 조직에 패키지를 설치할 때 자체 Salesforce 앱을 만들거나 Gemini Enterprise에 클라이언트 ID 또는 클라이언트 보안 비밀번호를 입력하지 않습니다. Google관리형 패키지 설치를 참고하세요.
  • 자체 앱 사용 (OAuth 2.0 (자체 앱 사용)): 조직에서 AppExchange 패키지를 설치할 수 없거나 자체 OAuth 애플리케이션 및 보안 정책을 직접 관리하려는 경우 Salesforce에서 자체 외부 클라이언트 앱을 만들고 Gemini Enterprise에 클라이언트 ID (고객 키)와 클라이언트 보안 비밀번호 (고객 보안 비밀번호)를 입력할 수 있습니다. 자체 OAuth 앱 만들기를 참고하세요.

시작하기 전에

Salesforce를 구성하기 전에 다음 사항을 확인하세요.

  • Salesforce에 관리자로 로그인되어 있습니다.

    • Google관리 패키지를 설치하려면 사용자 프로필에 AppExchange 패키지 다운로드 권한(시스템 관리자 프로필에 포함됨)이 포함되어야 합니다.
    • 자체 앱을 가져오려면 사용자 프로필에 Salesforce 설정에서 외부 클라이언트 앱을 만들고 관리할 수 있는 권한이 있어야 합니다.
  • 연결하려는 조직을 알고 있습니다. 데이터 스토어를 만들 때 인스턴스 URI로 입력할 내 도메인 URL이 있는 동일한 조직에서 설정을 완료합니다.

  • 조직에서 내 도메인을 사용 설정하고 배포했습니다. 커넥터는 내 도메인 호스트(예: https://example.my.salesforce.com)에 대해 승인합니다.

  • 조직에서 지원되는 Salesforce 버전을 사용합니다. 커넥터는 Professional, Enterprise, Unlimited, Developer 버전을 지원합니다.

  • SObject All MCP 서버가 조직에서 활성화되어 있습니다. 서버는 기본적으로 활성화되어 있지 않습니다. 조직에서 MCP 서버 사용 설정을 참조하세요.

조직에서 MCP 서버 사용 설정

커넥터는 Salesforce에서 호스팅하는 SObject All MCP 서버를 호출하여 커넥터 작업 뒤에 있는 만들기, 읽기, 업데이트, 삭제 작업을 노출합니다. 커넥터는 SObject All MCP 서버 엔드포인트에만 연결되며, 작업별 별도의 MCP 서버는 지원되지 않습니다. OAuth 2.0 (Google 관리) 및 OAuth 2.0 (자체 앱 사용) 모두에 활성화가 필요합니다.

서버는 기본적으로 비활성 상태이므로 관리자가 조직에서 활성화해야 합니다.

활성화하려면 다음 단계를 따르세요.

  1. Salesforce에서 설정으로 이동합니다.

  2. 통합 > API 카탈로그 > MCP 서버로 이동합니다.

  3. Salesforce 서버 탭에서 Salesforce 레코드 생성, 읽기, 업데이트, 삭제로 설명된 SObject All을 찾습니다.

  4. 서버 상태를 활성으로 설정합니다.

SObject All MCP 서버를 활성화하면 별도의 MCP 서버 사용자 권한 없이도 조직에서 서버를 사용할 수 있으며, 사용자에게 자체적으로 레코드를 생성, 업데이트 또는 삭제할 수 있는 권한은 부여되지 않습니다. 쓰기 및 삭제 액세스 권한은 다음 두 계층에서 제어됩니다.

  • Gemini Enterprise: 읽기 전용 작업은 기본적으로 사용 설정되며 레코드를 생성, 업데이트 또는 삭제하는 작업은 기본적으로 사용 중지됩니다. 데이터 스토어를 설정하거나 관리할 때 Google Cloud 관리자는 사용 설정할 만들기, 업데이트 또는 삭제 작업을 선택하거나 모두 사용 중지하여 커넥터를 읽기 전용으로 설정합니다. 작업 사용 설정을 참고하세요.
  • Salesforce: 모든 작업은 승인 사용자의 자체 Salesforce 계정에서 실행되며 해당 사용자의 객체 수준 권한, 필드 수준 보안, 공유 규칙을 준수합니다.

Google관리 패키지 설치

OAuth 2.0 (Google 관리)을 사용하려면 Salesforce AppExchange에서 Gemini Enterprise 관리 패키지를 설치합니다.

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

  2. Salesforce AppExchange의 Gemini Enterprise - Salesforce 커넥터 등록정보로 이동합니다.

  3. 지금 받기를 클릭합니다.

  4. 설치할 환경을 선택합니다.

    • 프로덕션 조직의 경우 프로덕션에 설치를 선택합니다.
    • 샌드박스 조직의 경우 샌드박스에 설치를 선택합니다.
  5. 앱에 액세스할 수 있는 사용자를 선택합니다.

    • 관리자 전용 설치: 시스템 관리자 프로필이 있는 사용자만 앱을 사용할 수 있습니다.
    • 특정 프로필에 설치: 선택한 프로필이 있는 사용자만 앱을 사용할 수 있습니다.
    • 모든 사용자를 위해 설치 (권장): 조직의 모든 사용자가 추가 프로필 구성 없이 앱을 사용할 수 있습니다.

    관리형 패키지에는 이미 필수 OAuth 범위 (mcp_api 및 refresh_token)가 포함되어 있습니다. Gemini Enterprise에서 커넥터를 승인하기 위해 로그인하는 모든 사용자는 선택한 옵션에 따라 앱에 액세스할 수 있어야 합니다. 프로필에 액세스 권한이 없는 사용자는 로그인 단계를 완료할 수 없습니다.

  6. Salesforce에서 메시지가 표시되면 서드 파티 액세스를 승인한 후 설치 또는 업그레이드를 클릭합니다.

  7. 설치가 완료될 때까지 기다립니다. 대규모 조직의 경우 Salesforce에서 비동기식으로 설치를 완료하고 완료되면 이메일을 보낼 수 있습니다.

설치 후 앱이 Salesforce 설정에 Gemini Enterprise로 표시됩니다. 그런 다음 앱의 로그인 IP 정책을 설정합니다.

자체 OAuth 앱 만들기

OAuth 2.0 (자체 앱 사용)을 사용하려면 Salesforce에서 외부 클라이언트 앱을 만들고 구성하여 고객 키 (클라이언트 ID) 및 고객 보안 비밀번호 (클라이언트 보안 비밀번호)를 가져옵니다.

  1. 관리자로 Salesforce 조직에 로그인하고 설정으로 이동합니다.

  2. 빠른 찾기 필드에 External Client App Manager를 입력하고 외부 클라이언트 앱 관리자를 선택합니다.

  3. 새 외부 클라이언트 앱을 클릭하고 기본 정보에 필수 정보 (외부 클라이언트 앱 이름, API 이름, 연락처 이메일)를 입력합니다.

  4. API (OAuth 설정 사용 설정) 섹션에서 OAuth 사용 설정을 선택하고 다음 설정을 구성합니다.

    1. 앱 설정의 콜백 URL에 다음을 입력합니다.

      https://vertexaisearch.cloud.google.com/oauth-redirect
      
    2. OAuth 범위에 다음 범위를 모두 추가합니다.

      • Salesforce API Platform MCP 서버에 액세스 (mcp_api)
      • 언제든지 요청 수행 (refresh_token, offline_access)

      이렇게 하면 커넥터에 필요한 mcp_api 및 refresh_token 범위가 부여됩니다.

    3. 보안에서 다음 옵션이 선택되어 있는지 확인합니다.

      • 지원되는 승인 흐름에 필요한 Proof Key for Code Exchange (PKCE) 확장 프로그램
      • 지정된 사용자를 위한 JSON 웹 토큰 (JWT) 기반 액세스 토큰 발급
  5. 만들기를 클릭합니다.

  6. 앱의 OAuth 정책을 구성합니다.

    1. 설정에서 앱 > 외부 클라이언트 앱 관리자로 이동하고 외부 클라이언트 앱을 클릭하고 정책 탭을 선택한 후 수정을 클릭합니다.

    2. 허용된 사용자에서 모든 사용자가 자체 승인할 수 있음(권장)을 선택하거나 관리자가 승인한 사용자는 사전 승인 처리됨을 선택하고 커넥터를 승인할 모든 사용자 (데이터 스토어 생성 중에 인증을 확인하는 관리자 포함)의 프로필 또는 권한 세트를 할당합니다.

    3. IP 완화에서 IP 제한사항 완화를 선택합니다. 이 설정이 필요한 이유에 대한 자세한 내용은 앱의 로그인 IP 정책 설정을 참조하세요.

    4. 저장을 클릭합니다.

  7. 앱의 OAuth 사용자 인증 정보를 복사합니다.

    1. 설정 탭을 선택하고 OAuth 설정을 펼친 후 고객 키 및 보안 비밀을 클릭합니다.
    2. 고객 키 및 고객 보안 비밀을 복사하여 저장합니다. Gemini Enterprise에서 데이터 스토어를 만들 때 이러한 값을 클라이언트 ID 및 클라이언트 보안 비밀번호로 입력합니다.

앱의 로그인 IP 정책 설정

Salesforce 커넥터에는 데이터 스토어별 고정 IP 주소가 지원되지 않습니다. 대신 Salesforce의 외부 클라이언트 앱이 로그인 IP 유효성 검사를 제어합니다.

  • 인증 호출 (OAuth 토큰 교환 및 새로고침): 사용자가 커넥터를 승인하면 Gemini Enterprise는 Google서버에서 해당 사용자의 Salesforce 토큰을 교환하고 새로고침합니다. 이러한 요청은 조직의 IP 주소에서 전송되지 않습니다. 앱에서 IP 제한을 적용하고 사용자 프로필에 로그인 IP 범위가 있는 경우 요청이 거부되고 인증 확인 또는 승인 단계가 실패합니다. 앱의 IP 완화 정책을 IP 제한사항 완화로 설정합니다.Google에서 관리하는 Gemini Enterprise 앱의 경우 Google 에서 이미 토큰 요청을 Google의 자체 이그레스 IP 범위로 제한하고 있으며, 이 검사는 정책 설정과 관계없이 적용됩니다.
  • 데이터 호출: 로그인 및 토큰 요청만 IP 제한에 따라 확인됩니다. 사용자가 커넥터를 승인하면 Salesforce는 사용자의 유효한 액세스 토큰을 기반으로 커넥터의 데이터 요청을 처리합니다.

Google관리 앱 (또는 자체 외부 클라이언트 앱)의 정책을 설정하려면 다음 안내를 따르세요.

  1. Salesforce에서 설정으로 이동합니다.

  2. 앱 > 외부 클라이언트 앱 관리자로 이동하여 Gemini Enterprise (또는 커스텀 외부 클라이언트 앱의 이름)를 클릭합니다.

  3. 정책 탭을 선택하고 수정을 클릭합니다.

  4. OAuth 정책 섹션에서 IP 완화를 IP 제한사항 완화로 설정합니다.

  5. 저장을 클릭합니다.

샌드박스 조직 연결

샌드박스는 자체 내 도메인 호스트와 자체 설치된 패키지 및 앱이 있는 별도의 Salesforce 조직입니다. 프로덕션을 구성해도 샌드박스는 구성되지 않습니다.

샌드박스 조직을 연결하려면 샌드박스에서 SObject All MCP 서버를 활성화한 후 AppExchange 패키지를 샌드박스에 설치하거나(샌드박스에 설치 선택) 샌드박스에서 외부 클라이언트 앱을 만듭니다. 샌드박스 연결에 필요한 데이터 스토어 설정은 Salesforce 데이터 스토어 설정을 참조하세요.

Salesforce를 구성한 후의 결과

Salesforce에서 앱을 구성해도 자동으로 연결되는 것은 없습니다. 개별 사용자가 승인할 수 있도록 조직에서 OAuth 앱을 사용할 수 있게 합니다.

Google Cloud 관리자가 Gemini Enterprise에서 Salesforce 데이터 스토어를 만들고 앱에 연결한 후(Salesforce 데이터 스토어 설정 참조) 각 최종 사용자 (웹 앱을 사용하는 관리자 포함)는 사용자별 최종 사용자 인증을 사용하여 Gemini Enterprise가 자신을 대신해 Salesforce에 액세스하도록 승인합니다. 사용자가 Gemini Enterprise 웹 앱에서 Salesforce 데이터를 처음 쿼리하면 조직의 Salesforce 로그인 페이지로 리디렉션되며, 여기에서 앱에 mcp_api 및 refresh_token 범위를 부여합니다. 자세한 내용은 커넥터 승인을 참조하세요.

각 사용자가 개별적으로 승인하므로 Gemini Enterprise는 해당 사용자의 자체 권한으로 Salesforce 레코드에 액세스합니다. 사용자는 Salesforce에서 이미 보고 수정할 수 있는 레코드만 보고 수정할 수 있습니다.

문제 해결

증상 가능한 원인
인증 확인 또는 승인 단계가 실패하거나 Salesforce 로그인 페이지에서 알 수 없거나 잘못되었거나 승인되지 않은 클라이언트 애플리케이션을 보고합니다. OAuth 2.0 (Google 관리)을 사용하는 경우 관리 패키지가 인스턴스 URI가 가리키는 정확한 조직 (샌드박스 포함)에 설치되어 있는지 확인합니다. OAuth 2.0 (자체 앱 사용)을 사용하는 경우 클라이언트 ID 및 클라이언트 보안 비밀번호가 해당 조직의 앱과 일치하고, 콜백 URL이 https://vertexaisearch.cloud.google.com/oauth-redirect로 설정되고, mcp_api 및 refresh_token 범위가 선택되고, 지원되는 승인 흐름에 Proof Key for Code Exchange (PKCE) 확장 프로그램 필요가 사용 설정되어 있는지 확인합니다.
일부 사용자는 승인할 수 있고 다른 사용자는 승인할 수 없습니다. 앱의 허용된 사용자 정책이 해당 사용자를 포함하지 않는 특정 프로필 또는 권한 집합에 대한 액세스를 제한하거나 IP 완화가 IP 제한 완화로 설정되지 않았습니다. 설정에서 앱의 정책 탭을 열고 수정을 클릭한 후 영향을 받는 프로필 또는 권한 세트를 추가하거나 (또는 허용된 사용자를 모든 사용자가 자체 승인할 수 있음으로 설정) IP 완화가 IP 제한 완화로 설정되어 있는지 확인합니다.
승인은 성공하지만 Gemini Enterprise 웹 앱에서 쿼리 또는 작업이 실패합니다. SObject All MCP 서버가 조직에서 활성화되어 있지 않거나 외부 클라이언트 앱에서 지정된 사용자에 대해 JSON 웹 토큰 (JWT) 기반 액세스 토큰 발급이 선택되어 있지 않습니다. Salesforce 설정에서 서버를 활성화하고(조직에서 MCP 서버 사용 설정 참고) 외부 클라이언트 앱이 JWT 기반 액세스 토큰을 발급하는지 확인합니다.
승인이 성공하지만 Salesforce 데이터가 반환되지 않습니다. 승인하는 사용자에게 Salesforce의 레코드 수준 액세스 권한이 없을 수 있습니다. 커넥터는 사용자의 Salesforce 권한을 따릅니다.

다음 단계