Skip to main content
Connect your services to external cloud resources like AWS IAM roles, Azure managed identities, Google Cloud SQL instances, and persistent disks.

Connection Types


AWS Role Connection

Attach an IAM role to your service for secure AWS API access without managing credentials.

Field Reference

Example


Azure Managed Identity Connection

Bind a User Assigned Managed Identity (UAMI) to your service for secure Azure API access without managing credentials. Porter uses Azure Workload Identity to federate the service’s Kubernetes service account with the UAMI, so your application can authenticate to Azure resources using DefaultAzureCredential (or any credential type that supports workload identity).
This feature is only available on AKS clusters created through Porter and must be enabled at the project level. Reach out to Porter support if you don’t see it available on your project.

Prerequisites

Before adding this connection to your service, you must:
  1. Have a User Assigned Managed Identity provisioned in your Azure subscription. Porter does not create the UAMI for you — provision it via the Azure Portal, Terraform, or the Azure CLI.
  2. Grant the UAMI the Azure RBAC role assignments it needs to access the resources your service will call (e.g. Storage Blob Data Reader on a storage account).
When your service deploys, Porter creates a federated identity credential on the UAMI that maps your service’s Kubernetes service account to the identity. At runtime, the pod receives a projected OIDC token that Azure exchanges for an access token scoped to the UAMI.

Field Reference

Example

This connection grants your service every permission assigned to the UAMI in Azure. Scope role assignments narrowly — a UAMI with subscription-level Owner is rarely what you want.
Only one azureManagedIdentity connection is permitted per service. If you need to access resources across multiple identities, consolidate role assignments onto a single UAMI.

GCP Service Account Connection

Bind a GCP IAM service account to your service for secure GCP API access without managing service account key files. Your application can authenticate to GCP resources using Application Default Credentials, and Porter handles the identity binding for your service.

Prerequisites

Before adding this connection to your service, you must:
  1. Have a GCP IAM service account provisioned in the same GCP project as your Porter infrastructure. Porter does not create the IAM service account for you — provision it via the Google Cloud Console, Terraform, or the gcloud CLI.
  2. Grant the IAM service account the GCP IAM roles it needs to access the resources your service will call (e.g. roles/storage.objectViewer on a storage bucket).
When your service deploys, Porter configures the required IAM binding so the service can receive short-lived credentials scoped to the IAM service account.

Field Reference

Example

This connection grants your service every permission assigned to the IAM service account in GCP. Scope IAM role bindings narrowly — a service account with project-level roles/owner is rarely what you want.
Only one gcpServiceAccount connection is permitted per service. If you need to access resources across multiple service accounts, consolidate IAM role bindings onto a single service account.

Cloud SQL Connection (GCP)

Connect to Google Cloud SQL instances using the Cloud SQL Auth Proxy for secure database access.
Your GCP Service account must be configured in the Connections tab of your cluster settings before it can be used in porter.yaml.

Field Reference

Example

The connection name follows the format project-id:region:instance-name. You can find this in the Google Cloud Console under your Cloud SQL instance details.

Persistent Disk Connection

Attach persistent storage to your service for data that needs to survive pod restarts.
Your persistent disk must be created in the Add-Ons tab of Porter before it can be used in porter.yaml.

Field Reference

Example

Persistent disks are tied to specific availability zones. Services using persistent disks cannot be scheduled across multiple zones.

Multiple Connections

You can attach multiple connections to a single service (but only one of each type of connection):