Skip to main content

Overview

Identity (also known as a workload identity) is one of the four Control Plane principal types (users, service accounts, groups, and identities). A workload needing to consume cloud resources from one or more cloud providers (e.g., AWS, Azure, and GCP) without storing credentials or needing to communicate to endpoints within a private network - must be assigned an identity. An identity is a named object that allows an authorized administrator to define:

Cloud Provider Access (Universal Cloud Identity)

  • Least-privilege access rules allowed on cloud resources across cloud providers. Each identity can reference only one cloud account per provider. For example, you can have one account in Azure and one account in GCP, but not two different accounts in GCP within the same identity. You define access policies granted to the identity for each cloud provider you need to use (one, two, or all three clouds, depending on your workload requirements).

Private Network Access (Cloud Wormhole)

  • Network traversal rules from workloads into specific endpoints in private networks (e.g., a VPC). These rules connect an agent in a private network to the Control Plane infrastructure, allowing workloads to selectively access TCP endpoints inside private networks where agents are installed and running.

Native Cloud Network Access

  • Provides secure, private connectivity from a workload to cloud-hosted services across AWS (vpc endpoints) and GCP (private service connect) without traversing the public internet. It leverages cloud provider-specific private networking services to route traffic over internal infrastructure. This enables low-latency, secure communication to private resources while maintaining strict network isolation and identity-based access control.
An identity is scoped to a GVC and can be assigned to multiple workloads within the same GVC that needs the same cloud resources and network access. Identities cannot be shared across GVCs. Different GVCs can have identities with the same name; they are independent resources. A workload can be assigned exactly one identity. An identity is only required when a workload needs to consume cloud resources without embedding credentials and/or when a workload needs to consume resources in a private network such as a VPC. If neither is required, a workload can operate without assigning it an identity. Once configured, an identity assigned to a workload enables it to:
  • Access specific resources of AWS, Azure, and/or GCP
  • Access private network resources from external cloud accounts, data centers or any other private network. (Tunneling network traffic from workloads to specific TCP hosts and ports is facilitated using agents. This capability is referred to as “wormholes”.)
  • Access the NATS NGS service using scoped credentials automatically supplied at runtime
Identities are powerful Control Plane resources that can be granted any permission to your cloud environment. The ability to create identities should only be given to administrators by using a policy.

Create an Identity

Refer to the Create an Identity guide for additional details.

Identity Specification

An identity can be configured with the following fields:

Cloud Provider Access

AWS Identity (aws)

*Either roleName OR policyRefs is required, but not both. Trust Policy Structure:

GCP Identity (gcp)

*Either serviceAccount OR bindings is required, but not both. Binding Structure:

Azure Identity (azure)

Role Assignment Structure:

NATS Identity (ngs)

Permission Structure:

Private Network Access

Network Resources (networkResources)

*Either IPs OR FQDN is required.
All agents referenced in an identity must be the same protocol version (v1 or v2).

Native Network Resources (nativeNetworkResources)

*Either awsPrivateLink OR gcpServiceConnect is required. AWS PrivateLink Structure:
GCP Service Connect Structure:

Status

Provider Status Structure:

Additional Fields

Example YAML

Here’s a comprehensive example showing all identity types and configurations:

Alternative AWS Identity Example (using existing role)

Alternative GCP Identity Example (using existing service account)

Permissions

The permissions below are used to define policies together with one or more of the four principal types:

Access Report

Displays the permissions granted to principals for the identity.

CLI

To view the CLI documentation for Identities, see the Identity CLI reference.