پیکربندی Apigee API Hub برای اتصال‌دهنده «ابر خصوصی»

این بخش مراحل پیکربندی اتصال‌دهنده Apigee API Hub for Private Cloud را، ازجمله تنظیمات شبکه، اصالت‌سنجی، و تنظیمات ویژه سازمان، شرح می‌دهد.

مجوزهای لازم

میانای برنامه‌سازی کاربردی جدیدی به نام «میانای برنامه‌سازی کاربردی مرکز میانای برنامه‌سازی کاربردی» با رابط «مرکز میانای برنامه‌سازی کاربردی Apigee برای ابر خصوصی» ادغام شده است تا بارگذاری محیط‌ها و بسته‌های پراکسی را مدیریت کند که به نقش جدید IAM نیاز دارد. این یک مرحله دستی و یک‌باره برای اعطای اجازه‌های لازم است.

برای اعطای اجازه‌های صحیح، فرمان gcloud زیر را یک‌بار اجرا کنید:

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

این فرمان نقش roles/apihub.admin را به حساب سرویس مشخص‌شده پیوند می‌دهد و به اتصال‌دهنده اجازه می‌دهد کنش‌های موردنیاز را انجام دهد. مطمئن شوید که این حساب سرویس همان حسابی است که هنگام ایجاد نمونه افزایه استفاده شده است.

راه‌اندازی شبکه و اصالت‌سنجی

  1. فهرست مجاز درگاه‌ها: اتصال‌دهنده «مرکز API برای Apigee در Cloud خصوصی» باید به سرور مدیریت متصل شود تا «فراداده API» موردنیاز را دریافت کند، بنابراین درگاه‌های سرور مدیریت (۸۰۸۰ و ۴۴۳) باید ازطریق اتصال‌دهنده دردسترس باشند.
  2. اصالت‌سنجی مبتنی بر کلید برای سرویس‌های Google Cloud Platform: اتصال‌دهنده Apigee API Hub for Private Cloud با سرویس‌های Google Cloud ارتباط برقرار می‌کند و برای اصالت‌سنجی به کد نیاز دارد. این کار بااستفاده از کلید حساب سرویس برای ایجاد کدهای جعل هویت انجام می‌شود.

    • حساب خدمات برای تولید رمز: حساب خدمات جدیدی ایجاد کنید که به تولید رمز اختصاص داده شده باشد. این حساب سرویس باید نقش Token Creator را داشته باشد.
    • تولید و بارگیری کلید حساب سرویس:
      • برای تولید کلید JSON برای حساب خدمات تولیدکننده کد، مراحل ایجاد کلید حساب خدمات را دنبال کنید.
      • این فایل کلید را بارگیری کنید (برای مثال، در /opt/apigee/keys/uapim.key در Apigee API Hub برای ماشین مجازی اتصال‌دهنده «ابر خصوصی»).
    • تنظیم GOOGLE_APPLICATION_CREDENTIALS: هنگام شروع اتصال‌دهنده Apigee API Hub for Private Cloud، باید مسیر این فایل را ازطریق متغیر محیطی ارائه دهید:
      export $GOOGLE_APPLICATION_CREDENTIALS=/opt/apigee/keys/uapim.key
  3. اصالت‌سنجی «میانای برنامه‌سازی کاربردی مدیریت» (UAPIM_MGMT_AUTH): اتصال‌دهنده «مرکز API Apigee برای ابر خصوصی» برای فراخواندن «میانای برنامه‌سازی کاربردی مدیریت Apigee» به اطلاعات اعتباری نیاز دارد. برای امنیت و خودکارسازی، از کاربر ماشین در Apigee استفاده کنید، نه کاربر انسانی.

    ایجاد کاربر ماشین در Apigee:

    1. ایجاد کاربر:
      • در کنسول Apigee، کاربر ماشین (یا کاربر سیستم) ایجاد کنید. در اینجا درباره کاربران و نقش‌ها بیشتر بدانید فرایند تولید کد را خودکارسازی کنید.
      • ایمیل (برای شناسایی) و نام توصیفی (برای نمونه، uapim-connector-user) اختصاص دهید.
    2. اختصاص دادن نقش‌ها: نقش زیر را به کاربر ماشین اختصاص دهید:
      • سرپرست Apigee API: این نقش دسترسی به مدیریت API را فراهم می‌کند و به رابط Apigee API Hub for 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 مقدار کدبندی‌شده ۶۴پایه‌ای جفت نام کاربری و گذرواژه است.

    مطمئن شوید که این متغیر محیطی قبل‌از شروع اتصال‌دهنده Apigee API Hub for Private Cloud تنظیم شده است.

پیکربندی Apigee API Hub برای اتصال‌دهنده «ابر خصوصی»

برای مشخص کردن سازمان‌های Apigee که داده‌های آن‌ها باید در API Hub بارگذاری شود، فایل پیکربندی /opt/apigee/customer/application/uapim-connector.properties را باز کنید. ممکن است چندین نمونه افزایه یا چندین نمونه «مرکز API» داشته باشید.

  conf_uapim_connector.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 برای داده‌های زمان اجرا (Analytics) برای این سازمان.
      • ‫metadataPubsub: موضوع Pub/Sub برای فراداده API این سازمان.
      • serviceAccount: حساب خدماتی (برای نمونه، mysa1@in.myfirstProject.iam.gserviceaccount.com) که برای اصالت‌سنجی نوشتن داده‌ها در Pub/Sub برای این سازمان استفاده می‌شود.
      • pluginInstanceId: شناسه نمونه یکتای افزایه مرتبط با این سازمان.
  • بخش runtimeDataPath: مسیر نصب NFS را که در آن داده‌های Analytics (AX) توسط پردازشگرهای پیام نوشته می‌شود ارائه دهید. این مسیر باید همان مسیری باشد که در پردازشگرهای پیام پیکربندی شده است.
  • بخش managementServer: نام میزبان یا نشانی IP نشانی وب سرور مدیریت 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 برای «اتصال‌دهنده ابر خصوصی»

پس‌از تنظیم همه پیکربندی‌ها، اتصال‌دهنده Apigee API Hub for Private Cloud را بااستفاده از دستور سرویس Apigee شروع کنید:

apigee-service edge-uapim-connector start