Topik ini menjelaskan cara mengonfigurasi akun layanan MART.
Menambahkan akun layanan MART
MART dan Apigee Connect memerlukan akun layanan Google Cloud untuk autentikasi.
Temukan file kunci untuk akun layanan apigee-mart.
File harus memiliki ekstensi .json. File ini harus berada di direktori apigee-org atau subdirektori.
Penginstalan PROD: apigee-mart.json
Penginstalan NON-PROD: apigee-non-prod.json
Jika Anda tidak melihat file akun layanan MART, buat dan download dengan utilitas create-service-account:
Pastikan variabel lingkungan PROJECT_ID Anda telah ditetapkan:
echo $PROJECT_ID
Tentukan jika diperlukan:
export PROJECT_ID=my-project-id
Buat akun layanan MART. Anda dapat menemukan alat create-service-account di:
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-21 UTC."],[[["\u003cp\u003eMART and Apigee Connect require a Google Cloud service account for authentication, except when using workload identity on AKS, EKS, or GKE.\u003c/p\u003e\n"],["\u003cp\u003eThe MART service account key file, named \u003ccode\u003eapigee-mart.json\u003c/code\u003e for PROD and \u003ccode\u003eapigee-non-prod.json\u003c/code\u003e for NON-PROD, should be located in the \u003ccode\u003eapigee-org\u003c/code\u003e directory or a subdirectory.\u003c/p\u003e\n"],["\u003cp\u003eIf the MART service account file is missing, you can create and download it using the \u003ccode\u003ecreate-service-account\u003c/code\u003e utility, which requires setting the \u003ccode\u003ePROJECT_ID\u003c/code\u003e environment variable.\u003c/p\u003e\n"],["\u003cp\u003eThe file path to the service account key file must be added to the \u003ccode\u003econnectAgent\u003c/code\u003e and \u003ccode\u003emart.serviceAccountPath\u003c/code\u003e properties in the \u003ccode\u003eoverrides.yaml\u003c/code\u003e file.\u003c/p\u003e\n"],["\u003cp\u003eAfter updating the \u003ccode\u003eoverrides.yaml\u003c/code\u003e file with the service account path, you must apply the changes using a \u003ccode\u003ehelm upgrade\u003c/code\u003e command.\u003c/p\u003e\n"]]],[],null,["# Configure the MART service account\n\n| You are currently viewing version 1.12 of the Apigee hybrid documentation. **This version is end of life.** You should upgrade to a newer version. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\n\nThis topic explains how to configure the MART service account.\n\nAdding the MART service account\n-------------------------------\n\n\nMART and Apigee Connect require a Google Cloud service account for authentication.\n| **Note:** Installations on AKS, EKS, or GKE using workload identity do not require a Google Cloud service account key file (`.json`). See [Enabling Workload Identity on GKE](/apigee/docs/hybrid/v1.12/enable-workload-identity-gke) and [Enabling Workload Identity Federation on AKS and EKS](/apigee/docs/hybrid/v1.12/enable-workload-identity-federated).\n\n1. Locate the key file for the `apigee-mart` service account. The file should have a `.json` extension. It should reside in the `apigee-org` directory or a subdirectory.\n - **PROD** installations: `apigee-mart.json`\n - **NON-PROD** installations: `apigee-non-prod.json`\n2. If you do not see the MART service account file, create and download it with the `create-service-account` utility:\n 1. Make sure your `PROJECT_ID` environment variable is set: \n\n ```\n echo $PROJECT_ID\n ```\n\n Define it if needed: \n\n ```\n export PROJECT_ID=my-project-id\n ```\n 2. Create the MART service account. You can find the `create-service-account` tool in: \n\n ```\n APIGEE_HELM_CHARTS_HOME/\n └── apigee-operator/\n └── etc/\n └── tools/\n └── create-service-account\n ```\n\n ### PROD\n\n ```\n create-service-account \\\n --env prod \\\n --profile apigee-mart \\\n --dir PATH_TO_apigee-org_CHART_DIR\n ```\n\n ### NON-PROD\n\n ```\n $HYBRID_FILES/tools/create-service-account \\\n --env non-prod \\\n --profile apigee-mart \\\n --dir PATH_TO_apigee-org_CHART_DIR/\n ```\n3. Edit your `overrides.yaml` file and add the key file path to the `connectAgent` and `mart.serviceAccountPath` properties:\n\n ### PROD\n\n ```actionscript-3\n connectAgent:\n serviceAccountPath: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003epath_to_apigee\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003emart\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e.\u003c/span\u003e\u003cspan class=\"devsite-syntax-na\"\u003ejson\u003c/span\u003e\u003c/var\u003e\n\n mart:\n serviceAccountPath: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003epath_to_apigee\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003emart\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e.\u003c/span\u003e\u003cspan class=\"devsite-syntax-na\"\u003ejson\u003c/span\u003e\u003c/var\u003e\n ```\n\n ### NON-PROD\n\n ```actionscript-3\n connectAgent:\n serviceAccountPath: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003epath_to_apigee\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003enon\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003eprod\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e.\u003c/span\u003e\u003cspan class=\"devsite-syntax-na\"\u003ejson\u003c/span\u003e\u003c/var\u003e\n\n mart:\n serviceAccountPath: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003epath_to_apigee\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003enon\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003eprod\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e.\u003c/span\u003e\u003cspan class=\"devsite-syntax-na\"\u003ejson\u003c/span\u003e\u003c/var\u003e\n ```\n\n\n For example: \n\n ```\n ...\n connectAgent:\n serviceAccountPath: /apigee/hybrid/helm-charts/apigee-org/apigee-mart.json\n\n mart:\n serviceAccountPath: /apigee/hybrid/helm-charts/apigee-org/apigee-mart.json\n ...\n ```\n4. Apply your changes: \n\n ```\n helm upgrade ORG_NAME apigee-org/ \\\n --namespace apigee \\\n --atomic \\\n -f OVERRIDES_FILE.yaml\n ```\n | **Note:** If you see an error saying `Error: UPGRADE FAILED: \"`*ORG_NAME*`\" has no deployed releases`, replace `upgrade` with `install` and try the command again."]]