חומרי עזר

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

ממשק שורת הפקודה (CLI) של apigee-remote-service-cli עוזר לכם להקצות ולנהל את Apigee Adapter ל-Envoy.

פקודות לקישור

איגוד מקשר בין שירות שנפרס ב-Istio mesh לבין מוצר API של Apigee. ממשק ה-CLI מאפשר ליצור, להסיר ולהציג ברשימה את הקישורים.

הערה: בממשק המשתמש של 'יצירת מוצר', אפשר לציין שירות אחד או יותר עם מוצר. הפעולה הזו שקולה ליצירת הקישור באמצעות ה-CLI.

הוספת קישור נתונים

הוספת קישור של יעד מרוחק למוצר API.

Usage

ב-Apigee Hybrid:

apigee-remote-service-cli bindings add [service_name] [product_name]  -o [organization] -e [environment] -t [token]

פרמטרים

פרמטרים סוג תיאור
-c, --config String (חובה) הנתיב לקובץ התצורה של Apigee Remote Service. טיפ: כשמציינים את האפשרות הזו, אפשר להשמיט את רוב הפרמטרים האחרים של הפקודה. איך משתמשים באפשרות --config
-e, --env String (חובה) סביבה בארגון שלכם.
-h, --help הצגת עזרה לגבי פרמטרים של פקודות.
--insecure אפשרות לחיבורים לא מאובטחים לשרתים כשמשתמשים ב-SSL
--legacy מגדירים את הדגל הזה אם משתמשים ב-Apigee Cloud. הוא מגדיר את כתובות ה-URL של הניהול ושל זמן הריצה של Edge Cloud.
--opdk מגדירים את הדגל הזה אם משתמשים ב-Apigee לענן פרטי.
-o, --org String (חובה) ארגון Apigee. צריך להיות לכם תפקיד אדמין בארגון.
-p, --password String (נדרש רק לאימות בסיסי) הסיסמה שלכם ב-Apigee. אפשר גם לציין את הסיסמה בקובץ .netrc. אם תעשו את זה, לא תצטרכו להזין את הסיסמה בשורת הפקודה. מידע נוסף זמין במאמר בנושא שימוש בקובץ ‎ .netrc לפרטי כניסה.
-r, --runtime String כתובת ה-URL הבסיסית של זמן הריצה של Apigee (נדרשת ל-Hybrid או ל-OPDK).
-t, --token String (נדרש רק לאימות אסימון OAuth) אסימון OAuth או SAML שיוצרים מפרטי החשבון ב-Apigee. למידע על יצירת אסימונים, אפשר לעיין במאמרים איך מקבלים אסימון גישה מסוג OAuth 2.0 וסקירה כללית על SAML.
-u, --username String (נדרש רק לאימות בסיסי) שם המשתמש שלכם ב-Apigee (בדרך כלל כתובת אימייל). אפשר גם לציין את שם המשתמש בקובץ .netrc. אם תעשו זאת, לא תצטרכו לספק את שם המשתמש בשורת הפקודה. אפשר גם לעיין במאמר בנושא שימוש ב-‎ .netrc לפרטי כניסה.
-v, --verbose (אופציונלי) מפיק פלט מפורט.

דוגמה

./apigee-remote-service-cli bindings add httpbin.org envoy-test -o myorg -e test -u user@example.com -c config.yaml -p xxxxxx
product envoy-test is now bound to: httpbin.org

הצגת רשימת ההתאמות

מפרטים את כל מוצרי ה-API שמקושרים לשירות המרוחק.

Usage

פרמטרים

פרמטרים סוג תיאור
-c, --config String (חובה) הנתיב לקובץ התצורה של Apigee Remote Service. טיפ: כשמציינים את האפשרות הזו, אפשר להשמיט את רוב הפרמטרים האחרים של הפקודה. איך משתמשים באפשרות --config
-e, --env String (חובה) סביבה בארגון שלכם.
-h, --help הצגת עזרה לגבי פרמטרים של פקודות.
--insecure אפשרות לחיבורים לא מאובטחים לשרתים כשמשתמשים ב-SSL
--legacy מגדירים את הדגל הזה אם משתמשים ב-Apigee Cloud. הוא מגדיר את כתובות ה-URL של הניהול ושל זמן הריצה של Edge Cloud.
--opdk מגדירים את הדגל הזה אם משתמשים ב-Apigee לענן פרטי.
-o, --org String (חובה) ארגון Apigee. צריך להיות לכם תפקיד אדמין בארגון.
-p, --password String (נדרש רק לאימות בסיסי) הסיסמה שלכם ב-Apigee. אפשר גם לציין את הסיסמה בקובץ .netrc. אם תעשו את זה, לא תצטרכו להזין את הסיסמה בשורת הפקודה. מידע נוסף זמין במאמר בנושא שימוש בקובץ ‎ .netrc לפרטי כניסה.
-r, --runtime String כתובת ה-URL הבסיסית של זמן הריצה של Apigee (נדרשת ל-Hybrid או ל-OPDK).
-t, --token String (נדרש רק לאימות אסימון OAuth) אסימון OAuth או SAML שיוצרים מפרטי החשבון ב-Apigee. למידע על יצירת אסימונים, אפשר לעיין במאמרים איך מקבלים אסימון גישה מסוג OAuth 2.0 וסקירה כללית על SAML.
-u, --username String (נדרש רק לאימות בסיסי) שם המשתמש שלכם ב-Apigee (בדרך כלל כתובת אימייל). אפשר גם לציין את שם המשתמש בקובץ .netrc. אם תעשו זאת, לא תצטרכו לספק את שם המשתמש בשורת הפקודה. אפשר גם לעיין במאמר בנושא שימוש ב-‎ .netrc לפרטי כניסה.
-v, --verbose (אופציונלי) מפיק פלט מפורט.

דוגמה

apigee-remote-service-cli bindings list -o myorg -e test -u user@example.com -c config.yaml -p abc123
PI Products
============
Bound
-----
envoy-test:
  Quota: 5 requests every 1 minute
  Target bindings:
    httpbin.org
  Paths:
httpbin:
  Quota: 5 requests every 1 minute
  Target bindings:
    httpbin.org
  Paths:
    /httpbin
    /

Unbound
-------
product-1:
  Quota: 100 requests every 1 hour
product-2:
  Quota: 1000 requests every 1 month
product-3:
product-4:

הסרת קישור

הסרת הקישור של Remote Service for Envoy ממוצר API.

הערה: אפשר גם להסיר שירות מרוחק עבור קישור Envoy על ידי הסרת שם השירות מהמוצר בממשק המשתמש.

Usage

ב-Apigee Hybrid:

apigee-remote-service-cli bindings remove [service_name] [product_name]  -o [organization] -e [environment] -t [token]

פרמטרים

פרמטרים סוג תיאור
-c, --config String (חובה) הנתיב לקובץ התצורה של Apigee Remote Service. טיפ: כשמציינים את האפשרות הזו, אפשר להשמיט את רוב הפרמטרים האחרים של הפקודה. איך משתמשים באפשרות --config
-e, --env String (חובה) סביבה בארגון שלכם.
-h, --help הצגת עזרה לגבי פרמטרים של פקודות.
--insecure אפשרות לחיבורים לא מאובטחים לשרתים כשמשתמשים ב-SSL
--legacy מגדירים את הדגל הזה אם משתמשים ב-Apigee Cloud. הוא מגדיר את כתובות ה-URL של הניהול ושל זמן הריצה של Edge Cloud.
--opdk מגדירים את הדגל הזה אם משתמשים ב-Apigee לענן פרטי.
-o, --org String (חובה) ארגון Apigee. צריך להיות לכם תפקיד אדמין בארגון.
-p, --password String (נדרש רק לאימות בסיסי) הסיסמה שלכם ב-Apigee. אפשר גם לציין את הסיסמה בקובץ .netrc. אם תעשו את זה, לא תצטרכו להזין את הסיסמה בשורת הפקודה. מידע נוסף זמין במאמר בנושא שימוש בקובץ ‎ .netrc לפרטי כניסה.
-r, --runtime String כתובת ה-URL הבסיסית של זמן הריצה של Apigee (נדרשת ל-Hybrid או ל-OPDK).
-t, --token String (נדרש רק לאימות אסימון OAuth) אסימון OAuth או SAML שיוצרים מפרטי החשבון ב-Apigee. למידע על יצירת אסימונים, אפשר לעיין במאמרים איך מקבלים אסימון גישה מסוג OAuth 2.0 וסקירה כללית על SAML.
-u, --username String (נדרש רק לאימות בסיסי) שם המשתמש שלכם ב-Apigee (בדרך כלל כתובת אימייל). אפשר גם לציין את שם המשתמש בקובץ .netrc. אם תעשו זאת, לא תצטרכו לספק את שם המשתמש בשורת הפקודה. אפשר גם לעיין במאמר בנושא שימוש ב-‎ .netrc לפרטי כניסה.
-v, --verbose (אופציונלי) מפיק פלט מפורט.

דוגמה

./apigee-remote-service-cli bindings remove httpbin.org envoy-test -o myorg -e test -u user@example.com -c config.yaml -p xxxxxx
product envoy-test is no longer bound to: httpbin.org

פקודת עזרה

עזרה אונליין זמינה לכל הפקודות של apigee-remote-service-cli. פשוט מקלידים:

apigee-remote-service-cli help

כדי לקבל עזרה לגבי פקודה כלשהי, מקלידים:

apigee-remote-service-cli [command] help

לדוגמה:

apigee-remote-service-cli provision help

פקודת הקצאה

הפקודה apigee-remote-service-cli provision מתקינה פרוקסי בארגון Apigee, מגדירה אישור ויוצרת פרטי כניסה שתצטרכו כדי להגדיר את Apigee Adapter ל-Envoy.

Usage

פרמטרים

פרמטרים סוג תיאור
-c, --config String הנתיב לקובץ התצורה של Apigee Remote Service. טיפ: כשמציינים את האפשרות הזו, אפשר להשמיט את רוב הפרמטרים האחרים של הפקודה. איך משתמשים באפשרות --config
-e, --environment String (חובה) סביבה בארגון שלכם.
-f, --force-proxy-install (אופציונלי) מאלץ התקנה מחדש של שרת ה-proxy של remote-service אם הוא כבר מותקן בארגון.
-h, --help הצגת עזרה לגבי פרמטרים של פקודות.
-k, --key String מציינת את המפתח שמוחזר מהפקודה apigee-remote-service-cli provision.
--legacy ‫Apigee Edge (הגדרת כתובת URL לניהול ולזמן ריצה)
-m, --management String (נדרש אם אתם משתמשים ב-Apigee Private Cloud) כתובת ה-URL הבסיסית של ניהול Apigee. ברירת מחדל: https://api.enterprise.apigee.com
-n, --namespace String פליטת ההגדרה כ-Envoy ConfigMap במרחב השמות שצוין.
--opdk String ‫Apigee OPDK.
-o, --organization String (חובה) הארגון שלכם ב-Apigee. צריך להיות לכם תפקיד אדמין בארגון.
-p, --password String (נדרש רק לאימות בסיסי) הסיסמה שלכם ב-Apigee. אפשר גם לציין את הסיסמה בקובץ .netrc. אם תעשו את זה, לא תצטרכו להזין את הסיסמה בשורת הפקודה. מידע נוסף זמין במאמר בנושא שימוש בקובץ ‎ .netrc לפרטי כניסה.
--rotate-int int אם n > 0, המערכת יוצרת מפתח פרטי חדש ושומרת n מפתחות ציבוריים (רק בהצפנה היברידית)
-r, --runtime String כתובת ה-URL הבסיסית של זמן הריצה של Apigee (נדרשת ל-Hybrid או ל-OPDK)
-s, --secret String מציינים את הסוד שמוחזר מהפקודה apigee-remote-service-cli provision.
--strength int (אופציונלי) מציינים את עוצמת ההצפנה לאישורי SSL שמשמשים להקצאת המתאם. ברירת מחדל 2048
-t, --token String ‫(Hybrid בלבד) אסימון Apigee OAuth או SAML.
-u, --username String (נדרש רק לאימות בסיסי) שם המשתמש שלכם ב-Apigee (בדרך כלל כתובת אימייל). אפשר גם לציין את שם המשתמש בקובץ .netrc. מידע נוסף זמין במאמר בנושא שימוש ב-‎ .netrc לפרטי כניסה.
-v, --verbose (אופציונלי) מפיק פלט מפורט.
--virtual-hosts String מבטל את ברירת המחדל של המארחים הווירטואליים.
--years int (אופציונלי) מספר השנים לפני פקיעת התוקף של אישור ה-SSL שמשמש להקצאת הרשאות. ברירת מחדל: 1

דוגמה

חשוב לשמור את הפלט של הפקודה provision בקובץ, שמשמש כקלט לפעולות אחרות של Apigee Adapter ל-Envoy.

דוגמה ל-Apigee Hybrid:

apigee-remote-service-cli provision --organization $ORG --environment $ENV --runtime $RUNTIME --namespace $NAMESPACE --token $TOKEN > config.yaml

פקודות טוקן

אתם יכולים להשתמש באסימון JWT כדי לבצע קריאות מאומתות ל-proxy ל-API במקום להשתמש במפתח API. פקודות האסימון מאפשרות ליצור, לבדוק ולשנות אסימוני JWT למטרה הזו.

יצירת טוקן JWT

אפשר להשתמש באסימון JWT כדי לשלוח קריאות מאומתות ל-proxy ל-API אל יעד שירות מרוחק. אפשר לעיין גם במאמר בנושא שימוש באימות מבוסס JWT.

Usage

ב-Apigee Hybrid:
apigee-remote-service-cli token create -c [config_file] --id [consumer_key] --secret [consumer_secret] -r [runtime] -o [org] -e [env]

פרמטרים

פרמטרים סוג תיאור
-c, --config String (חובה) הנתיב לקובץ התצורה של Apigee Remote Service. טיפ: כשמציינים את האפשרות הזו, אפשר להשמיט את רוב הפרמטרים האחרים של הפקודה. איך משתמשים באפשרות --config
-e, --env String (חובה) סביבה בארגון שלכם.
-h, --help הצגת עזרה לגבי פרמטרים של פקודות.
--insecure אפשרות להשתמש בחיבורים לא מאובטחים לשרת כשמשתמשים ב-SSL.
-o, --org String (חובה) ארגון Apigee. צריך להיות לכם תפקיד אדמין בארגון.
-r, --runtime String כתובת ה-URL הבסיסית של זמן הריצה של Apigee (נדרשת רק ל-hybrid או ל-opdk).
-v, --verbose (אופציונלי) מפיק פלט מפורט.

דוגמה

apigee-remote-service-cli token create -o myorg -e test -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 -s icTARgaKHqvUH1dq -c config.yaml

תשובה

אם הפעולה תצליח, יוצג אסימון JST שדומה לזה:
eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q

בדיקת טוקן JWT

אפשר לבדוק אסימון JWT באמצעות הפקודה הזו. אפשר לעיין גם במאמר בדיקת אסימון.

Usage

ב-Apigee Hybrid:
apigee-remote-service-cli token inspect -o [organization] -e [environment] -f [token_file] --runtime [host_alias]

פרמטרים

פרמטרים סוג תיאור
-c, --config String (חובה) הנתיב לקובץ התצורה של Apigee Remote Service. טיפ: כשמציינים את האפשרות הזו, אפשר להשמיט את רוב הפרמטרים האחרים של הפקודה. איך משתמשים באפשרות --config
-e, --env String (חובה) סביבה בארגון שלכם.
-h, --help הצגת עזרה לגבי פרמטרים של פקודות.
--insecure אפשרות להשתמש בחיבורים לא מאובטחים לשרת כשמשתמשים ב-SSL.
-o, --org String (חובה) ארגון Apigee. צריך להיות לכם תפקיד אדמין בארגון.
-r, --runtime String כתובת ה-URL הבסיסית של זמן הריצה של Apigee (נדרשת רק ל-hybrid או ל-opdk).
-v, --verbose (אופציונלי) מפיק פלט מפורט.

דוגמה

apigee-remote-service-cli token inspect -c config.yaml <<< $TOKEN

תשובה

אם הפעולה תצליח, הפלט ייראה כך:
{
	"aud": [
		"remote-service-client"
	],
	"exp": 1591741549,
	"iat": 1591740649,
	"iss": "https://apigee-docs-test.apigee.net/remote-service/token",
	"jti": "99325d2e-6440-4278-9f7f-b252a1a79e53",
	"nbf": 1591740649,
	"access_token": "VfzpXzBGAQ07po0bPMKY4JgQjus",
	"api_product_list": [
		"httpbin"
	],
	"application_name": "httpbin",
	"client_id": "GYDGHy5TRpV8AejXCOlreP7dPVepA8H",
	"developer_email": "user@example.com",
	"scope": ""
}
verifying...
token ok.

ביצוע רוטציה של טוקן JWT

בשלב מסוים אחרי שיוצרים JWT בפעם הראשונה, יכול להיות שתצטרכו לשנות את זוג המפתחות הציבוריים/הפרטיים שמאוחסן על ידי Apigee במפת מפתח/ערך (KVM) המוצפנת שלו. התהליך הזה של יצירת זוג מפתחות חדש נקרא רוטציית מפתחות. כשמבצעים רוטציה של מפתחות, נוצר זוג חדש של מפתחות פרטיים/ציבוריים והוא מאוחסן ב-KVM ‏istio בארגון או בסביבה שלכם ב-Apigee. בנוסף, המפתח הציבורי הישן נשמר יחד עם ערך מזהה המפתח המקורי שלו.

Usage

פרמטרים

פרמטרים סוג תיאור
-c, --config String (חובה) הנתיב לקובץ התצורה של Apigee Remote Service. טיפ: כשמציינים את האפשרות הזו, אפשר להשמיט את רוב הפרמטרים האחרים של הפקודה. איך משתמשים באפשרות --config
-e, --env String (חובה) סביבה בארגון שלכם.
-h, --help הצגת עזרה לגבי פרמטרים של פקודות.
--insecure אפשרות לחיבורים לא מאובטחים לשרתים כשמשתמשים ב-SSL
--truncate int מספר האישורים שיישארו ב-jwks (ברירת מחדל: 2)
-o, --org String (חובה) ארגון Apigee. צריך להיות לכם תפקיד אדמין בארגון.
-r, --runtime String כתובת ה-URL הבסיסית של זמן הריצה של Apigee (נדרשת ל-Hybrid או ל-OPDK).
-v, --verbose (אופציונלי) מפיק פלט מפורט.

דוגמה

apigee-remote-service-cli token rotate-cert -c config.yaml -o myorg -e test -k 2e238ffa15dc5ab6a1e97868e7581f6c60ddb8575478582c256d8b7e5b2677a8 -s 51058077223fa7b683c3bea845c5cca138340d1d5583922b6d465f9f918a4b08

תשובה

certificate successfully rotated

שימוש ב-‎ .netrc לפרטי כניסה

apigee-remote-service-cli מאחזר באופן אוטומטי את username ואת password (לאימות בסיסי כשצריך) מקובץ .netrc בספריית הבית, אם אתם משתמשים ב-Apigee ויש לכם רשומה למכונה api.enterprise.apigee.com. אם אתם משתמשים ב-Apigee Private Cloud, הערך של המכונה זהה לכתובת ה-URL של management (לדוגמה: http://192.162.55.100).

פקודת גרסה

מדפיסים את גרסת ה-CLI.

apigee-remote-service-cli version

שימוש באפשרות הפקודה --config

האפשרות --config מציינת את המיקום של קובץ התצורה שנוצר על ידי הפקודה provision. יתרון חשוב של האפשרות הזו הוא שאפשר לדלג על רוב הפרמטרים האחרים של הפקודה, כי ה-CLI שולף אותם מקובץ התצורה. האפשרויות האלה כוללות:
  • ארגון
  • environment
  • סביבת זמן ריצה
  • ניהול
  • לא מאובטח
  • מרחב שמות
  • מדור קודם
  • opdk

לדוגמה, אפשר להריץ את הפקודה provision כך:

apigee-remote-service-cli provision --config='old-config.yaml' > new-config.yaml

קובץ תצורה

בקטע הזה מוצגת דוגמה לקובץ תצורה עם כל האפשרויות הזמינות.

global:
  temp_dir: /tmp/apigee-istio
  keep_alive_max_connection_age: 10m
  api_address: :5000
  metrics_address: :5001
  tls:
    cert_file: tls.crt
    key_file: tls.key
tenant:
  internal_api: https://istioservices.apigee.net/edgemicro
  remote_service_api: https://org-test.apigee.net/remote-service
  org_name: org
  env_name: env
  key: mykey
  secret: mysecret
  client_timeout: 30s
  allow_unverified_ssl_cert: false
products:
  refresh_rate: 2m
analytics:
  legacy_endpoint: false
  file_limit: 1024
  send_channel_size: 10
  collection_interval: 10s
  fluentd_endpoint: apigee-udca-myorg-test.apigee.svc.cluster.local:20001
  tls:
    ca_file: /opt/apigee/tls/ca.crt
    cert_file: /opt/apigee/tls/tls.crt
    key_file: /opt/apigee/tls/tls.key
    allow_unverified_ssl_cert: false
auth:
  api_key_claim: claim
  api_key_cache_duration: 30m
  api_key_header: x-api-key
  api_target_header: :authority
  reject_unauthorized: true
  jwks_poll_interval: 0s