OAuth 2.0 클라이언트 사용자 인증 정보를 사용하여 Google Workspace API에 인증

이 문서에서는 OAuth 2.0 클라이언트 사용자 인증 정보를 사용하여 Google Workspace API에 액세스하도록 인증을 설정하는 방법을 보여줍니다. OAuth 2.0 클라이언트 사용자 인증 정보를 사용하면 최종 사용자 컨텍스트에서 Google Sheets에 액세스하는 데 필요한 토큰과 같은 토큰을 검색할 수 있습니다. SAP 시스템이 호스팅되는 위치에 관계없이 시스템에서 OAuth 2.0을 지원하는 한 Google Workspace API 인증에 OAuth 2.0 클라이언트 사용자 인증 정보를 사용할 수 있습니다.

OAuth 2.0 클라이언트 사용자 인증 정보를 사용하여 Google Workspace API에 인증을 수행하기 위해서는 Google Cloud 프로젝트 및 SAP 환경에서 다음 구성을 완료해야 합니다.

Google Cloud 콘솔 구성

SAP 환경 구성

ABAP SDK for Google Cloud는 OAuth 2.0 클라이언트 사용자 인증 정보 기반 인증에 필요한 다음 핵심 구성요소와 함께 제공됩니다.

  • OAuth 2.0 클라이언트 프로필 구성에 지정하는 OAuth 2.0 서비스 제공업체 유형 /GOOG/ABAP_SDK
  • 클라이언트 키 구성에 지정하는 인증 클래스 /GOOG/CL_OAUTH_GOOGLE
  • 엔드포인트 및 필수 매개변수 설정과 같은 Google 특정 OAuth 매개변수를 자동 입력하는 SAP 비즈니스 부가기능(BAdI) 구현

그러나 SAP 환경에서 다음 구성도 완료해야 합니다.

OAuth 동의 화면은 데이터 액세스를 요청하는 사용자와 사용자가 앱 액세스를 허용하는 데이터의 종류를 알려주는 프롬프트입니다.

  1. Google Cloud 콘솔에서 메뉴 > API 및 서비스 > OAuth 동의 화면으로 이동합니다.

    OAuth 동의 화면으로 이동

  2. 앱의 외부 사용자 유형을 선택하고 만들기를 클릭합니다.

  3. 앱 등록 양식을 작성하려면 다음 세부정보를 지정합니다.

    • 앱 이름: 동의가 필요한 애플리케이션의 이름입니다.
    • 사용자 지원 이메일: 사용자가 동의에 대해 문의할 수 있는 지원 이메일입니다.
    • 승인된 도메인: OAuth 동의 중에 사용할 도메인입니다.
    • 개발자 연락처 정보: Google에서 프로젝트 변경사항을 알릴 수 있는 이메일 주소입니다.
  4. 저장 후 계속을 클릭합니다.

OAuth 2.0 클라이언트 ID 사용자 인증 정보 만들기

최종 사용자로 인증하고 앱에서 사용자 데이터에 액세스하려면 OAuth 2.0 클라이언트 ID를 하나 이상 만들어야 합니다. 클라이언트 ID는 Google OAuth 서버에서 단일 앱을 식별하는 데 사용됩니다.

  1. Google Cloud 콘솔에서 메뉴 > API 및 서비스 > 사용자 인증 정보로 이동합니다.

    사용자 인증 정보로 이동

  2. 사용자 인증 정보 만들기 > OAuth 클라이언트 ID를 클릭합니다.

  3. 애플리케이션 유형 입력란에서 웹 애플리케이션을 선택합니다.

  4. 이름 필드에 사용자 인증 정보의 이름을 입력합니다. 이 이름은 Google Cloud 콘솔에만 표시됩니다.

  5. 승인된 리디렉션 URI에서 URI 추가를 클릭합니다. 그런 다음 OAuth 2.0 서버가 응답을 보낼 수 있는 SAP 리디렉션 URI를 입력합니다.

    SICF 트랜잭션의 OAuth 2.0 설정에서 SAP 리디렉션 URI를 가져올 수 있습니다.

  6. 만들기를 클릭합니다.

  7. 클라이언트 ID클라이언트 보안 비밀번호를 기록해 둡니다.

OAuth 2.0 클라이언트 프로필 만들기

ABAP 개발자로서 비즈니스 요구사항에 필요한 OAuth 2.0 범위를 사용하여 OAuth 클라이언트 프로필을 만듭니다. Google API의 OAuth 2.0 범위에 대한 자세한 내용은 Google API용 OAuth 2.0 범위를 참조하세요.

SDK에는 /GOOG/OAUTH_PROFILE_SAMPLE라는 샘플 OAuth 클라이언트 프로필이 포함되어 있습니다. 이 프로필은 Drive 및 Sheets와 같이 널리 사용되는 Google Workspace API에 구성된 OAuth 2.0 범위를 제공합니다.

  1. SAP GUI에서 트랜잭션 코드 SE80을 입력합니다.
  2. 드롭다운 목록에서 개발 객체를 선택합니다.
  3. 커스텀 네임스페이스에 개발 객체를 만들려면 객체 이름의 컨텍스트 메뉴에서 만들기 > 기타 > OAuth 2.0 클라이언트 프로필을 선택합니다.
  4. 다음 세부정보를 입력합니다.

    • 클라이언트 프로필 필드에 클라이언트 프로필 이름을 입력합니다.
    • 유형 필드에서 /GOOG/ABAP_SDK를 선택합니다. ABAP SDK for Google Cloud와 함께 제공되는 기본 제공업체 유형입니다.
  5. 클라이언트 프로필에 필요한 범위를 추가합니다. OAuth 2.0 범위에 대한 자세한 내용은 Google API의 OAuth 2.0 범위를 참조하세요.

  6. 클라이언트 프로필을 개발 패키지에 저장합니다. 전송 요청에 상위 환경으로 전송될 수 있는 클라이언트 프로필을 포함합니다.

OAuth 2.0 클라이언트 구성

SAP 관리자로서 OAuth 클라이언트 프로필을 Google Cloud 클라이언트 사용자 인증 정보와 연결합니다.

이는 SAP 환경의 모든 SAP 시스템(개발, 테스트, 프로덕션)에서 수행해야 하는 일회성 활동입니다.

  1. SAP GUI에서 트랜잭션 코드 OA2C_CONFIG를 입력합니다. SAP 로그인 페이지가 기본 브라우저에서 열립니다.
  2. SAP 사용자 인증 정보를 사용해서 로그인합니다.
  3. OAuth 2.0 클라이언트를 만들려면 만들기를 클릭합니다.
  4. 새 OAuth 2.0 클라이언트 만들기 대화상자에서 다음을 수행합니다.
    1. 이전에 SAP 시스템에서 OAuth 2.0 클라이언트 프로필 만들기에서 만든 OAuth 2.0 클라이언트 프로필을 선택합니다.
    2. 구성 이름을 입력합니다.
    3. 이전에 OAuth 2.0 클라이언트 ID 사용자 인증 정보 만들기에서 만든 Google Cloud 사용자 인증 정보로부터 OAuth 2.0 클라이언트 ID를 입력합니다.
    4. 확인을 클릭합니다.
  5. 관리 탭에서 일반 설정 섹션에 앞서 OAuth 2.0 클라이언트 ID 사용자 인증 정보 만들기에서 만든 Google Cloud 사용자 인증 정보의 클라이언트 보안 비밀번호를 입력합니다.
  6. 프록시 서버를 사용하여 SAP 시스템에서 아웃바운드 HTTP/HTTPS 트래픽을 라우팅하는 경우 액세스 설정 섹션에서 다음 프록시 호스트 세부정보를 유지보수해야 합니다.

    • 프록시 호스트
    • 프록시 포트
    • 프록시 사용자
    • 프록시 비밀번호
  7. 저장을 클릭합니다.

클라이언트 키 구성

  1. SAP GUI에서 트랜잭션 코드 /GOOG/SDK_IMG를 실행합니다.

    또는 트랜잭션 코드 SPRO를 실행한 후 SAP 참조 IMG를 클릭합니다.

  2. ABAP SDK for Google Cloud > 기본 설정 > 클라이언트 키 구성을 클릭합니다.
  3. 새 항목을 클릭합니다.
  4. 다음 필드에 값을 입력합니다.

    필드 설명
    Google Cloud 키 이름 클라이언트 키 구성의 이름을 지정합니다.
    Google Cloud 서비스 계정 이름 이 입력란은 비워둡니다.
    Google Cloud 범위 이 입력란은 비워둡니다.
    Google Cloud 프로젝트 식별자 대상 API가 포함된 Google Cloud 프로젝트의 ID를 지정합니다.
    명령어 이름 이 입력란은 비워둡니다.
    승인 클래스 인증 클래스 /GOOG/CL_OAUTH_GOOGLE을 지정합니다.
    토큰 캐싱 이 입력란은 비워둡니다.
    토큰 새로고침 시간(초) 이 입력란은 비워둡니다.
    승인 매개변수 1 SAP 시스템에서 OAuth 2.0 클라이언트 프로필 만들기에서 이전에 만든 OAuth 클라이언트 프로필의 이름을 지정합니다.
    승인 매개변수 2

    OAuth 2.0 클라이언트에서 클라이언트 ID에 대해 정의한 구성 이름을 지정합니다.

    단일 OAuth 클라이언트 프로필을 둘 이상의 클라이언트 ID와 연결한 경우 이 필드가 필수입니다.

    자세한 내용은 여러 Google Cloud 프로젝트 시나리오를 참조하세요.

  5. 새 항목을 저장합니다.

OAuth 2.0 액세스 토큰 요청

최종 사용자로서 API 리소스에 대한 액세스를 허용하도록 OAuth 2.0 액세스 토큰을 요청해야 합니다.

이는 각 사용자가 SAP 환경의 모든 SAP 시스템(개발, 테스트, 프로덕션)에서 수행해야 하는 일회성 활동입니다. OAuth 범위가 수정된 경우 사용자가 이 활동을 반복해야 합니다.

  1. SAP GUI에서 트랜잭션 코드 OA2C_GRANT를 입력합니다. SAP 로그인 페이지가 기본 브라우저에서 열립니다.
  2. SAP 사용자 인증 정보를 사용해서 로그인합니다.
  3. API에 액세스하기 위해 사용할 클라이언트 ID를 선택합니다.
  4. OAuth 2.0 토큰 요청을 클릭합니다.
  5. Google 계정으로 로그인 동의 화면에서 Google 계정 사용자 인증 정보를 입력하고 허용을 클릭합니다.

    액세스 상태 열의 녹색 표시기는 API 리소스 액세스가 OAuth 2.0 클라이언트 프로필에 따라 허용됨을 나타냅니다.

여러 Google Cloud 프로젝트 시나리오

둘 이상의 Google Cloud 프로젝트에서 Google Cloud API를 사용 설정한 경우 다음 안내에 따라 OAuth 2.0 클라이언트 사용자 인증 정보를 사용하여 인증을 설정합니다.

인증 구성 검증

인증 구성을 검증하려면 다음 단계를 수행합니다.

  1. SAP GUI에서 트랜잭션 코드 /GOOG/SDK_IMG를 실행합니다.

    또는 트랜잭션 코드 SPRO를 실행한 후 SAP 참조 IMG를 클릭합니다.

  2. ABAP SDK for Google Cloud > 유틸리티 > 인증 구성 검증을 클릭합니다.

  3. 클라이언트 키 이름을 입력합니다.

  4. 실행을 클릭하여 전체 흐름이 성공적으로 구성되었는지 확인합니다.

    결과 열에서 녹색 체크표시는 모든 구성 단계가 성공적으로 완료되었음을 나타냅니다.

지원 받기

ABAP SDK for Google Cloud 문제를 해결하는 데 도움이 필요한 경우 다음을 수행하세요.