הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
ממשק שורת הפקודה (CLI) של apigee-remote-service-cli עוזר לכם להקצות ולנהל את Apigee Adapter ל-Envoy.
פקודות לקישור
איגוד מקשר בין שירות שנפרס ב-Istio mesh לבין מוצר API של Apigee. ה-CLI מאפשר ליצור, להסיר, להציג ולאמת קישורים.
הצגת רשימת ההתאמות
מפרטים את כל מוצרי ה-API שמקושרים לשירות המרוחק.
Usage
ב-Apigee Hybrid:
apigee-remote-service-cli bindings list -o [organization] -e [environment] -t [token] -r [runtime]
פרמטרים
| פרמטרים | סוג | תיאור |
|---|---|---|
-c, --config
|
String | (חובה) הנתיב לקובץ התצורה של Apigee Remote Service. הערה: הדגל הזה מאפשר להשמיט את רוב הפרמטרים האחרים של הפקודה, כי ה-CLI יכול לשלוף אותם ישירות מקובץ התצורה. איך משתמשים באפשרות --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 שכוללת את hostAlias עבור מארח וירטואלי שהוגדר בהגדרה ההיברידית. כתובת ה-URL חייבת להתחיל ב-https://.
לדוגמה: https://apitest.apigee-hybrid-docs.net
|
-t, --token
|
String | (חובה) טוקן גישה. |
-u, --username
|
String | (נדרש רק לאימות בסיסי – לא זמין לשימוש היברידי) שם המשתמש שלכם ב-Apigee (בדרך כלל כתובת אימייל).
אפשר גם לציין את שם המשתמש בקובץ .netrc. אם תעשו זאת, לא תצטרכו לספק את שם המשתמש בשורת הפקודה. אפשר גם לעיין במאמר בנושא שימוש ב- .netrc לפרטי כניסה.
|
-v, --verbose
|
(אופציונלי) יוצר פלט מפורט. |
דוגמה
apigee-remote-service-cli bindings list -o myorg -e test -c config.yaml \
-r $RUNTIME -t $TOKEN
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:
אימות של קישור
הפקודה הזו הוצאה משימוש. בגרסה 1.4, אפליקציות למפתחים כבר לא דורשות שיוך למוצרי API שמשמשים עם יעדי שירות מרוחקים.
פקודת עזרה
עזרה אונליין זמינה לכל הפקודות של 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
ב-Apigee Hybrid:
apigee-remote-service-cli provision -o $ORG -e $ENV -r $RUNTIME -t $TOKEN
פרמטרים
| פרמטרים | סוג | תיאור |
|---|---|---|
--analytics-sa
|
String | משתמשים בדגל הזה כדי לציין את הנתיב לקובץ המפתח של חשבון שירות ב-Google Cloud, שבו לחשבון השירות יש את התפקיד Apigee Analytics Agent. ה-SA משמש את המתאם להעלאה ישירה של נתוני ניתוח ל-Apigee. אם אתם משתמשים ב-Apigee Hybrid,
האפשרות הזו מאפשרת לכם להתקין את זמן הריצה של Hybrid באשכול אחד ואת המתאם
באשכול אחר. הדגל הזה זמין רק בהתקנות של Apigee Hybrid ו-Apigee ב-Google Cloud.
|
-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 במרחב השמות שצוין. ברירת מחדל: apigee |
--opdk
|
String | מגדירים את הדגל הזה אם משתמשים ב-Apigee לענן פרטי. |
-o, --organization
|
String | (חובה) הארגון שלכם ב-Apigee. |
-p, --password
|
String | (נדרש רק לאימות בסיסי – לא זמין לשיטה היברידית) הסיסמה שלכם ב-Apigee. אפשר גם לציין את הסיסמה בקובץ .netrc. אם תעשו את זה, לא תצטרכו להזין את הסיסמה בשורת הפקודה. מידע נוסף זמין במאמר בנושא שימוש בקובץ .netrc לפרטי כניסה.
|
--rotate-int
|
int | אם n > 0, המערכת יוצרת מפתח פרטי חדש ושומרת n מפתחות ציבוריים (רק בהצפנה היברידית) |
-r, --runtime
|
String | כתובת URL שכוללת את hostAlias עבור מארח וירטואלי שהוגדר בהגדרה ההיברידית. כתובת ה-URL חייבת להתחיל ב-https://.
לדוגמה: https://apitest.apigee-hybrid-docs.net
|
-s, --secret
|
String | מציינים את הסוד שמוחזר מהפקודה apigee-remote-service-cli provision.
|
--strength
|
int | (אופציונלי) מציינים את עוצמת ההצפנה לאישורי SSL שמשמשים להקצאת המתאם. ברירת מחדל 2048 |
-t, --token
|
String | טוקן 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
הפקודה Samples
יצירת קובץ תצורה לדוגמה
יוצר קובצי תצורה לדוגמה לפריסות של Envoy או Istio מקוריים.
Usage
apigee-remote-service-cli samples create [flags]
תיאור
הפקודה דורשת קובץ config.yaml תקין שנוצר באמצעות הקצאת הרשאות.
כברירת מחדל, קובצי הדוגמה מועברים לספרייה בשם ./samples. הפקודה
יוצרת את הספרייה הזו בשבילכם.
אם משתמשים ב-Envoy מקורי, הפקודה מקבלת את מארח שירות היעד ואת השם הרצוי לאשכול שלו. היא גם מגדירה חיבור SSL בהתאמה אישית מ-Envoy proxy לאשכול של שירות מרוחק, אם מסופקת תיקייה שמכילה את tls.key ו-tls.crt דרך --tls.
אם משתמשים ב-Istio, שבו שרת ה-Proxy של Envoy פועל כ-sidecar, ואם היעד לא צוין, ייווצר לדוגמה httpbin. אחרת, אתם אחראים להכנת קובצי התצורה שקשורים לפריסה של שירותי היעד.
פרמטרים
| פרמטרים | סוג | תיאור |
|---|---|---|
-c, --config
|
String | (חובה) הנתיב לקובץ התצורה של Apigee Remote Service. הערה: הדגל הזה מאפשר להשמיט את רוב הפרמטרים האחרים של הפקודה, כי ה-CLI יכול לשלוף אותם ישירות מקובץ התצורה. איך משתמשים באפשרות --config
|
-f, --force
|
כופה החלפה של הספרייה הקיימת. | |
-h, --help
|
הצגת עזרה לגבי פרמטרים של פקודות. | |
--host
|
מארח שירות היעד (ברירת המחדל היא httpbin.org) | |
-n, --name
|
שם שירות היעד (ברירת המחדל היא httpbin) | |
--out
|
הספרייה שבה ייצרו קובצי ההגדרות לדוגמה. ברירת מחדל: ./samples
|
|
-t, --template
|
שם התבנית. אם אתם מבצעים פריסה של Istio (היברידית בלבד), בוחרים באחת מהאפשרויות הזמינות של Istio. משתמשים באפשרות המקורית להטמעות מקוריות של Envoy. האפשרויות הזמינות הן:
|
|
--tls
|
הספרייה שבה יישמרו קובצי המפתח וה-crt של TLS. |
דוגמה
apigee-remote-service-cli samples create -c ./config.yaml
הצגת אפשרויות התבניות הזמינות
רשימת האפשרויות שזמינות לשימוש עם הפרמטר --templates.
Usage
apigee-remote-service-cli samples templates
פרמטרים
אין.
דוגמה
apigee-remote-service-cli samples templates
Supported templates (native is deprecated): envoy-1.14 envoy-1.15 envoy-1.16 istio-1.5 istio-1.6 istio-1.7 istio-1.8 native
פקודות טוקן
אתם יכולים להשתמש באסימון 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. הערה: הדגל הזה מאפשר להשמיט את רוב הפרמטרים האחרים של הפקודה, כי ה-CLI יכול לשלוף אותם ישירות מקובץ התצורה. איך משתמשים באפשרות --config
|
-e, --env
|
String | (חובה) סביבה בארגון שלכם. |
-h, --help
|
הצגת עזרה לגבי פרמטרים של פקודות. | |
--insecure
|
אפשרות להשתמש בחיבורים לא מאובטחים לשרת כשמשתמשים ב-SSL. | |
-o, --org
|
String | (חובה) ארגון Apigee. צריך להיות לכם תפקיד אדמין בארגון. |
-r, --runtime
|
String | כתובת URL שכוללת את hostAlias עבור מארח וירטואלי שהוגדר בהגדרה ההיברידית. כתובת ה-URL חייבת להתחיל ב-https://.
לדוגמה: https://apitest.apigee-hybrid-docs.net
|
-v, --verbose
|
(אופציונלי) יוצר פלט מפורט. |
דוגמה
./apigee-remote-service-cli token create -o $ORG -e $ENV -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 \ -s icTARgaKHqvUH1dq -c config.yaml -r $RUNTIME -t $TOKEN
תשובה
אם הפעולה תצליח, יוצג אסימון 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. הערה: הדגל הזה מאפשר להשמיט את רוב הפרמטרים האחרים של הפקודה, כי ה-CLI יכול לשלוף אותם ישירות מקובץ התצורה. איך משתמשים באפשרות --config
|
-e, --env
|
String | (חובה) סביבה בארגון שלכם. |
-h, --help
|
הצגת עזרה לגבי פרמטרים של פקודות. | |
--insecure
|
אפשרות להשתמש בחיבורים לא מאובטחים לשרת כשמשתמשים ב-SSL. | |
-o, --org
|
String | (חובה) ארגון Apigee. צריך להיות לכם תפקיד אדמין בארגון. |
-r, --runtime
|
String | כתובת URL שכוללת את hostAlias עבור מארח וירטואלי שהוגדר בהגדרה ההיברידית. כתובת ה-URL חייבת להתחיל ב-https://.
לדוגמה: https://apitest.apigee-hybrid-docs.net
|
-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
ב-Apigee Hybrid
apigee-remote-service-cli token rotate-cert -o [organization] -e [environment] -t [token] -r [runtime] -k [provision_key] -s [provision_secret] --kid [new_key_id]
פרמטרים
| פרמטרים | סוג | תיאור |
|---|---|---|
-c, --config
|
String | (חובה) הנתיב לקובץ התצורה של Apigee Remote Service. הערה: הדגל הזה מאפשר להשמיט את רוב הפרמטרים האחרים של הפקודה, כי ה-CLI יכול לשלוף אותם ישירות מקובץ התצורה. איך משתמשים באפשרות --config
|
-e, --env
|
String | (חובה) סביבה בארגון שלכם. |
-h, --help
|
הצגת עזרה לגבי פרמטרים של פקודות. | |
--insecure
|
אפשרות לחיבורים לא מאובטחים לשרתים כשמשתמשים ב-SSL | |
--truncate
|
int | מספר האישורים שיישארו ב-jwks (ברירת מחדל: 2) |
-o, --org
|
String | (חובה) ארגון Apigee. צריך להיות לכם תפקיד אדמין בארגון. |
-r, --runtime
|
String | כתובת URL שכוללת את hostAlias עבור מארח וירטואלי שהוגדר בהגדרה ההיברידית. כתובת ה-URL חייבת להתחיל ב-https://.
לדוגמה: https://apitest.apigee-hybrid-docs.net
|
-v, --verbose
|
(אופציונלי) יוצר פלט מפורט. |
דוגמה
./apigee-remote-service-cli token create -o $ORG -e $ENV -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 \ -s icTARgaKHqvUH1dq -c config.yaml -r $RUNTIME -t $TOKEN
תשובה
certificate successfully rotated
שימוש ב- .netrc לפרטי כניסה
apigee-remote-service-cli מאחזר באופן אוטומטי את username ואת password (לאימות בסיסי כשצריך) מקובץ .netrc בספריית הבית, אם אתם משתמשים ב-Edge Public Cloud ויש לכם רשומה למכונה api.enterprise.apigee.com. אם אתם משתמשים ב-Apigee Private Cloud, ערך המכונה זהה לכתובת ה-URL של management (לדוגמה: http://192.162.55.100).
לדוגמה ב-Edge Public Cloud:
machine api.enterprise.apigee.com login jdoe@google.com password abc123
machine http://192.162.55.100 login jdoe@google.com password abc123
פקודת גרסה
מדפיסים את גרסת ה-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: 1m
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
jwt_provider_key: https://org-test.apigee.net/remote-service/token