Định cấu hình xác thực SDK ABAP bằng mã thông báo cho SAP được lưu trữ trên máy ảo Compute Engine và thực thi API xác thực địa chỉ

1. Giới thiệu

Trong lớp học lập trình này, bạn sẽ tìm hiểu các bước thiết lập tính năng xác thực để truy cập vào Google Cloud API bằng mã thông báo khi hệ thống SAP của bạn được lưu trữ trên một thực thể máy ảo Compute Engine.

Danh sách các dịch vụ được sử dụng là:

  • Compute Engine
  • Dịch vụ mạng
  • Cloud Shell

Sản phẩm bạn sẽ tạo ra

Bạn sẽ thực hiện như sau:

  • Định cấu hình SDK ABAP được cài đặt trên hệ thống SAP để kết nối với các API của Google.
  • Tạo một chương trình báo cáo mẫu để gọi API Xác thực địa chỉ.

2. Yêu cầu

  • Một trình duyệt, chẳng hạn như Chrome hoặc Firefox.
  • Một dự án Google Cloud đã bật tính năng thanh toán hoặc Tạo tài khoản dùng thử miễn phí 90 ngày cho Google Cloud Platform.
  • GUI SAP (Windows hoặc Java) được cài đặt trong hệ thống của bạn. Nếu GUI SAP đã được cài đặt trên hệ thống của bạn, hãy kết nối với SAP bằng địa chỉ IP bên ngoài của máy ảo làm IP của máy chủ ứng dụng. Nếu dùng máy Mac, bạn cũng có thể cài đặt GUI SAP cho Java qua đường liên kết này.

3. Trước khi bắt đầu

6757b2fb50ddcc2d.png.

  • Đảm bảo rằng tất cả các API cần thiết (API Thông tin xác thực tài khoản dịch vụ IAM và API xác thực địa chỉ) đều được bật.
  • Chạy các lệnh sau để xác thực tài khoản của bạn và đặt dự án mặc định thành abap-sdk-poc. Khu vực us-west4-b được dùng làm ví dụ. Nếu cần, vui lòng thay đổi dự án và vùng trong các lệnh bên dưới tuỳ theo lựa chọn ưu tiên của bạn.
gcloud auth login
gcloud config set project abap-sdk-poc
gcloud config set compute/zone us-west4-b
PROJECT_NAME=abap-sdk-poc
REGION=us-west4
ZONE=us-west4-b

4. Tạo một tài khoản dịch vụ và thiết lập vai trò Người tạo mã thông báo cho tài khoản dịch vụ

Để tạo tài khoản dịch vụ với vai trò được yêu cầu, hãy thực hiện các bước sau:

  1. Chạy lệnh sau để tạo một tài khoản dịch vụ: (Vui lòng bỏ qua bước này nếu đã có tài khoản dịch vụ)
gcloud iam service-accounts create abap-sdk-dev \
    --description="ABAP SDK Dev Account" \
    --display-name="ABAP SDK Dev Account"
  1. Chạy lệnh sau để đặt vai trò Service Account Token Creator (Người tạo mã thông báo tài khoản dịch vụ):
gcloud projects add-iam-policy-binding $PROJECT_NAME \
    --member=serviceAccount:abap-sdk-dev@$PROJECT_NAME.iam.gserviceaccount.com \
    --role=roles/iam.serviceAccountTokenCreator

5. Định cấu hình khoá ứng dụng

Đăng nhập vào hệ thống SAP bằng tên người dùng DEVELOPER và mật khẩu Htods70334, rồi làm theo các bước sau để định cấu hình khoá ứng dụng:

  1. Trong GUI SAP, hãy nhập mã giao dịch SPRO.
  2. Nhấp vào Ảnh đối chiếu của SAP.
  3. Nhấp vào ABAP SDK for Google Cloud > Cài đặt cơ bản > Định cấu hình khoá ứng dụng.
  4. Nhấp vào Mục nhập mới.
  5. Nhập giá trị cho các trường sau:

Trường

Mô tả

Tên khoá Google Cloud

ABAP_SDK_DEMO

Tên tài khoản dịch vụ Google Cloud

abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com

Phạm vi của Google Cloud

https://www.googleapis.com/auth/cloud-platform

Mã nhận dạng dự án trên Google Cloud

abap-sdk-poc

Lớp uỷ quyền

/GOOG/CL_XÁC_GOOGLE.

Để trống các trường khác

c72e71da6fd75b29.png

6. Tạo đích RFC

Tạo đích đến RFC cho thông tin xác thực IAM và API xác thực địa chỉ.

Tên đích đến RFC

Máy chủ đích (điểm cuối API)

Ghi chú

ZGOOG_IAMCREDENTIALS

Máy chủ lưu trữ: iamcredentials.googleapis.comPath: Tiền tố: /v1/Cổng: 443SSL: Đang hoạt động

Đích RFC này nhắm đến API IAM.

ZGOOG_ADDRESSVALIDATION_V1

Máy chủ lưu trữ: addressverification.googleapis.comCổng: 443SSL: Đang hoạt động

Đích đến RFC này nhắm đến API xác thực địa chỉ

  • Trong thẻ Cài đặt kỹ thuật, hãy nhập các thông tin chi tiết sau cho đích đến ZGOOG_IAMCREDENTIALS.

e670c6a91acba40f.png

  • Trong tab Cài đặt kỹ thuật, nhập các chi tiết sau cho đích đến ZGOOG_ADDRESSVALIDATION_V1.

fcf92530ece612ea.png

  • Đối với trường Chứng chỉ SSL, hãy đảm bảo rằng bạn chọn tùy chọn DEFAULT SSL Client (Chuẩn) cho cả hai đích đến RFC.

b6370d12bd332318.png

7. Định cấu hình liên kết dịch vụ

Để định cấu hình bảng liên kết dịch vụ cho API IAM và API xác thực địa chỉ, hãy thực hiện các bước sau:

  1. Trong GUI SAP, hãy nhập mã giao dịch SPRO.
  2. Nhấp vào Ảnh đối chiếu của SAP.
  3. Nhấp vào ABAP SDK for Google Cloud > Cài đặt cơ bản > Định cấu hình liên kết dịch vụ.
  4. Nhấp vào Mục nhập mới để xem API xác thực địa chỉ và thông tin xác thực IAM được liên kết với đích đến RFC.

e227316b0f249823.png

8. Xác thực cấu hình

Để xác thực cấu hình xác thực, hãy thực hiện các bước sau:

  1. Trong GUI SAP, hãy nhập mã giao dịch SPRO.
  2. Nhấp vào Ảnh đối chiếu của SAP.
  3. Nhấp vào ABAP SDK for Google Cloud > Tiện ích > Xác thực cấu hình xác thực.
  4. Nhập tên khoá ứng dụng khách là ABAP_SDK_DEMO.
  5. Nhấp vào Thực thi để kiểm tra xem quy trình tổng thể có được định cấu hình thành công hay không.
  6. Dấu kiểm màu xanh lục trong cột Kết quả cho biết rằng tất cả các bước định cấu hình đã hoàn tất thành công.

d7285e64e22c25b6.png

9. Tạo một chương trình báo cáo để gọi dịch vụ Xác thực địa chỉ

  1. Đăng nhập vào hệ thống SAP của bạn.
  2. Truy cập vào mã giao dịch SE38 và tạo chương trình báo cáo có tên Zdemo_ADDRESS_VALIDATION.
  3. Trong cửa sổ bật lên mới mở ra, hãy cung cấp thông tin chi tiết như bên dưới rồi nhấp vào Lưu.

d8aac0f9e0bc5f9d.png

  1. Trong cửa sổ bật lên tiếp theo, hãy chọn Local Object (Đối tượng cục bộ) hoặc cung cấp tên gói cho phù hợp.
  2. Trong Trình chỉnh sửa ABAP, hãy thêm mã sau:
" data declarations
DATA lv_ret_code          TYPE i.
DATA lv_err_text          TYPE string.
DATA ls_input             TYPE /goog/cl_addrvaldn_v1=>ty_012.
DATA ls_output            TYPE /goog/cl_addrvaldn_v1=>ty_013.
DATA ls_err_resp          TYPE /goog/err_resp.
DATA lo_exception         TYPE REF TO /goog/cx_sdk.
DATA lo_address_validator TYPE REF TO /goog/cl_addrvaldn_v1.

" instantiate api client stub
TRY.
    lo_address_validator = NEW #( iv_key_name = 'ABAP_SDK_DEV' ).

    " Pass the address to be validated and corrected.
    " Mountain misspelled as  Moutain
    " Amphitheatre misspelled as Amphithetre
    ls_input-address-region_code = 'US'.
    ls_input-address-locality    = 'Moutain View'.
    APPEND '1600, Amphithetre, Parkway' TO ls_input-address-address_lines.

    " call the api method to validate address
    lo_address_validator->validate_address( EXPORTING is_input    = ls_input
                                            IMPORTING es_output   = ls_output
                                                      ev_ret_code = lv_ret_code
                                                      ev_err_text = lv_err_text
                                                      es_err_resp = ls_err_resp ).
    IF     lo_address_validator->is_success( lv_ret_code ) = abap_true
       AND ls_output-result-verdict-address_complete       = abap_true.
      cl_demo_output=>new(
        )->begin_section( `Original Address`
        )->write_data( ls_input-address-region_code
        )->write_data( ls_input-address-locality
        )->write_data( ls_input-address-address_lines
        )->next_section( `Validated & Corrected Address`
        )->begin_section( `Elementary Object`
        )->write_data( ls_output-result-address-formatted_address
        )->display( ).
    ENDIF.

  CATCH /goog/cx_sdk INTO lo_exception.
    " write code here to handle exceptions
    cl_demo_output=>display( lo_exception->get_text( ) ).
ENDTRY.
  1. Lưu và kích hoạt báo cáo.
  2. Thực thi báo cáo (F8).

Khi thực thi thành công, bạn sẽ thấy kết quả báo cáo như sau:

8b0aed97320f4ef.png.

10. Xin chúc mừng

Xin chúc mừng! Bạn đã định cấu hình thành công SDK ABAP để gọi dịch vụ Xác thực địa chỉ.

Giờ đây, bạn có thể tiếp tục tham gia các lớp học lập trình khác về ABAP SDK để tiếp tục hành trình tìm hiểu sử dụng ABAP SDK cho Google Cloud để truy cập vào nhiều Dịch vụ Google Cloud.

11. Dọn dẹp

Nếu bạn không muốn tiếp tục các lớp học lập trình khác liên quan đến ABAP SDK dành cho Google Cloud, vui lòng tiến hành dọn dẹp.

Xoá dự án

  • Xoá dự án trên Google Cloud:
gcloud projects delete abap-sdk-poc

Xoá từng tài nguyên

  1. Xóa các mục cấu hình khóa ứng dụng khách bằng cách truy cập vào IMG > Google Cloud > Cài đặt cơ bản > Định cấu hình khoá ứng dụng.
  2. Xóa các mục cấu hình ánh xạ dịch vụ bằng cách chuyển đến IMG > Google Cloud > Cài đặt cơ bản > Định cấu hình khoá ứng dụng.
  3. Xoá các đích đến RFC ZGOOG_IAMCREDENTIALSZGOOG_ADDRESSVALIDATION_V1.
  4. Xoá tài khoản dịch vụ:
gcloud iam service-accounts delete \
    abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com