이 문서에서는 SAP 시스템이 Compute Engine VM 인스턴스에서 호스팅되는 경우 Google Cloud API에 액세스하도록 인증을 설정하는 방법을 보여줍니다.
인증 설정
인증을 설정하려면 다음 단계를 수행합니다.
Google Cloud 콘솔에서는 인증이 필요한 Google Cloud 프로젝트에 IAM Service Account Credentials API를 사용 설정합니다. IAM Service Account Credentials API와 함께 SDK를 사용하여 액세스하려는 다른 지원되는 API를 사용 설정해야 합니다.
Google Cloud API를 사용 설정하는 방법은 API 사용 설정을 참조하세요.
Google Cloud 콘솔에서 호스트 VM 인스턴스의 IAM 서비스 계정을 만듭니다.
서비스 계정을 만드는 방법에 대한 자세한 내용은 서비스 계정 만들기를 참조하세요.
서비스 계정에
Service Account Token Creator
역할을 부여합니다. 자세한 내용은 단일 역할 부여를 참조하세요.SAP 워크로드가 실행 중인 VM 인스턴스에 서비스 계정을 연결합니다. 또한 VM의 액세스 범위를
cloud-platform
으로 설정합니다.- Google Cloud 콘솔을 사용하여 서비스 계정을 지정하는 경우 VM의 액세스 범위는 기본적으로
cloud-platform
범위로 지정됩니다. Google Cloud CLI 또는 Compute Engine API를 사용하여 서비스 계정을 지정하는 경우 API 액세스 범위를
Allow full access to all Cloud APIs
로 설정해야 합니다.자세한 내용은 VM 만들기 및 서비스 계정 연결을 참조하세요.
범위를 업데이트한 후 VM을 다시 시작합니다. 동일한 SAP 설치에 VM 인스턴스가 여러 개 있는 경우 모든 VM 인스턴스에서 이 단계를 완료해야 합니다.
- Google Cloud 콘솔을 사용하여 서비스 계정을 지정하는 경우 VM의 액세스 범위는 기본적으로
Google Cloud 콘솔에서 전용 IAM 서비스 계정을 만들어 Google Cloud API에 액세스합니다.
자세한 내용은 서비스 계정 만들기를 참조하세요.
API 기능에 액세스하는 데 필요한 IAM 역할을 서비스 계정에 부여합니다. Google Cloud API의 역할 요구사항을 이해하려면 개별 API 참고 리소스를 참조하고 최소 권한 원칙을 따릅니다. API별 사전 정의된 역할에 대한 자세한 내용은 Google Cloud API의 IAM 역할 찾기를 참조하세요.
Google Cloud API가 포함된 프로젝트가 아닌 다른 프로젝트에 서비스 계정을 만든 경우 서비스 계정 설정과 관련된 추가 단계를 수행해야 합니다. 자세한 내용은 교차 프로젝트 환경에서 서비스 계정 설정을 참조하세요.
SAP 시스템에서 다음과 같이 클라이언트 키를 구성합니다.
SAP GUI에서 트랜잭션 코드
/GOOG/SDK_IMG
를 실행합니다.또는 트랜잭션 코드
SPRO
를 실행한 후 SAP 참조 IMG를 클릭합니다.ABAP SDK for Google Cloud > 기본 설정 > 클라이언트 키 구성을 클릭합니다.
새 항목을 클릭합니다.
다음 필드에 값을 입력합니다.
필드 설명 Google Cloud 키 이름 클라이언트 키 구성의 이름을 지정합니다. 예를 들면 TEST_PUBSUB
입니다.Google Cloud 서비스 계정 이름 Google Cloud API 액세스 권한을 부여한 서비스 계정의 이름을 지정합니다. 예를 들면
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
입니다.SDK가 포함된 SAP 시스템의 호스트 VM이 Google Cloud API가 사용 설정된 것과 다른 프로젝트에 있으면 Google Cloud API에 액세스하는 데 사용되는 서비스 계정을 지정합니다. 자세한 내용은 교차 프로젝트 환경에서 서비스 계정 설정을 참조하세요.
Google Cloud 범위 API 액세스 범위( https://www.googleapis.com/auth/cloud-platform
)를 지정합니다.Google Cloud 프로젝트 식별자 대상 API가 포함된 Google Cloud 프로젝트의 ID를 지정합니다. 명령어 이름 이 입력란은 비워둡니다. 승인 클래스 승인 클래스 /GOOG/CL_AUTH_GOOGLE
를 지정합니다.토큰 캐싱 Google Cloud에서 검색된 액세스 토큰이 캐시될지 여부를 결정하는 플래그입니다.
Google Cloud에 대한 연결을 구성하고 테스트한 후 토큰 캐싱을 사용 설정하는 것이 좋습니다. 토큰 캐싱에 대한 자세한 내용은 토큰 캐싱 사용 설정을 참조하세요.
토큰 새로고침 시간(초) 액세스 토큰이 만료되기 전에 새로고침해야 하는 시간(초)입니다. 기본값은 3500
입니다.승인 매개변수 1 이 입력란은 비워둡니다. 승인 매개변수 2 이 입력란은 비워둡니다. 새 항목을 저장합니다.
SAP 시스템에서 ABAP SDK for Google Cloud를 사용할 예정인 API의 새 RFC 대상을 만듭니다.
RFC 대상 만들기에 대한 자세한 내용은 RFC 대상을 참조하세요.
SAP 시스템에서 IAM API와 ABAP SDK for Google Cloud를 사용할 예정인 다른 API의 서비스 매핑 테이블을 구성합니다.
SAP GUI에서 트랜잭션 코드
/GOOG/SDK_IMG
를 실행합니다.또는 트랜잭션 코드
SPRO
를 실행한 후 SAP 참조 IMG를 클릭합니다.ABAP SDK for Google Cloud > 기본 설정 > 서비스 매핑 구성을 클릭합니다.
새 항목을 클릭합니다.
IAM API 및 기타 API의 RFC 대상을 지정합니다(예:
Pub/Sub API v1
).이름 서비스 이름 RFC 대상 Google Cloud 키 이름 iamcredentials.googleapis.com
ZGOOG_IAMCREDENTIALS
Google Cloud 키 이름 pubsub:v1
ZGOOG_PUBSUB_V1
새 항목을 저장합니다.
SAP 시스템에서 인증 구성을 검증합니다. 자세한 내용은 인증 구성 검증을 참조하세요.
교차 프로젝트 환경에서 서비스 계정 설정
SDK가 포함된 SAP 시스템의 호스트 VM이 Google Cloud API가 사용 설정된 Google Cloud 프로젝트가 아닌 다른 Google Cloud 프로젝트에 있을 수 있습니다. 이 경우 SDK가 다른 프로젝트의 API에 액세스할 수 있도록 필요한 IAM 역할을 가진 서비스 계정을 설정해야 합니다.
다음 표에서는 교차 프로젝트 API 액세스를 위한 서비스 계정 설정의 예시를 보여줍니다.
환경 | SAP 호스트 VM | Google Cloud API |
---|---|---|
Google Cloud 프로젝트 | project-sap-host |
project-google-apis |
SAP 호스트 VM에 할당된 서비스 계정 | sa-sap-host@project-sap-host.iam.gserviceaccount.com |
해당 사항 없음 |
Google Cloud API에 액세스하기 위한 서비스 계정 | sa-google-apis@project-sap-host.iam.gserviceaccount.com |
해당 사항 없음 |
서비스 계정의 IAM 역할 | project-sap-host 프로젝트에서 sa-sap-host@project-sap-host.iam.gserviceaccount.com 서비스 계정에 서비스 계정 토큰 생성자 역할을 부여합니다. |
project-google-apis 프로젝트에서 sa-google-apis@project-sap-host.iam.gserviceaccount.com 서비스 계정을 주 구성원으로 추가하고 Google Cloud API에 연결할 수 있는 적절한 역할을 서비스 계정에 부여합니다. |
서비스 계정을 설정하려면 다음 단계를 수행합니다.
- SAP 호스트 VM이 포함된 Google Cloud 프로젝트에서 SAP 호스트 VM의 서비스 계정에
Service Account Token Creator
역할을 부여합니다. 단계에 대한 자세한 내용은 단일 역할 부여를 참조하세요. - SAP 호스트 VM이 포함된 Google Cloud 프로젝트에서 서비스 계정을 만듭니다. 서비스 계정의 이름을 기록해 둡니다. Google Cloud API가 포함된 다른 프로젝트에 서비스 계정을 주 구성원으로 추가할 때 이 이름을 지정합니다.
Google Cloud API가 포함된 다른 프로젝트에서 서비스 계정을 주 구성원으로 추가하고 Google Cloud API에 연결할 수 있는 적절한 역할을 부여합니다. Google Cloud API가 포함된 Google Cloud 프로젝트에 서비스 계정을 추가하려면 다음 단계를 수행합니다.
Google Cloud 콘솔에서 IAM 권한 페이지로 이동합니다.
대상 Google Cloud API가 포함된 프로젝트의 이름이 페이지 상단 근처에 표시되는지 확인합니다. 예를 들면 다음과 같습니다.
'
PROJECT_NAME
' 프로젝트의 권한표시되지 않은 경우 프로젝트를 전환합니다.
IAM 페이지에서
액세스 권한 부여를 클릭합니다. 'PROJECT_NAME
'에 액세스 권한 부여 대화상자가 열립니다.새 주 구성원 필드에서 서비스 계정의 이름을 지정합니다.
역할 선택 필드에 관련 역할을 지정합니다. 예를 들어 Pub/Sub의 경우 주제 및 구독을 수정하고 메시지를 게시하고 사용할 수 있는 액세스 권한을 부여하려면 Pub/Sub 편집자(
roles/pubsub.editor
) 역할을 지정하면 됩니다.API별 사전 정의된 역할에 대한 자세한 내용은 IAM 기본 및 사전 정의된 역할 참조를 확인하세요.
API 사용에 필요한 추가 역할을 추가합니다. 최소 권한 원칙을 적용하여 Google 권장사항을 구현합니다.
저장을 클릭합니다. IAM 페이지의 프로젝트 주 구성원 목록에 서비스 계정이 표시됩니다.
인증 구성 검증
인증 구성을 검증하려면 다음 단계를 수행합니다.
SAP GUI에서 트랜잭션 코드
/GOOG/SDK_IMG
를 실행합니다.또는 트랜잭션 코드
SPRO
를 실행한 후 SAP 참조 IMG를 클릭합니다.ABAP SDK for Google Cloud > 유틸리티 > 인증 구성 검증을 클릭합니다.
클라이언트 키 이름을 입력합니다.
실행을 클릭하여 전체 흐름이 성공적으로 구성되었는지 확인합니다.
결과 열에서 녹색 체크표시는 모든 구성 단계가 성공적으로 완료되었음을 나타냅니다.
지원 받기
ABAP SDK for Google Cloud 문제를 해결하는 데 도움이 필요한 경우 다음을 수행하세요.
Cloud 포럼의 커뮤니티에서 ABAP SDK for Google Cloud에 대해 질문하고 논의합니다.
사용 가능한 모든 진단 정보를 수집하여 Cloud Customer Care에 문의합니다. Customer Care 문의 정보는 Google Cloud 기반 SAP 지원 받기를 참조하세요.