published on Saturday, Aug 15, 2026 by Pulumi
published on Saturday, Aug 15, 2026 by Pulumi
Manages LDAP group to Vault policy mappings for the Kerberos authentication method in Vault.
This resource allows you to map LDAP groups to Vault policies when using the Kerberos authentication method. After a user successfully authenticates via Kerberos, Vault queries LDAP to determine the user’s group memberships. These group mappings then determine which Vault policies are assigned to the authenticated user’s token.
For more information, see the Vault Kerberos Auth Method documentation.
Note This resource requires that LDAP integration be configured for the Kerberos auth method using
vault.KerberosAuthBackendLdapConfig. Without LDAP configuration, group mappings cannot be resolved.
Example Usage
Basic Group Mapping
import * as pulumi from "@pulumi/pulumi";
import * as std from "@pulumi/std";
import * as vault from "@pulumi/vault";
const kerberos = new vault.AuthBackend("kerberos", {
type: "kerberos",
path: "kerberos",
});
const kerberosKerberosAuthBackendConfig = new vault.KerberosAuthBackendConfig("kerberos", {
mount: kerberos.path,
keytabWo: std.filebase64({
input: "/path/to/vault.keytab",
}).then(invoke => invoke.result),
keytabWoVersion: 1,
serviceAccount: "vault/localhost@EXAMPLE.COM",
});
const ldap = new vault.KerberosAuthBackendLdapConfig("ldap", {
mount: kerberos.path,
url: "ldap://ldap.example.com",
binddn: "cn=vault,ou=Users,dc=example,dc=com",
userdn: "ou=People,dc=example,dc=org",
groupdn: "ou=Groups,dc=example,dc=org",
});
const developers = new vault.KerberosAuthBackendGroup("developers", {
mount: kerberos.path,
name: "developers",
policies: [
"dev-policy",
"read-only",
],
});
import pulumi
import pulumi_std as std
import pulumi_vault as vault
kerberos = vault.AuthBackend("kerberos",
type="kerberos",
path="kerberos")
kerberos_kerberos_auth_backend_config = vault.KerberosAuthBackendConfig("kerberos",
mount=kerberos.path,
keytab_wo=std.filebase64(input="/path/to/vault.keytab").result,
keytab_wo_version=1,
service_account="vault/localhost@EXAMPLE.COM")
ldap = vault.KerberosAuthBackendLdapConfig("ldap",
mount=kerberos.path,
url="ldap://ldap.example.com",
binddn="cn=vault,ou=Users,dc=example,dc=com",
userdn="ou=People,dc=example,dc=org",
groupdn="ou=Groups,dc=example,dc=org")
developers = vault.KerberosAuthBackendGroup("developers",
mount=kerberos.path,
name="developers",
policies=[
"dev-policy",
"read-only",
])
package main
import (
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi-vault/sdk/v7/go/vault"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
kerberos, err := vault.NewAuthBackend(ctx, "kerberos", &vault.AuthBackendArgs{
Type: pulumi.String("kerberos"),
Path: pulumi.String("kerberos"),
})
if err != nil {
return err
}
invokeFilebase64, err := std.Filebase64(ctx, &std.Filebase64Args{
Input: "/path/to/vault.keytab",
}, nil)
if err != nil {
return err
}
_, err = vault.NewKerberosAuthBackendConfig(ctx, "kerberos", &vault.KerberosAuthBackendConfigArgs{
Mount: kerberos.Path,
KeytabWo: pulumi.String(invokeFilebase64.Result),
KeytabWoVersion: pulumi.Int(1),
ServiceAccount: pulumi.String("vault/localhost@EXAMPLE.COM"),
})
if err != nil {
return err
}
_, err = vault.NewKerberosAuthBackendLdapConfig(ctx, "ldap", &vault.KerberosAuthBackendLdapConfigArgs{
Mount: kerberos.Path,
Url: pulumi.String("ldap://ldap.example.com"),
Binddn: pulumi.String("cn=vault,ou=Users,dc=example,dc=com"),
Userdn: pulumi.String("ou=People,dc=example,dc=org"),
Groupdn: pulumi.String("ou=Groups,dc=example,dc=org"),
})
if err != nil {
return err
}
_, err = vault.NewKerberosAuthBackendGroup(ctx, "developers", &vault.KerberosAuthBackendGroupArgs{
Mount: kerberos.Path,
Name: pulumi.String("developers"),
Policies: pulumi.StringArray{
pulumi.String("dev-policy"),
pulumi.String("read-only"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Std = Pulumi.Std;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var kerberos = new Vault.AuthBackend("kerberos", new()
{
Type = "kerberos",
Path = "kerberos",
});
var kerberosKerberosAuthBackendConfig = new Vault.KerberosAuthBackendConfig("kerberos", new()
{
Mount = kerberos.Path,
KeytabWo = Std.Filebase64.Invoke(new()
{
Input = "/path/to/vault.keytab",
}).Apply(invoke => invoke.Result),
KeytabWoVersion = 1,
ServiceAccount = "vault/localhost@EXAMPLE.COM",
});
var ldap = new Vault.KerberosAuthBackendLdapConfig("ldap", new()
{
Mount = kerberos.Path,
Url = "ldap://ldap.example.com",
Binddn = "cn=vault,ou=Users,dc=example,dc=com",
Userdn = "ou=People,dc=example,dc=org",
Groupdn = "ou=Groups,dc=example,dc=org",
});
var developers = new Vault.KerberosAuthBackendGroup("developers", new()
{
Mount = kerberos.Path,
Name = "developers",
Policies = new[]
{
"dev-policy",
"read-only",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.AuthBackend;
import com.pulumi.vault.AuthBackendArgs;
import com.pulumi.vault.KerberosAuthBackendConfig;
import com.pulumi.vault.KerberosAuthBackendConfigArgs;
import com.pulumi.std.StdFunctions;
import com.pulumi.std.inputs.Filebase64Args;
import com.pulumi.vault.KerberosAuthBackendLdapConfig;
import com.pulumi.vault.KerberosAuthBackendLdapConfigArgs;
import com.pulumi.vault.KerberosAuthBackendGroup;
import com.pulumi.vault.KerberosAuthBackendGroupArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var kerberos = new AuthBackend("kerberos", AuthBackendArgs.builder()
.type("kerberos")
.path("kerberos")
.build());
var kerberosKerberosAuthBackendConfig = new KerberosAuthBackendConfig("kerberosKerberosAuthBackendConfig", KerberosAuthBackendConfigArgs.builder()
.mount(kerberos.path())
.keytabWo(StdFunctions.filebase64(Filebase64Args.builder()
.input("/path/to/vault.keytab")
.build()).result())
.keytabWoVersion(1)
.serviceAccount("vault/localhost@EXAMPLE.COM")
.build());
var ldap = new KerberosAuthBackendLdapConfig("ldap", KerberosAuthBackendLdapConfigArgs.builder()
.mount(kerberos.path())
.url("ldap://ldap.example.com")
.binddn("cn=vault,ou=Users,dc=example,dc=com")
.userdn("ou=People,dc=example,dc=org")
.groupdn("ou=Groups,dc=example,dc=org")
.build());
var developers = new KerberosAuthBackendGroup("developers", KerberosAuthBackendGroupArgs.builder()
.mount(kerberos.path())
.name("developers")
.policies(
"dev-policy",
"read-only")
.build());
}
}
resources:
kerberos:
type: vault:AuthBackend
properties:
type: kerberos
path: kerberos
kerberosKerberosAuthBackendConfig:
type: vault:KerberosAuthBackendConfig
name: kerberos
properties:
mount: ${kerberos.path}
keytabWo:
fn::invoke:
function: std:filebase64
arguments:
input: /path/to/vault.keytab
return: result
keytabWoVersion: 1
serviceAccount: vault/localhost@EXAMPLE.COM
ldap:
type: vault:KerberosAuthBackendLdapConfig
properties:
mount: ${kerberos.path}
url: ldap://ldap.example.com
binddn: cn=vault,ou=Users,dc=example,dc=com
userdn: ou=People,dc=example,dc=org
groupdn: ou=Groups,dc=example,dc=org
developers:
type: vault:KerberosAuthBackendGroup
properties:
mount: ${kerberos.path}
name: developers
policies:
- dev-policy
- read-only
pulumi {
required_providers {
std = {
source = "pulumi/std"
}
vault = {
source = "pulumi/vault"
}
}
}
resource "vault_authbackend" "kerberos" {
type = "kerberos"
path = "kerberos"
}
resource "vault_kerberosauthbackendconfig" "kerberos" {
mount = vault_authbackend.kerberos.path
keytab_wo = filebase64("/path/to/vault.keytab")
keytab_wo_version = 1
service_account = "vault/localhost@EXAMPLE.COM"
}
resource "vault_kerberosauthbackendldapconfig" "ldap" {
mount = vault_authbackend.kerberos.path
url = "ldap://ldap.example.com"
binddn = "cn=vault,ou=Users,dc=example,dc=com"
userdn = "ou=People,dc=example,dc=org"
groupdn = "ou=Groups,dc=example,dc=org"
}
resource "vault_kerberosauthbackendgroup" "developers" {
mount = vault_authbackend.kerberos.path
name = "developers"
policies = ["dev-policy", "read-only"]
}
Multiple Group Mappings
import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const kerberos = new vault.AuthBackend("kerberos", {
type: "kerberos",
path: "kerberos",
});
const admins = new vault.KerberosAuthBackendGroup("admins", {
mount: kerberos.path,
name: "admins",
policies: [
"admin-policy",
"default",
],
});
const developers = new vault.KerberosAuthBackendGroup("developers", {
mount: kerberos.path,
name: "developers",
policies: [
"dev-policy",
"default",
],
});
const readonly = new vault.KerberosAuthBackendGroup("readonly", {
mount: kerberos.path,
name: "readonly-users",
policies: ["read-only"],
});
import pulumi
import pulumi_vault as vault
kerberos = vault.AuthBackend("kerberos",
type="kerberos",
path="kerberos")
admins = vault.KerberosAuthBackendGroup("admins",
mount=kerberos.path,
name="admins",
policies=[
"admin-policy",
"default",
])
developers = vault.KerberosAuthBackendGroup("developers",
mount=kerberos.path,
name="developers",
policies=[
"dev-policy",
"default",
])
readonly = vault.KerberosAuthBackendGroup("readonly",
mount=kerberos.path,
name="readonly-users",
policies=["read-only"])
package main
import (
"github.com/pulumi/pulumi-vault/sdk/v7/go/vault"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
kerberos, err := vault.NewAuthBackend(ctx, "kerberos", &vault.AuthBackendArgs{
Type: pulumi.String("kerberos"),
Path: pulumi.String("kerberos"),
})
if err != nil {
return err
}
_, err = vault.NewKerberosAuthBackendGroup(ctx, "admins", &vault.KerberosAuthBackendGroupArgs{
Mount: kerberos.Path,
Name: pulumi.String("admins"),
Policies: pulumi.StringArray{
pulumi.String("admin-policy"),
pulumi.String("default"),
},
})
if err != nil {
return err
}
_, err = vault.NewKerberosAuthBackendGroup(ctx, "developers", &vault.KerberosAuthBackendGroupArgs{
Mount: kerberos.Path,
Name: pulumi.String("developers"),
Policies: pulumi.StringArray{
pulumi.String("dev-policy"),
pulumi.String("default"),
},
})
if err != nil {
return err
}
_, err = vault.NewKerberosAuthBackendGroup(ctx, "readonly", &vault.KerberosAuthBackendGroupArgs{
Mount: kerberos.Path,
Name: pulumi.String("readonly-users"),
Policies: pulumi.StringArray{
pulumi.String("read-only"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var kerberos = new Vault.AuthBackend("kerberos", new()
{
Type = "kerberos",
Path = "kerberos",
});
var admins = new Vault.KerberosAuthBackendGroup("admins", new()
{
Mount = kerberos.Path,
Name = "admins",
Policies = new[]
{
"admin-policy",
"default",
},
});
var developers = new Vault.KerberosAuthBackendGroup("developers", new()
{
Mount = kerberos.Path,
Name = "developers",
Policies = new[]
{
"dev-policy",
"default",
},
});
var @readonly = new Vault.KerberosAuthBackendGroup("readonly", new()
{
Mount = kerberos.Path,
Name = "readonly-users",
Policies = new[]
{
"read-only",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.AuthBackend;
import com.pulumi.vault.AuthBackendArgs;
import com.pulumi.vault.KerberosAuthBackendGroup;
import com.pulumi.vault.KerberosAuthBackendGroupArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var kerberos = new AuthBackend("kerberos", AuthBackendArgs.builder()
.type("kerberos")
.path("kerberos")
.build());
var admins = new KerberosAuthBackendGroup("admins", KerberosAuthBackendGroupArgs.builder()
.mount(kerberos.path())
.name("admins")
.policies(
"admin-policy",
"default")
.build());
var developers = new KerberosAuthBackendGroup("developers", KerberosAuthBackendGroupArgs.builder()
.mount(kerberos.path())
.name("developers")
.policies(
"dev-policy",
"default")
.build());
var readonly = new KerberosAuthBackendGroup("readonly", KerberosAuthBackendGroupArgs.builder()
.mount(kerberos.path())
.name("readonly-users")
.policies("read-only")
.build());
}
}
resources:
kerberos:
type: vault:AuthBackend
properties:
type: kerberos
path: kerberos
admins:
type: vault:KerberosAuthBackendGroup
properties:
mount: ${kerberos.path}
name: admins
policies:
- admin-policy
- default
developers:
type: vault:KerberosAuthBackendGroup
properties:
mount: ${kerberos.path}
name: developers
policies:
- dev-policy
- default
readonly:
type: vault:KerberosAuthBackendGroup
properties:
mount: ${kerberos.path}
name: readonly-users
policies:
- read-only
pulumi {
required_providers {
vault = {
source = "pulumi/vault"
}
}
}
resource "vault_authbackend" "kerberos" {
type = "kerberos"
path = "kerberos"
}
resource "vault_kerberosauthbackendgroup" "admins" {
mount = vault_authbackend.kerberos.path
name = "admins"
policies = ["admin-policy", "default"]
}
resource "vault_kerberosauthbackendgroup" "developers" {
mount = vault_authbackend.kerberos.path
name = "developers"
policies = ["dev-policy", "default"]
}
resource "vault_kerberosauthbackendgroup" "readonly" {
mount = vault_authbackend.kerberos.path
name = "readonly-users"
policies = ["read-only"]
}
Using Namespace (Vault Enterprise)
import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const example = new vault.Namespace("example", {path: "example-namespace"});
const kerberos = new vault.AuthBackend("kerberos", {
namespace: example.path,
type: "kerberos",
path: "kerberos",
});
const team = new vault.KerberosAuthBackendGroup("team", {
namespace: example.path,
mount: kerberos.path,
name: "team-alpha",
policies: ["team-alpha-policy"],
});
import pulumi
import pulumi_vault as vault
example = vault.Namespace("example", path="example-namespace")
kerberos = vault.AuthBackend("kerberos",
namespace=example.path,
type="kerberos",
path="kerberos")
team = vault.KerberosAuthBackendGroup("team",
namespace=example.path,
mount=kerberos.path,
name="team-alpha",
policies=["team-alpha-policy"])
package main
import (
"github.com/pulumi/pulumi-vault/sdk/v7/go/vault"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := vault.NewNamespace(ctx, "example", &vault.NamespaceArgs{
Path: pulumi.String("example-namespace"),
})
if err != nil {
return err
}
kerberos, err := vault.NewAuthBackend(ctx, "kerberos", &vault.AuthBackendArgs{
Namespace: example.Path,
Type: pulumi.String("kerberos"),
Path: pulumi.String("kerberos"),
})
if err != nil {
return err
}
_, err = vault.NewKerberosAuthBackendGroup(ctx, "team", &vault.KerberosAuthBackendGroupArgs{
Namespace: example.Path,
Mount: kerberos.Path,
Name: pulumi.String("team-alpha"),
Policies: pulumi.StringArray{
pulumi.String("team-alpha-policy"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var example = new Vault.Namespace("example", new()
{
Path = "example-namespace",
});
var kerberos = new Vault.AuthBackend("kerberos", new()
{
Namespace = example.Path,
Type = "kerberos",
Path = "kerberos",
});
var team = new Vault.KerberosAuthBackendGroup("team", new()
{
Namespace = example.Path,
Mount = kerberos.Path,
Name = "team-alpha",
Policies = new[]
{
"team-alpha-policy",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.Namespace;
import com.pulumi.vault.NamespaceArgs;
import com.pulumi.vault.AuthBackend;
import com.pulumi.vault.AuthBackendArgs;
import com.pulumi.vault.KerberosAuthBackendGroup;
import com.pulumi.vault.KerberosAuthBackendGroupArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Namespace("example", NamespaceArgs.builder()
.path("example-namespace")
.build());
var kerberos = new AuthBackend("kerberos", AuthBackendArgs.builder()
.namespace(example.path())
.type("kerberos")
.path("kerberos")
.build());
var team = new KerberosAuthBackendGroup("team", KerberosAuthBackendGroupArgs.builder()
.namespace(example.path())
.mount(kerberos.path())
.name("team-alpha")
.policies("team-alpha-policy")
.build());
}
}
resources:
example:
type: vault:Namespace
properties:
path: example-namespace
kerberos:
type: vault:AuthBackend
properties:
namespace: ${example.path}
type: kerberos
path: kerberos
team:
type: vault:KerberosAuthBackendGroup
properties:
namespace: ${example.path}
mount: ${kerberos.path}
name: team-alpha
policies:
- team-alpha-policy
pulumi {
required_providers {
vault = {
source = "pulumi/vault"
}
}
}
resource "vault_namespace" "example" {
path = "example-namespace"
}
resource "vault_authbackend" "kerberos" {
namespace = vault_namespace.example.path
type = "kerberos"
path = "kerberos"
}
resource "vault_kerberosauthbackendgroup" "team" {
namespace = vault_namespace.example.path
mount = vault_authbackend.kerberos.path
name = "team-alpha"
policies = ["team-alpha-policy"]
}
Group Without Policies
import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const kerberos = new vault.AuthBackend("kerberos", {
type: "kerberos",
path: "kerberos",
});
// Create a group mapping without policies
// Useful for tracking groups or for later policy assignment
const contractors = new vault.KerberosAuthBackendGroup("contractors", {
mount: kerberos.path,
name: "contractors",
});
import pulumi
import pulumi_vault as vault
kerberos = vault.AuthBackend("kerberos",
type="kerberos",
path="kerberos")
# Create a group mapping without policies
# Useful for tracking groups or for later policy assignment
contractors = vault.KerberosAuthBackendGroup("contractors",
mount=kerberos.path,
name="contractors")
package main
import (
"github.com/pulumi/pulumi-vault/sdk/v7/go/vault"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
kerberos, err := vault.NewAuthBackend(ctx, "kerberos", &vault.AuthBackendArgs{
Type: pulumi.String("kerberos"),
Path: pulumi.String("kerberos"),
})
if err != nil {
return err
}
// Create a group mapping without policies
// Useful for tracking groups or for later policy assignment
_, err = vault.NewKerberosAuthBackendGroup(ctx, "contractors", &vault.KerberosAuthBackendGroupArgs{
Mount: kerberos.Path,
Name: pulumi.String("contractors"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var kerberos = new Vault.AuthBackend("kerberos", new()
{
Type = "kerberos",
Path = "kerberos",
});
// Create a group mapping without policies
// Useful for tracking groups or for later policy assignment
var contractors = new Vault.KerberosAuthBackendGroup("contractors", new()
{
Mount = kerberos.Path,
Name = "contractors",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.AuthBackend;
import com.pulumi.vault.AuthBackendArgs;
import com.pulumi.vault.KerberosAuthBackendGroup;
import com.pulumi.vault.KerberosAuthBackendGroupArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var kerberos = new AuthBackend("kerberos", AuthBackendArgs.builder()
.type("kerberos")
.path("kerberos")
.build());
// Create a group mapping without policies
// Useful for tracking groups or for later policy assignment
var contractors = new KerberosAuthBackendGroup("contractors", KerberosAuthBackendGroupArgs.builder()
.mount(kerberos.path())
.name("contractors")
.build());
}
}
resources:
kerberos:
type: vault:AuthBackend
properties:
type: kerberos
path: kerberos
# Create a group mapping without policies
# Useful for tracking groups or for later policy assignment
contractors:
type: vault:KerberosAuthBackendGroup
properties:
mount: ${kerberos.path}
name: contractors
pulumi {
required_providers {
vault = {
source = "pulumi/vault"
}
}
}
resource "vault_authbackend" "kerberos" {
type = "kerberos"
path = "kerberos"
}
# Create a group mapping without policies
# Useful for tracking groups or for later policy assignment
resource "vault_kerberosauthbackendgroup" "contractors" {
mount = vault_authbackend.kerberos.path
name = "contractors"
}
Create KerberosAuthBackendGroup Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new KerberosAuthBackendGroup(name: string, args: KerberosAuthBackendGroupArgs, opts?: CustomResourceOptions);@overload
def KerberosAuthBackendGroup(resource_name: str,
args: KerberosAuthBackendGroupArgs,
opts: Optional[ResourceOptions] = None)
@overload
def KerberosAuthBackendGroup(resource_name: str,
opts: Optional[ResourceOptions] = None,
mount: Optional[str] = None,
name: Optional[str] = None,
namespace: Optional[str] = None,
policies: Optional[Sequence[str]] = None)func NewKerberosAuthBackendGroup(ctx *Context, name string, args KerberosAuthBackendGroupArgs, opts ...ResourceOption) (*KerberosAuthBackendGroup, error)public KerberosAuthBackendGroup(string name, KerberosAuthBackendGroupArgs args, CustomResourceOptions? opts = null)
public KerberosAuthBackendGroup(String name, KerberosAuthBackendGroupArgs args)
public KerberosAuthBackendGroup(String name, KerberosAuthBackendGroupArgs args, CustomResourceOptions options)
type: vault:KerberosAuthBackendGroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "vault_kerberos_auth_backend_group" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args KerberosAuthBackendGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args KerberosAuthBackendGroupArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args KerberosAuthBackendGroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args KerberosAuthBackendGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args KerberosAuthBackendGroupArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var kerberosAuthBackendGroupResource = new Vault.KerberosAuthBackendGroup("kerberosAuthBackendGroupResource", new()
{
Mount = "string",
Name = "string",
Namespace = "string",
Policies = new[]
{
"string",
},
});
example, err := vault.NewKerberosAuthBackendGroup(ctx, "kerberosAuthBackendGroupResource", &vault.KerberosAuthBackendGroupArgs{
Mount: pulumi.String("string"),
Name: pulumi.String("string"),
Namespace: pulumi.String("string"),
Policies: pulumi.StringArray{
pulumi.String("string"),
},
})
resource "vault_kerberos_auth_backend_group" "kerberosAuthBackendGroupResource" {
lifecycle {
create_before_destroy = true
}
mount = "string"
name = "string"
namespace = "string"
policies = ["string"]
}
var kerberosAuthBackendGroupResource = new KerberosAuthBackendGroup("kerberosAuthBackendGroupResource", KerberosAuthBackendGroupArgs.builder()
.mount("string")
.name("string")
.namespace("string")
.policies("string")
.build());
kerberos_auth_backend_group_resource = vault.KerberosAuthBackendGroup("kerberosAuthBackendGroupResource",
mount="string",
name="string",
namespace="string",
policies=["string"])
const kerberosAuthBackendGroupResource = new vault.KerberosAuthBackendGroup("kerberosAuthBackendGroupResource", {
mount: "string",
name: "string",
namespace: "string",
policies: ["string"],
});
type: vault:KerberosAuthBackendGroup
properties:
mount: string
name: string
namespace: string
policies:
- string
KerberosAuthBackendGroup Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The KerberosAuthBackendGroup resource accepts the following input properties:
- Mount string
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- Name string
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- Namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Policies List<string>
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
- Mount string
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- Name string
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- Namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Policies []string
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
- mount string
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- name string
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - policies list(string)
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
- mount String
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- name String
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- namespace String
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - policies List<String>
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
- mount string
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- name string
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - policies string[]
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
- mount str
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- name str
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- namespace str
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - policies Sequence[str]
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
- mount String
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- name String
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- namespace String
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - policies List<String>
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
Outputs
All input properties are implicitly available as output properties. Additionally, the KerberosAuthBackendGroup resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing KerberosAuthBackendGroup Resource
Get an existing KerberosAuthBackendGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: KerberosAuthBackendGroupState, opts?: CustomResourceOptions): KerberosAuthBackendGroup@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
mount: Optional[str] = None,
name: Optional[str] = None,
namespace: Optional[str] = None,
policies: Optional[Sequence[str]] = None) -> KerberosAuthBackendGroupfunc GetKerberosAuthBackendGroup(ctx *Context, name string, id IDInput, state *KerberosAuthBackendGroupState, opts ...ResourceOption) (*KerberosAuthBackendGroup, error)public static KerberosAuthBackendGroup Get(string name, Input<string> id, KerberosAuthBackendGroupState? state, CustomResourceOptions? opts = null)public static KerberosAuthBackendGroup get(String name, Output<String> id, KerberosAuthBackendGroupState state, CustomResourceOptions options)resources: _: type: vault:KerberosAuthBackendGroup get: id: ${id}import {
to = vault_kerberos_auth_backend_group.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Mount string
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- Name string
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- Namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Policies List<string>
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
- Mount string
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- Name string
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- Namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Policies []string
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
- mount string
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- name string
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - policies list(string)
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
- mount String
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- name String
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- namespace String
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - policies List<String>
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
- mount string
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- name string
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- namespace string
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - policies string[]
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
- mount str
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- name str
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- namespace str
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - policies Sequence[str]
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
- mount String
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- name String
- The name of the LDAP group to map to Vault policies. This should match the group name as it appears in your LDAP directory. Changing this will force a new resource to be created.
- namespace String
- The namespace to provision the resource in.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - policies List<String>
- Set of Vault policy names to associate with this group. Users who are members of this LDAP group will receive these policies when they authenticate via Kerberos.
Import
Kerberos auth backend group mappings can be imported using the path, e.g.
$ pulumi import vault:index/kerberosAuthBackendGroup:KerberosAuthBackendGroup developers auth/kerberos/groups/developers
Importing with Namespace (Vault Enterprise)
For Vault Enterprise with namespaces, set the TERRAFORM_VAULT_NAMESPACE_IMPORT environment variable
before importing:
$ export TERRAFORM_VAULT_NAMESPACE_IMPORT=example-namespace
$ terraform import vault_kerberos_auth_backend_group.developers auth/kerberos/groups/developers
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Vault pulumi/pulumi-vault
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
vaultTerraform Provider.
published on Saturday, Aug 15, 2026 by Pulumi