1. ভূমিকা
এই কোডল্যাবে, আমরা Google ক্লাউড-এর জন্য ABAP SDK ব্যবহার করে Google ক্লাউড সিক্রেট ম্যানেজার এপিআই থেকে কীভাবে শংসাপত্র বা গোপনীয়তাগুলি পুনরুদ্ধার করতে হয় তার পদক্ষেপগুলি তালিকাভুক্ত করেছি৷
নিম্নলিখিত Google ক্লাউড পরিষেবাগুলি এই কোডল্যাবে ব্যবহার করা হয়:
- সিক্রেট ম্যানেজার
- মেঘের শেল
আপনি কি নির্মাণ করবেন
আপনি নিম্নলিখিত সঞ্চালন করবেন:
- একটি Google ক্লাউড প্রকল্পে সিক্রেট ম্যানেজার API সক্ষম করুন৷
- একটি গোপন তৈরি করুন.
- একটি গোপন সংস্করণ যোগ করুন.
- Google ক্লাউডের জন্য ABAP SDK ব্যবহার করে একটি গোপন অ্যাক্সেস/পুনরুদ্ধার করুন।
এই কোডল্যাবে, একটি গোপন তৈরি করার এবং একটি গোপন সংস্করণ যোগ করার পদক্ষেপগুলি জিক্লাউড কমান্ডের মাধ্যমে করা হবে, তবে এটি Google ক্লাউডের জন্য ABAP SDK-এর সাথে প্রদত্ত সিক্রেট ম্যানেজারের জন্য ক্লায়েন্ট লাইব্রেরি ব্যবহার করেও করা যেতে পারে।
2. প্রয়োজনীয়তা
- একটি ব্রাউজার, যেমন ক্রোম বা ফায়ারফক্স ।
- বিলিং সক্ষম সহ একটি Google ক্লাউড প্রকল্প বা Google ক্লাউড প্ল্যাটফর্মের জন্য একটি 90-দিনের বিনামূল্যে ট্রায়াল অ্যাকাউন্ট তৈরি করুন ৷
- আপনার সিস্টেমে ইনস্টল করা SAP GUI (উইন্ডোজ বা জাভা)। যদি আপনার ল্যাপটপে SAP GUI ইতিমধ্যেই ইনস্টল করা থাকে, তাহলে অ্যাপ্লিকেশন সার্ভার IP হিসাবে VM বাহ্যিক IP ঠিকানা ব্যবহার করে SAP-এর সাথে সংযোগ করুন। আপনি যদি ম্যাকে থাকেন, তাহলে আপনি এই লিঙ্কে উপলব্ধ জাভার জন্য SAP GUI ইনস্টল করতে পারেন।
3. আপনি শুরু করার আগে
- আপনি আপনার সিস্টেমে Google ক্লাউডের জন্য ABAP SDK ইনস্টল করেছেন৷ আপনি কোডল্যাব উল্লেখ করতে পারেন - Google ক্লাউড প্ল্যাটফর্মে ABAP প্ল্যাটফর্ম ট্রায়াল 1909 ইনস্টল করুন এবং একটি নতুন সিস্টেম সেট আপ করতে ABAP SDK ইনস্টল করুন ৷
- আপনি Cloud Shell ব্যবহার করবেন, Google ক্লাউডে চলমান একটি কমান্ড-লাইন পরিবেশ।
- ক্লাউড কনসোল থেকে, উপরের ডানদিকে কোণায় ক্লাউড শেল সক্রিয় করুন ক্লিক করুন:
- আপনার অ্যাকাউন্টের জন্য প্রমাণীকরণ করতে নিম্নলিখিত কমান্ডগুলি চালান এবং ডিফল্ট প্রকল্পটিকে
abap-sdk-poc
এ সেট করুন। Zoneus-west4-b
উদাহরণ হিসেবে ব্যবহার করা হয়েছে। যদি প্রয়োজন হয়, অনুগ্রহ করে আপনার পছন্দের উপর ভিত্তি করে নিম্নলিখিত কমান্ডগুলিতে প্রকল্প এবং অঞ্চল পরিবর্তন করুন।
gcloud auth login
gcloud config set project abap-sdk-poc
gcloud config set compute/zone us-west4-b
4. ওভারভিউ
এখানে সিক্রেট ম্যানেজারের কিছু সত্তার একটি দ্রুত ওভারভিউ রয়েছে যেগুলির সাথে আপনি এই কোডল্যাবে কাজ করবেন:
- সিক্রেট - একটি গোপন একটি প্রকল্প-গ্লোবাল অবজেক্ট যা মেটাডেটা এবং গোপন সংস্করণগুলির একটি সংগ্রহ ধারণ করে।
- গোপন সংস্করণ - একটি গোপন সংস্করণ প্রকৃত গোপন তথ্য সংরক্ষণ করে, যেমন API কী, পাসওয়ার্ড বা শংসাপত্র।
5. আপনার Google ক্লাউড প্রজেক্টে সিক্রেট ম্যানেজার সক্ষম করুন৷
- আপনার Google ক্লাউড প্রজেক্টে যান এবং উপরের ডানদিকে কোণায় সক্রিয় ক্লাউড শেল ক্লিক করুন।
- আপনার Google ক্লাউড প্রজেক্টে ক্লাউড সিক্রেট ম্যানেজার এপিআই সক্ষম করতে নিম্নলিখিত কমান্ডটি চালান।
gcloud services enable secretmanager.googleapis.com
আপনার Google ক্লাউড প্রজেক্টে এখন সিক্রেট ম্যানেজার API সক্ষম করা উচিত।
6. সিক্রেট ম্যানেজার ব্যবহারকারীর ভূমিকা সহ একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন
প্রয়োজনীয় ভূমিকা সহ একটি পরিষেবা অ্যাকাউন্ট তৈরি করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
- ক্লাউড শেল টার্মিনালে নিম্নলিখিত কমান্ডটি চালান:
gcloud iam service-accounts create abap-sdk-secretmanager-tester \
--display-name="Service Account for Secret Manager"
- একটি গোপন তৈরি করতে, একটি গোপন সংস্করণ যোগ করতে এবং একটি গোপন সংস্করণ অ্যাক্সেস করতে পূর্ববর্তী ধাপে তৈরি পরিষেবা অ্যাকাউন্টে প্রয়োজনীয় ভূমিকাগুলি যোগ করুন৷
gcloud endpoints services add-iam-policy-binding secretmanager.googleapis.com \ --member='serviceAccount:abap-sdk-secretmanager-tester@abap-sdk-poc.iam.gserviceaccount.com' \
--role='roles/roles/secretmanager.secrets.create'
gcloud endpoints services add-iam-policy-binding secretmanager.googleapis.com \ --member='serviceAccount:abap-sdk-secretmanager-tester@abap-sdk-poc.iam.gserviceaccount.com' \
--role='roles/roles/secretmanager.versions.add'
gcloud endpoints services add-iam-policy-binding secretmanager.googleapis.com \ --member='serviceAccount:abap-sdk-secretmanager-tester@abap-sdk-poc.iam.gserviceaccount.com' \
--role='roles/roles/secretmanager.versions.access'
উপরের কমান্ডগুলি Google ক্লাউড প্রকল্পের জন্য একটি স্থানধারক হিসাবে abap-sdk-poc
ব্যবহার করে। abap-sdk-poc
আপনার প্রজেক্ট আইডি দিয়ে প্রতিস্থাপন করুন।
- যাচাই করতে, ভূমিকা যোগ করা হয়েছে, IAM পৃষ্ঠায় যান। আপনি যে পরিষেবা অ্যাকাউন্টটি তৈরি করেছেন সেটিকে নির্ধারিত ভূমিকা সহ তালিকাভুক্ত করা উচিত।
7. একটি গোপন তৈরি করুন
- ক্লাউড শেলে, এই কোডল্যাবের জন্য "ডেমো-সিক্রেট" নামের একটি গোপনীয়তা তৈরি করতে নিম্নলিখিত কমান্ডটি চালান:
gcloud secrets create demo-secret \
--replication-policy="automatic"
আপনি নীচে দেখানো হিসাবে আপনার Google ক্লাউড প্রকল্পে তৈরি একটি গোপন দেখতে সক্ষম হওয়া উচিত।
8. একটি গোপন সংস্করণ যোগ করুন
- ক্লাউড শেলে, গোপন "ডেমো-সিক্রেট" এ একটি গোপন সংস্করণ যোগ করতে নিম্নলিখিত কমান্ডটি চালান।
echo -n "This is my super secret data" | \
gcloud secrets versions add demo-secret --data-file=-
একটি গোপন সংস্করণ তৈরি করা হয়। বিস্তারিত দেখতে "ডেমো-সিক্রেট" এ ক্লিক করুন।
- ডানদিকে তিনটি বিন্দুতে ক্লিক করুন এবং সিক্রেট ভ্যালু দেখুন নির্বাচন করুন, সঞ্চিত গোপনীয়তা দেখানো হয়।
9. SAP-এ SDK কনফিগারেশন তৈরি করুন
এখন যেহেতু আপনি Google ক্লাউড সাইডে প্রাক-প্রয়োজনীয়তা সেট আপ করেছেন, আমরা SAP সাইডে কনফিগারেশন নিয়ে এগিয়ে যেতে পারি। প্রমাণীকরণ এবং সংযোগ সম্পর্কিত কনফিগারেশনের জন্য, Google ক্লাউডের জন্য ABAP SDK টেবিল /GOOG/CLIENT_KEY ব্যবহার করে।
/GOOG/CLIENT_KEY টেবিলে কনফিগারেশন বজায় রাখতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
- SAP GUI-তে, লেনদেন কোড SPRO লিখুন।
- SAP রেফারেন্স IMG এ ক্লিক করুন।
- Google ক্লাউড > বেসিক সেটিংস > কনফিগার ক্লায়েন্ট কী-এর জন্য ABAP SDK-এ ক্লিক করুন।
- ক্ষেত্রগুলির বিপরীতে নিম্নলিখিত মানগুলি বজায় রাখুন:
মাঠ | বর্ণনা |
গুগল ক্লাউড কী নাম | SECRET_MANAGER_DEMO |
Google ক্লাউড পরিষেবা অ্যাকাউন্টের নাম | abap-sdk-secretmanager-tester@abap-sdk-poc.iam.gserviceaccount.com |
গুগল ক্লাউড স্কোপ | https://www.googleapis.com/auth/cloud-platform |
Google ক্লাউড প্রকল্প শনাক্তকারী | <<আপনার Google ক্লাউড প্রকল্প আইডি>> |
অনুমোদন শ্রেণী | /GOOG/CL_AUTH_GOOGLE৷ |
অন্যান্য ক্ষেত্রগুলি ফাঁকা রাখুন।
10. SDK ব্যবহার করে গোপন পুনরুদ্ধার করুন
- আপনার SAP সিস্টেমে লগ ইন করুন।
- লেনদেন কোড SE38 এ যান এবং "ZDEMO_ACCESS_SECRET" নামে একটি প্রতিবেদন তৈরি করুন।
- পপ-আপে যেটি খোলে, নীচে দেখানো হিসাবে বিশদ বিবরণ দিন এবং সংরক্ষণ করুন ক্লিক করুন।
- পরবর্তী পপ-আপে, হয় স্থানীয় অবজেক্ট নির্বাচন করুন বা উপযুক্ত হিসাবে একটি প্যাকেজ নাম দিন।
- ABAP এডিটরে , নিম্নলিখিত কোড যোগ করুন:
* Data declarations
DATA:
lv_p_projects_id TYPE string,
lv_p_secrets_id TYPE string,
lv_p_versions_id TYPE string.
TRY.
* Open HTTP Connection
DATA(lo_client) = NEW /goog/cl_secretmgr_v1( iv_key_name = 'SECRET_MANAGER_DEMO' ).
* Populate relevant parameters
lv_p_projects_id = lo_client->gv_project_id.
lv_p_secrets_id = 'demo-secret'.
lv_p_versions_id = 'latest'.
* Call API method: secretmanager.projects.secrets.versions.access
lo_client->access_versions(
EXPORTING
iv_p_projects_id = lv_p_projects_id
iv_p_secrets_id = lv_p_secrets_id
iv_p_versions_id = lv_p_versions_id
IMPORTING
es_output = DATA(ls_output)
ev_ret_code = DATA(lv_ret_code)
ev_err_text = DATA(lv_err_text)
es_err_resp = DATA(ls_err_resp) ).
IF lo_client->is_success( lv_ret_code ).
cl_http_utility=>if_http_utility~decode_base64(
EXPORTING
encoded = ls_output-payload-data
RECEIVING
decoded = DATA(lv_decoded_secret) ).
DATA(lv_msg) = 'Secret data fetched successfully, Decoded Secret: ' && lv_decoded_secret.
cl_demo_output=>display( lv_msg ).
ELSE.
lv_msg = lv_ret_code && ':' && lv_err_text.
cl_demo_output=>display( lv_msg ).
ENDIF.
* Close HTTP Connection
lo_client->close( ).
CATCH /goog/cx_sdk INTO DATA(lo_exception).
MESSAGE lo_exception->get_text( ) TYPE 'E'.
ENDTRY.
- রিপোর্ট প্রোগ্রাম সংরক্ষণ এবং সক্রিয়.
- রিপোর্ট চালান (F8 চাপুন)।
সফলভাবে সঞ্চালন করার সময় আপনাকে নীচে দেখানো হিসাবে রিপোর্ট আউটপুট দেখতে হবে:
11. অভিনন্দন
অভিনন্দন! আপনি Google ক্লাউডের জন্য ABAP SDK ব্যবহার করে Google ক্লাউড প্ল্যাটফর্ম সিক্রেট ম্যানেজারে সংরক্ষিত একটি গোপন তথ্য সফলভাবে পুনরুদ্ধার করেছেন।
গুগল ক্লাউড সিক্রেট ম্যানেজারের অন্যান্য বৈশিষ্ট্যও রয়েছে, যেমন:
- একটি গোপন প্যাচিং
- একটি গোপন সংস্করণ ধ্বংস
- একটি গোপন মুছে ফেলা
আপনি আপনার SAP অ্যাপ্লিকেশন থেকে Google ক্লাউডের জন্য ABAP SDK-এর মাধ্যমে এই সিক্রেট ম্যানেজার বৈশিষ্ট্যগুলিকে আহ্বান করতে পারেন৷
12. পরিষ্কার করুন
আপনি যদি Google ক্লাউডের জন্য ABAP SDK-এর সাথে সম্পর্কিত অতিরিক্ত কোডল্যাবগুলি চালিয়ে যেতে না চান, তাহলে অনুগ্রহ করে পরিষ্কারের সাথে এগিয়ে যান৷
প্রকল্পটি মুছুন
- Google ক্লাউড প্রকল্প মুছুন:
gcloud projects delete abap-sdk-poc
পৃথক সম্পদ মুছুন
- গণনা উদাহরণ মুছুন:
gcloud compute instances delete abap-trial-docker
- ফায়ারওয়াল-নিয়ম মুছুন:
gcloud compute firewall-rules delete sapmachine
- পরিষেবা অ্যাকাউন্ট মুছুন:
gcloud iam service-accounts delete \
abap-sdk-secretmanager-tester@abap-sdk-poc.iam.gserviceaccount.com