provisioning/schemas/platform/defaults/common/security-defaults.ncl

68 lines
1.4 KiB
Plaintext
Raw Normal View History

# Security Default Values
# Common defaults for authentication, RBAC, encryption
let security_schema = import "../../schemas/common/security.ncl" in
{
security | security_schema.SecurityConfig = {
# JWT Configuration
jwt = {
issuer = "provisioning-system",
audience = "provisioning-api",
expiration = 3600,
refresh_expiration = 86400,
algorithm = "HS256",
},
# Encryption Configuration
encryption = {
kms_backend = "&",
enable_field_encryption = false,
},
# RBAC Configuration
rbac = {
enabled = false,
inheritance = true,
default_role = "user",
},
# MFA Configuration
mfa = {
required = false,
max_attempts = 3,
lockout_duration = 15,
},
# Rate Limiting
rate_limiting = {
enabled = false,
max_requests = 1000,
window_seconds = 60,
lockout_duration = 15,
},
# Session Configuration
session = {
max_duration = 86400,
idle_timeout = 3600,
tracking = false,
},
# TLS Configuration
tls = {
enabled = false,
client_auth = false,
},
# CORS Configuration
cors = {
enabled = false,
allow_credentials = false,
allowed_origins = ["http://localhost:3000"],
allowed_methods = ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
allowed_headers = ["Content-Type", "Authorization"],
},
},
}