กำหนดค่า Apigee API Hub สำหรับตัวเชื่อมต่อ Private Cloud

ส่วนนี้จะอธิบายขั้นตอนการกำหนดค่าตัวเชื่อมต่อ Apigee API Hub สำหรับ Private Cloud ซึ่งรวมถึงการตั้งค่าเครือข่าย การตรวจสอบสิทธิ์ และการตั้งค่าเฉพาะองค์กร

สิทธิ์ที่จำเป็น

เราได้ผสานรวม API Hub API ใหม่กับตัวเชื่อมต่อ Apigee API Hub สำหรับ Private Cloud เพื่อจัดการการอัปโหลดสภาพแวดล้อมและชุดพร็อกซี ซึ่งต้องใช้บทบาท IAM ใหม่ นี่เป็นขั้นตอนแบบครั้งเดียวที่ต้องดำเนินการด้วยตนเองเพื่อมอบสิทธิ์ที่จำเป็น

หากต้องการให้สิทธิ์ที่ถูกต้อง ให้เรียกใช้คำสั่ง gcloud ต่อไปนี้ 1 ครั้ง

  gcloud projects add-iam-policy-binding GCP_PROJECT_NAME \
    --member="serviceAccount:SERVICE_ACCOUNT" \
    --role="roles/apihub.admin"

คำสั่งนี้จะเชื่อมโยงบทบาท roles/apihub.admin กับบัญชีบริการที่ระบุ ซึ่งจะช่วยให้ตัวเชื่อมต่อดำเนินการที่จำเป็นได้ ตรวจสอบว่าบัญชีบริการนี้เป็นบัญชีเดียวกับที่ใช้เมื่อสร้างอินสแตนซ์ปลั๊กอิน

การตั้งค่าเครือข่ายและการตรวจสอบสิทธิ์

  1. พอร์ตในรายการที่อนุญาต: เครื่องมือเชื่อมต่อ Apigee API Hub สำหรับ Private Cloud ต้องเชื่อมต่อกับเซิร์ฟเวอร์การจัดการเพื่อรับข้อมูลเมตาของ API ที่จำเป็น ดังนั้นเครื่องมือเชื่อมต่อต้องเข้าถึงพอร์ต 8080 และ 443 ของเซิร์ฟเวอร์การจัดการได้
  2. การตรวจสอบสิทธิ์ตามคีย์สำหรับบริการ Google Cloud Platform: ตัวเชื่อมต่อ Apigee API Hub สำหรับ Private Cloud จะสื่อสารกับบริการ Google Cloud และต้องใช้โทเค็นสำหรับการตรวจสอบสิทธิ์ ซึ่งทำได้โดยใช้คีย์บัญชีบริการเพื่อสร้างโทเค็นที่นำข้อมูลมาใช้

    • บัญชีบริการสำหรับการสร้างโทเค็น: สร้างบัญชีบริการใหม่ที่ใช้สำหรับการสร้างโทเค็นโดยเฉพาะ บัญชีบริการนี้ต้องมีบทบาท Token Creator
    • สร้างและดาวน์โหลดคีย์บัญชีบริการ:
      • ทำตามขั้นตอนในสร้างคีย์บัญชีบริการเพื่อสร้างคีย์ JSON สำหรับบัญชีบริการที่สร้างโทเค็น
      • ดาวน์โหลดไฟล์คีย์นี้ (เช่น ไปยัง /opt/apigee/keys/uapim.key ใน Apigee API Hub สำหรับ VM ของเครื่องมือเชื่อมต่อ Private Cloud)
    • ตั้งค่า GOOGLE_APPLICATION_CREDENTIALS: เมื่อเริ่มใช้ตัวเชื่อมต่อ Apigee API Hub สำหรับ Private Cloud คุณจะต้องระบุเส้นทางไปยังไฟล์นี้ผ่านตัวแปรสภาพแวดล้อม
      export $GOOGLE_APPLICATION_CREDENTIALS=/opt/apigee/keys/uapim.key
  3. การตรวจสอบสิทธิ์ Management API (UAPIM_MGMT_AUTH): ตัวเชื่อมต่อ Apigee API Hub สำหรับ Private Cloud ต้องใช้ข้อมูลเข้าสู่ระบบเพื่อเรียกใช้ Apigee Management API ใช้ผู้ใช้ที่เป็นเครื่องใน Apigee ไม่ใช่ผู้ใช้ที่เป็นบุคคล เพื่อความปลอดภัยและการทำงานอัตโนมัติ

    สร้างผู้ใช้เครื่องใน Apigee โดยทำดังนี้

    1. สร้างผู้ใช้
      • สร้างผู้ใช้เครื่อง (หรือผู้ใช้ระบบ) ในคอนโซล Apigee ดูข้อมูลเพิ่มเติมเกี่ยวกับผู้ใช้และบทบาทได้ที่นี่ Automate the token generation process
      • กำหนดอีเมล (เพื่อการระบุตัวตน) และชื่อที่สื่อความหมาย (เช่น uapim-connector-user)
    2. มอบหมายบทบาท: มอบหมายบทบาทต่อไปนี้ให้กับผู้ใช้เครื่อง
      • ผู้ดูแลระบบ Apigee API: บทบาทนี้ให้สิทธิ์เข้าถึง Management API ซึ่งช่วยให้ตัวเชื่อมต่อ Apigee API Hub สำหรับ Private Cloud โต้ตอบกับระบบการจัดการของ Apigee ได้ (เช่น เพื่อดึงข้อมูลเมตาหรือจัดการการกำหนดค่า API)

สร้างข้อมูลเข้าสู่ระบบที่เข้ารหัส Base64 โดยทำดังนี้

  1. สร้างคู่ชื่อผู้ใช้:รหัสผ่านสำหรับผู้ใช้เครื่อง
  2. เข้ารหัส Base64 ข้อมูลเข้าสู่ระบบ: echo -n 'username:password' | base64
  3. ตั้งค่าตัวแปรสภาพแวดล้อม $UAPIM_MGMT_AUTH ด้วยค่าที่เข้ารหัส Base64 ดังนี้
    export UAPIM_MGMT_AUTH=USERNAME_PASSWORD

    โดย USERNAME_PASSWORD คือค่าที่เข้ารหัส Base64 ของคู่ชื่อผู้ใช้และรหัสผ่าน

    โปรดตรวจสอบว่าได้ตั้งค่าตัวแปรสภาพแวดล้อมนี้ก่อนที่จะเริ่มใช้ตัวเชื่อมต่อ Apigee API Hub สำหรับ Private Cloud

กำหนดค่าตัวเชื่อมต่อ Apigee API Hub สำหรับ Private Cloud

เปิดไฟล์การกำหนดค่า /opt/apigee/customer/application/uapim-connector.properties เพื่อระบุองค์กร Apigee ที่ต้องอัปโหลดข้อมูลไปยัง API Hub คุณอาจมีอินสแตนซ์ปลั๊กอินหลายรายการหรืออินสแตนซ์ API Hub หลายรายการ

  conf_uapim.settings.json={\
    "connectorConfig" : { \
      "org1" : { \
        "runtimeDataPubsub" : "", \
        "metadataPubsub":"", \
        "serviceAccount": "mysa1@in.myfirstProject",\
        "pluginInstanceId":"aaaa" \
      },\
      "org2" : { \
        "runtimeDataPubsub" : "", \
        "metadataPubsub":"",\
        "serviceAccount": "mysa2@in.mySecondProject",\
        "pluginInstanceId":"bbbbb", \
      } 
    },
    "runtimeDataPath":"/the/nfs/mounted/path", \    
    "managementServer": "hostname"
  } 

คำอธิบาย JSON ของการตั้งค่า

  • ส่วน connectorConfig:
    • นี่คือแผนที่ที่แต่ละคีย์เป็นชื่อองค์กร Apigee (เช่น org1, org2)
    • รายการองค์กรแต่ละรายการจะมีช่องต่อไปนี้ ซึ่งคุณได้รับในขั้นตอนการสร้างปลั๊กอิน
      • runtimeDataPubsub: หัวข้อ Pub/Sub สำหรับข้อมูลรันไทม์ (ข้อมูลวิเคราะห์) ขององค์กรนี้
      • metadataPubsub: หัวข้อ Pub/Sub สำหรับข้อมูลเมตาของ API สำหรับองค์กรนี้
      • serviceAccount: บัญชีบริการ (เช่น mysa1@in.myfirstProject.iam.gserviceaccount.com) ที่ใช้เพื่อตรวจสอบสิทธิ์สำหรับการเขียนข้อมูลไปยัง Pub/Sub สำหรับองค์กรนี้
      • pluginInstanceId: รหัสอินสแตนซ์ที่ไม่ซ้ำกันของปลั๊กอินที่เชื่อมโยงกับองค์กรนี้
  • ส่วน runtimeDataPath: ระบุเส้นทางไปยังการติดตั้ง NFS ที่โปรแกรมประมวลผลข้อความจะเขียนข้อมูล Analytics (AX) ซึ่งต้องเป็นเส้นทางเดียวกันกับที่กำหนดค่าไว้ในเครื่องมือประมวลผลข้อความ
  • ส่วน managementServer: ชื่อโฮสต์หรือที่อยู่ IP ของ URL เซิร์ฟเวอร์การจัดการ Apigee
  • ตัวแปรสภาพแวดล้อม UAPIM_MGMT_AUTH: ตัวแปรสภาพแวดล้อมนี้ซึ่งตั้งค่าภายนอกมี username:password ที่เข้ารหัส base64 เพื่อเข้าถึงเซิร์ฟเวอร์การจัดการ

เพิ่มการกำหนดค่าพร็อกซีแบบส่งต่อ

เพิ่มการกำหนดค่าพร็อกซีส่งต่อในไฟล์เดียวกัน /opt/apigee/customer/application/uapim-connector.properties

  1. conf_http_client_service_jetty.proxy.enabled=true
  2. conf_http_client_service_jetty.proxy.host=
  3. conf_http_client_service_jetty.proxy.port=
  4. conf_http_client_service_jetty.proxy.user=
  5. conf_http_client_service_jetty.proxy.password=

เครื่องมือเชื่อมต่อต้องเชื่อมต่อกับแหล่งข้อมูลภายนอกต่อไปนี้เพื่อให้ทำงานได้อย่างถูกต้อง

  • pubsub.googleapis.com:443
  • oauth2.googleapis.com:443
  • iamcredentials.googleapis.com:443

ในกรณีที่ตัวเชื่อมต่อไม่ได้รับอนุญาตให้เชื่อมต่อกับแหล่งข้อมูลภายนอกโดยตรง แต่ต้องผ่านพร็อกซีแบบส่งต่อ ผู้ใช้จะต้องระบุการกำหนดค่าพร็อกซีแบบส่งต่อผ่านการกำหนดค่าด้านล่าง และตรวจสอบว่าแหล่งข้อมูลภายนอกที่ระบุไว้ข้างต้นอยู่ในรายการที่อนุญาต

เริ่มต้นใช้งาน Apigee API Hub สำหรับตัวเชื่อมต่อ Private Cloud

เมื่อตั้งค่าทั้งหมดแล้ว ให้เริ่มตัวเชื่อมต่อ Apigee API Hub สำหรับ Private Cloud โดยใช้คำสั่งบริการ Apigee ดังนี้

apigee-service edge-uapim-connector start