diff --git a/app/cdap/components/NamespaceAdmin/ServiceAccounts/EditConfirmDialog.tsx b/app/cdap/components/NamespaceAdmin/ServiceAccounts/EditConfirmDialog.tsx index 311e148eefd..d7b8642e8d8 100644 --- a/app/cdap/components/NamespaceAdmin/ServiceAccounts/EditConfirmDialog.tsx +++ b/app/cdap/components/NamespaceAdmin/ServiceAccounts/EditConfirmDialog.tsx @@ -63,13 +63,13 @@ const StyledTextField = styled(TextField)` * @return string, the gcloud cli command to run */ const getGcloudCommand = ({ - tenantProjectId = '${TENANT_PROJECT_ID}', + k8sWorkloadIdentityPool = '${TENANT_PROJECT_ID}.svc.id.goog', identity = '${IDENTITY}', gsaEmail = '${GSA_EMAIL}', gsaProjectId = '${GSA_PROJECT_ID}', k8snamespace = 'default', }): string => - `gcloud iam service-accounts add-iam-policy-binding --role roles/iam.workloadIdentityUser --member "serviceAccount:${tenantProjectId}.svc.id.goog[${k8snamespace}/${identity}]" ${gsaEmail} --project ${gsaProjectId}`; + `gcloud iam service-accounts add-iam-policy-binding --role roles/iam.workloadIdentityUser --member "serviceAccount:${k8sWorkloadIdentityPool}[${k8snamespace}/${identity}]" ${gsaEmail} --project ${gsaProjectId}`; export const EditConfirmDialog = ({ selectedServiceAcccount, @@ -79,6 +79,7 @@ export const EditConfirmDialog = ({ k8snamespace, }: IEditConfirmDialogProps) => { const namespacedCreationHookEnabled = window.CDAP_CONFIG.cdap.namespaceCreationHookEnabled; + const k8sWorkloadIdentityPool = window.CDAP_CONFIG.cdap.k8sWorkloadIdentityPool; const [serviceAccountInputValue, setServiceAccountInputValue] = useState( selectedServiceAcccount ); @@ -94,6 +95,7 @@ export const EditConfirmDialog = ({ identity: namespaceIdentity || undefined, gsaEmail: serviceAccountInputValue || undefined, k8snamespace: (namespacedCreationHookEnabled && k8snamespace) || undefined, + k8sWorkloadIdentityPool: k8sWorkloadIdentityPool || undefined, }; const copyableExtendedMessage = diff --git a/server/express.js b/server/express.js index da70316e5c0..2079d65e7a2 100644 --- a/server/express.js +++ b/server/express.js @@ -241,6 +241,7 @@ function makeApp(authAddress, cdapConfig, uiSettings) { maxRecordsPreview: cdapConfig['preview.max.num.records'], ui: uiSettings['ui'], k8sWorkloadIdentityEnabled: cdapConfig['master.environment.k8s.workload.identity.enabled'], + k8sWorkloadIdentityPool:cdapConfig['credential.provider.system.properties.gcp-wi-credential-provider.k8s.workload.identity.pool'], namespaceCreationHookEnabled: cdapConfig['namespaces.creation.hook.enabled'], hstsEnabled: cdapConfig['hsts.enabled'], hstsMaxAge: cdapConfig['hsts.max.age'],