published on Saturday, Aug 15, 2026 by Pulumi
published on Saturday, Aug 15, 2026 by Pulumi
Manages the configuration of a Kerberos Auth Backend in Vault.
This resource configures the Kerberos authentication method by providing the keytab and service account information required for Vault to authenticate users via Kerberos.
For more information, see the Vault docs.
Important The
keytabWofield is write-only and is not stored in Terraform state. It is only sent to Vault when thekeytabWoVersionchanges or during initial creation. See the main provider documentation for more details.
Note Vault does not support deleting auth backend configurations via the API. When this resource is destroyed or replaced (e.g., when changing the
mount), it is only removed from Terraform state. The configuration remains in Vault until the auth mount itself is deleted.
Example Usage
Basic Configuration
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 config = new vault.KerberosAuthBackendConfig("config", {
mount: kerberos.path,
keytabWo: std.filebase64({
input: "/path/to/vault.keytab",
}).then(invoke => invoke.result),
keytabWoVersion: 1,
serviceAccount: "vault/localhost@EXAMPLE.COM",
});
import pulumi
import pulumi_std as std
import pulumi_vault as vault
kerberos = vault.AuthBackend("kerberos",
type="kerberos",
path="kerberos")
config = vault.KerberosAuthBackendConfig("config",
mount=kerberos.path,
keytab_wo=std.filebase64(input="/path/to/vault.keytab").result,
keytab_wo_version=1,
service_account="vault/localhost@EXAMPLE.COM")
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, "config", &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
}
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 config = new Vault.KerberosAuthBackendConfig("config", 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",
});
});
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 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 config = new KerberosAuthBackendConfig("config", 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());
}
}
resources:
kerberos:
type: vault:AuthBackend
properties:
type: kerberos
path: kerberos
config:
type: vault:KerberosAuthBackendConfig
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
pulumi {
required_providers {
std = {
source = "pulumi/std"
}
vault = {
source = "pulumi/vault"
}
}
}
resource "vault_authbackend" "kerberos" {
type = "kerberos"
path = "kerberos"
}
resource "vault_kerberosauthbackendconfig" "config" {
mount = vault_authbackend.kerberos.path
keytab_wo = filebase64("/path/to/vault.keytab")
keytab_wo_version = 1
service_account = "vault/localhost@EXAMPLE.COM"
}
Full Configuration with All Options
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 config = new vault.KerberosAuthBackendConfig("config", {
mount: kerberos.path,
keytabWo: std.filebase64({
input: "/path/to/vault.keytab",
}).then(invoke => invoke.result),
keytabWoVersion: 1,
serviceAccount: "vault/localhost@EXAMPLE.COM",
removeInstanceName: true,
addGroupAliases: true,
});
import pulumi
import pulumi_std as std
import pulumi_vault as vault
kerberos = vault.AuthBackend("kerberos",
type="kerberos",
path="kerberos")
config = vault.KerberosAuthBackendConfig("config",
mount=kerberos.path,
keytab_wo=std.filebase64(input="/path/to/vault.keytab").result,
keytab_wo_version=1,
service_account="vault/localhost@EXAMPLE.COM",
remove_instance_name=True,
add_group_aliases=True)
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, "config", &vault.KerberosAuthBackendConfigArgs{
Mount: kerberos.Path,
KeytabWo: pulumi.String(invokeFilebase64.Result),
KeytabWoVersion: pulumi.Int(1),
ServiceAccount: pulumi.String("vault/localhost@EXAMPLE.COM"),
RemoveInstanceName: pulumi.Bool(true),
AddGroupAliases: pulumi.Bool(true),
})
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 config = new Vault.KerberosAuthBackendConfig("config", 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",
RemoveInstanceName = true,
AddGroupAliases = true,
});
});
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 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 config = new KerberosAuthBackendConfig("config", KerberosAuthBackendConfigArgs.builder()
.mount(kerberos.path())
.keytabWo(StdFunctions.filebase64(Filebase64Args.builder()
.input("/path/to/vault.keytab")
.build()).result())
.keytabWoVersion(1)
.serviceAccount("vault/localhost@EXAMPLE.COM")
.removeInstanceName(true)
.addGroupAliases(true)
.build());
}
}
resources:
kerberos:
type: vault:AuthBackend
properties:
type: kerberos
path: kerberos
config:
type: vault:KerberosAuthBackendConfig
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
removeInstanceName: true
addGroupAliases: true
pulumi {
required_providers {
std = {
source = "pulumi/std"
}
vault = {
source = "pulumi/vault"
}
}
}
resource "vault_authbackend" "kerberos" {
type = "kerberos"
path = "kerberos"
}
resource "vault_kerberosauthbackendconfig" "config" {
mount = vault_authbackend.kerberos.path
keytab_wo = filebase64("/path/to/vault.keytab")
keytab_wo_version = 1
service_account = "vault/localhost@EXAMPLE.COM"
remove_instance_name = true
add_group_aliases = true
}
Using Namespace (Vault Enterprise)
import * as pulumi from "@pulumi/pulumi";
import * as std from "@pulumi/std";
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 config = new vault.KerberosAuthBackendConfig("config", {
namespace: example.path,
mount: kerberos.path,
keytabWo: std.filebase64({
input: "/path/to/vault.keytab",
}).then(invoke => invoke.result),
keytabWoVersion: 1,
serviceAccount: "vault/localhost@EXAMPLE.COM",
});
import pulumi
import pulumi_std as std
import pulumi_vault as vault
example = vault.Namespace("example", path="example-namespace")
kerberos = vault.AuthBackend("kerberos",
namespace=example.path,
type="kerberos",
path="kerberos")
config = vault.KerberosAuthBackendConfig("config",
namespace=example.path,
mount=kerberos.path,
keytab_wo=std.filebase64(input="/path/to/vault.keytab").result,
keytab_wo_version=1,
service_account="vault/localhost@EXAMPLE.COM")
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 {
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
}
invokeFilebase64, err := std.Filebase64(ctx, &std.Filebase64Args{
Input: "/path/to/vault.keytab",
}, nil)
if err != nil {
return err
}
_, err = vault.NewKerberosAuthBackendConfig(ctx, "config", &vault.KerberosAuthBackendConfigArgs{
Namespace: example.Path,
Mount: kerberos.Path,
KeytabWo: pulumi.String(invokeFilebase64.Result),
KeytabWoVersion: pulumi.Int(1),
ServiceAccount: pulumi.String("vault/localhost@EXAMPLE.COM"),
})
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 example = new Vault.Namespace("example", new()
{
Path = "example-namespace",
});
var kerberos = new Vault.AuthBackend("kerberos", new()
{
Namespace = example.Path,
Type = "kerberos",
Path = "kerberos",
});
var config = new Vault.KerberosAuthBackendConfig("config", new()
{
Namespace = example.Path,
Mount = kerberos.Path,
KeytabWo = Std.Filebase64.Invoke(new()
{
Input = "/path/to/vault.keytab",
}).Apply(invoke => invoke.Result),
KeytabWoVersion = 1,
ServiceAccount = "vault/localhost@EXAMPLE.COM",
});
});
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.KerberosAuthBackendConfig;
import com.pulumi.vault.KerberosAuthBackendConfigArgs;
import com.pulumi.std.StdFunctions;
import com.pulumi.std.inputs.Filebase64Args;
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 config = new KerberosAuthBackendConfig("config", KerberosAuthBackendConfigArgs.builder()
.namespace(example.path())
.mount(kerberos.path())
.keytabWo(StdFunctions.filebase64(Filebase64Args.builder()
.input("/path/to/vault.keytab")
.build()).result())
.keytabWoVersion(1)
.serviceAccount("vault/localhost@EXAMPLE.COM")
.build());
}
}
resources:
example:
type: vault:Namespace
properties:
path: example-namespace
kerberos:
type: vault:AuthBackend
properties:
namespace: ${example.path}
type: kerberos
path: kerberos
config:
type: vault:KerberosAuthBackendConfig
properties:
namespace: ${example.path}
mount: ${kerberos.path}
keytabWo:
fn::invoke:
function: std:filebase64
arguments:
input: /path/to/vault.keytab
return: result
keytabWoVersion: 1
serviceAccount: vault/localhost@EXAMPLE.COM
pulumi {
required_providers {
std = {
source = "pulumi/std"
}
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_kerberosauthbackendconfig" "config" {
namespace = vault_namespace.example.path
mount = vault_authbackend.kerberos.path
keytab_wo = filebase64("/path/to/vault.keytab")
keytab_wo_version = 1
service_account = "vault/localhost@EXAMPLE.COM"
}
Create KerberosAuthBackendConfig Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new KerberosAuthBackendConfig(name: string, args: KerberosAuthBackendConfigArgs, opts?: CustomResourceOptions);@overload
def KerberosAuthBackendConfig(resource_name: str,
args: KerberosAuthBackendConfigArgs,
opts: Optional[ResourceOptions] = None)
@overload
def KerberosAuthBackendConfig(resource_name: str,
opts: Optional[ResourceOptions] = None,
keytab_wo: Optional[str] = None,
keytab_wo_version: Optional[int] = None,
mount: Optional[str] = None,
service_account: Optional[str] = None,
add_group_aliases: Optional[bool] = None,
namespace: Optional[str] = None,
remove_instance_name: Optional[bool] = None)func NewKerberosAuthBackendConfig(ctx *Context, name string, args KerberosAuthBackendConfigArgs, opts ...ResourceOption) (*KerberosAuthBackendConfig, error)public KerberosAuthBackendConfig(string name, KerberosAuthBackendConfigArgs args, CustomResourceOptions? opts = null)
public KerberosAuthBackendConfig(String name, KerberosAuthBackendConfigArgs args)
public KerberosAuthBackendConfig(String name, KerberosAuthBackendConfigArgs args, CustomResourceOptions options)
type: vault:KerberosAuthBackendConfig
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "vault_kerberos_auth_backend_config" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args KerberosAuthBackendConfigArgs
- 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 KerberosAuthBackendConfigArgs
- 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 KerberosAuthBackendConfigArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args KerberosAuthBackendConfigArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args KerberosAuthBackendConfigArgs
- 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 kerberosAuthBackendConfigResource = new Vault.KerberosAuthBackendConfig("kerberosAuthBackendConfigResource", new()
{
KeytabWo = "string",
KeytabWoVersion = 0,
Mount = "string",
ServiceAccount = "string",
AddGroupAliases = false,
Namespace = "string",
RemoveInstanceName = false,
});
example, err := vault.NewKerberosAuthBackendConfig(ctx, "kerberosAuthBackendConfigResource", &vault.KerberosAuthBackendConfigArgs{
KeytabWo: pulumi.String("string"),
KeytabWoVersion: pulumi.Int(0),
Mount: pulumi.String("string"),
ServiceAccount: pulumi.String("string"),
AddGroupAliases: pulumi.Bool(false),
Namespace: pulumi.String("string"),
RemoveInstanceName: pulumi.Bool(false),
})
resource "vault_kerberos_auth_backend_config" "kerberosAuthBackendConfigResource" {
lifecycle {
create_before_destroy = true
}
keytab_wo = "string"
keytab_wo_version = 0
mount = "string"
service_account = "string"
add_group_aliases = false
namespace = "string"
remove_instance_name = false
}
var kerberosAuthBackendConfigResource = new KerberosAuthBackendConfig("kerberosAuthBackendConfigResource", KerberosAuthBackendConfigArgs.builder()
.keytabWo("string")
.keytabWoVersion(0)
.mount("string")
.serviceAccount("string")
.addGroupAliases(false)
.namespace("string")
.removeInstanceName(false)
.build());
kerberos_auth_backend_config_resource = vault.KerberosAuthBackendConfig("kerberosAuthBackendConfigResource",
keytab_wo="string",
keytab_wo_version=0,
mount="string",
service_account="string",
add_group_aliases=False,
namespace="string",
remove_instance_name=False)
const kerberosAuthBackendConfigResource = new vault.KerberosAuthBackendConfig("kerberosAuthBackendConfigResource", {
keytabWo: "string",
keytabWoVersion: 0,
mount: "string",
serviceAccount: "string",
addGroupAliases: false,
namespace: "string",
removeInstanceName: false,
});
type: vault:KerberosAuthBackendConfig
properties:
addGroupAliases: false
keytabWo: string
keytabWoVersion: 0
mount: string
namespace: string
removeInstanceName: false
serviceAccount: string
KerberosAuthBackendConfig 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 KerberosAuthBackendConfig resource accepts the following input properties:
- Keytab
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - Keytab
Wo intVersion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- Mount string
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- Service
Account string - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc). - Add
Group boolAliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - 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. - Remove
Instance boolName - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false.
- Keytab
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - Keytab
Wo intVersion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- Mount string
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- Service
Account string - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc). - Add
Group boolAliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - 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. - Remove
Instance boolName - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false.
- keytab_
wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - keytab_
wo_ numberversion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- mount string
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- service_
account string - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc). - add_
group_ boolaliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - 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. - remove_
instance_ boolname - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false.
- keytab
Wo String - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - keytab
Wo IntegerVersion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- mount String
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- service
Account String - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc). - add
Group BooleanAliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - 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. - remove
Instance BooleanName - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false.
- keytab
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - keytab
Wo numberVersion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- mount string
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- service
Account string - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc). - add
Group booleanAliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - 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. - remove
Instance booleanName - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false.
- keytab_
wo str - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - keytab_
wo_ intversion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- mount str
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- service_
account str - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc). - add_
group_ boolaliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - 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. - remove_
instance_ boolname - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false.
- keytab
Wo String - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - keytab
Wo NumberVersion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- mount String
- Path where the Kerberos auth method is mounted. Changing this will force a new resource to be created.
- service
Account String - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc). - add
Group BooleanAliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - 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. - remove
Instance BooleanName - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false.
Outputs
All input properties are implicitly available as output properties. Additionally, the KerberosAuthBackendConfig 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 KerberosAuthBackendConfig Resource
Get an existing KerberosAuthBackendConfig 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?: KerberosAuthBackendConfigState, opts?: CustomResourceOptions): KerberosAuthBackendConfig@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
add_group_aliases: Optional[bool] = None,
keytab_wo: Optional[str] = None,
keytab_wo_version: Optional[int] = None,
mount: Optional[str] = None,
namespace: Optional[str] = None,
remove_instance_name: Optional[bool] = None,
service_account: Optional[str] = None) -> KerberosAuthBackendConfigfunc GetKerberosAuthBackendConfig(ctx *Context, name string, id IDInput, state *KerberosAuthBackendConfigState, opts ...ResourceOption) (*KerberosAuthBackendConfig, error)public static KerberosAuthBackendConfig Get(string name, Input<string> id, KerberosAuthBackendConfigState? state, CustomResourceOptions? opts = null)public static KerberosAuthBackendConfig get(String name, Output<String> id, KerberosAuthBackendConfigState state, CustomResourceOptions options)resources: _: type: vault:KerberosAuthBackendConfig get: id: ${id}import {
to = vault_kerberos_auth_backend_config.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.
- Add
Group boolAliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - Keytab
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - Keytab
Wo intVersion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- Mount string
- Path where the Kerberos auth method is mounted. 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. - Remove
Instance boolName - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false. - Service
Account string - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc).
- Add
Group boolAliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - Keytab
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - Keytab
Wo intVersion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- Mount string
- Path where the Kerberos auth method is mounted. 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. - Remove
Instance boolName - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false. - Service
Account string - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc).
- add_
group_ boolaliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - keytab_
wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - keytab_
wo_ numberversion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- mount string
- Path where the Kerberos auth method is mounted. 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. - remove_
instance_ boolname - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false. - service_
account string - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc).
- add
Group BooleanAliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - keytab
Wo String - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - keytab
Wo IntegerVersion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- mount String
- Path where the Kerberos auth method is mounted. 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. - remove
Instance BooleanName - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false. - service
Account String - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc).
- add
Group booleanAliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - keytab
Wo string - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - keytab
Wo numberVersion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- mount string
- Path where the Kerberos auth method is mounted. 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. - remove
Instance booleanName - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false. - service
Account string - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc).
- add_
group_ boolaliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - keytab_
wo str - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - keytab_
wo_ intversion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- mount str
- Path where the Kerberos auth method is mounted. 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. - remove_
instance_ boolname - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false. - service_
account str - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc).
- add
Group BooleanAliases - Adds group aliases during authentication. When
enabled, Vault will create entity aliases for each group the user belongs to.
Defaults to
false. - keytab
Wo String - NOTE: This field is write-only and its value will not be updated in state as part of read operations.
Base64-encoded keytab file content. This is a write-only
field and is not stored in Terraform state. The keytab must contain an entry
matching the
serviceAccount. - keytab
Wo NumberVersion - Version identifier for keytab updates. Increment this value to trigger a keytab update in Vault. This allows you to rotate the keytab without forcing resource replacement.
- mount String
- Path where the Kerberos auth method is mounted. 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. - remove
Instance BooleanName - Removes instance names from Kerberos service
principal names during authentication. This can be useful when the instance name
is not relevant for authentication. Defaults to
false. - service
Account String - The Kerberos service account associated with the
keytab entry (e.g.,
vault/localhost@EXAMPLE.COMorvaultSvc).
Import
Kerberos auth backend configurations can be imported using the path, e.g.
$ pulumi import vault:index/kerberosAuthBackendConfig:KerberosAuthBackendConfig config auth/kerberos/config
Note The
keytabWofield cannot be imported as it is write-only and not stored in state. You will need to provide it in your configuration after import.
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_config.config auth/kerberos/config
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