Skip to content

ClientVpnAuthorizationRule

The ClientVpnAuthorizationRule resource allows you to manage AWS EC2 Client VPN authorization rules. These rules control access for VPN clients to specific network resources.

Minimal Example

Create a basic ClientVpnAuthorizationRule with required properties and a common optional property.

ts
import AWS from "alchemy/aws/control";

const basicAuthRule = await AWS.EC2.ClientVpnAuthorizationRule("basicAuthRule", {
  ClientVpnEndpointId: "cvpn-endpoint-1234567890abcdef0",
  TargetNetworkCidr: "10.0.0.0/16",
  Description: "Basic authorization rule for VPN clients"
});

Advanced Configuration

Configure a ClientVpnAuthorizationRule that uses an access group and authorizes all groups.

ts
const advancedAuthRule = await AWS.EC2.ClientVpnAuthorizationRule("advancedAuthRule", {
  ClientVpnEndpointId: "cvpn-endpoint-0987654321abcdef0",
  TargetNetworkCidr: "192.168.1.0/24",
  AccessGroupId: "sg-0123456789abcdef0",
  AuthorizeAllGroups: true,
  Description: "Advanced authorization rule with all groups authorized"
});

Specific Use Case: Restrict Access to a Subnet

This example demonstrates how to create a rule that restricts VPN access to a specific subnet.

ts
const subnetAuthRule = await AWS.EC2.ClientVpnAuthorizationRule("subnetAuthRule", {
  ClientVpnEndpointId: "cvpn-endpoint-abcdef0123456789",
  TargetNetworkCidr: "172.16.0.0/12",
  AccessGroupId: "sg-abcdef0123456789",
  Description: "Authorization rule for restricted subnet access"
});

Adoption of Existing Resource

In this example, we adopt an existing ClientVpnAuthorizationRule instead of failing if it already exists.

ts
const adoptAuthRule = await AWS.EC2.ClientVpnAuthorizationRule("adoptAuthRule", {
  ClientVpnEndpointId: "cvpn-endpoint-abcdefgh12345678",
  TargetNetworkCidr: "10.1.0.0/16",
  Description: "Adopting an existing authorization rule",
  adopt: true
});