חומרי עזר

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

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

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

פקודות לכריכה

איגוד מקשר בין שירות שנפרס ב-Istio mesh לבין מוצר Apigee API. ה-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 מתקינה שרת proxy בארגון 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 ‏(Key-Value Map) ‏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