The Transform engine is a Vault Enterprise feature for transforming sensitive data while preserving its format. It offers three main approaches: FPE (Format-Preserving Encryption), masking, and tokenization. The right choice depends on reversibility, storage requirements, performance, and audit needs.
This article focuses on the operations (Ops) perspective: rollout procedures, permission design, rate limits, replication/DR, key rotation, and common pitfalls. The same material maps directly to Vault certification (Security Automation track) preparation.
Transform is a Vault Enterprise secrets engine that offers three approaches: FPE, masking, and tokenization. Applications send values to Vault and receive transformed values (or tokens) back, reducing risk at rest and in transit. FPE and masking are essentially stateless (configuration and keys only), while tokenization is stateful because it persists the mapping between original values and tokens.
The operational essentials are: separating transformation definitions from roles, managing templates/alphabets/tweaks, replication, rate limits, auditing, and least-privilege policies. Ops teams must guarantee availability (HA/PR/DR) and throughput, and put monitoring in place that catches misuse — for example, characters outside the configured alphabet — immediately.
Transform engine logical architecture (FPE: stateless / Tokenization: stateful)
FPE is format-preserving encryption based on NIST SP 800-38G's FF1 mode (Vault's implementation uses FF1). It encrypts while preserving the digit count and the allowed character set (alphabet). Input validation is strict against the alphabet — any invalid character returns an error. Delimiter handling is controlled via template design (for example, separating digit blocks from hyphens).
Design decisions include alphabet choice (numeric/alphanumeric/custom), template granularity, and tweak source (internal/supplied). Grant decode only to subjects that genuinely need it. Because FPE is deterministic, identical input produces identical output — convenient for generating test data, but watch out for equivalence-detection risk and log exposure.
Masking is an irreversible transformation, useful when audit logs or downstream consumers need to keep just enough readability. It requires no encryption keys or storage, and its performance impact is minimal. Tokenization, by contrast, replaces the original value with a token and stores it nowhere except in the mapping — detokenize is available only when needed. It is reversible, but comes with operational overhead: mapping storage, replication, and TTL.
When handling PANs broadly under regimes like PCI DSS, the standard pattern is to store tokens and allow detokenize only within tightly scoped boundaries. Combine with masking when audit logs or developer previews need to retain only the portions safe to show.
| Approach | Reversibility | Format Preservation | Storage Dependency |
|---|---|---|---|
| FPE | Reversible (only authorized roles can decode) | Preserved (length and character class) | None (keys only) |
| Masking | Irreversible | Partially preserved as needed | None |
| Tokenization | Reversible (detokenize) | Depends on token format design | Required (mapping storage) |
Below is a representative sequence. In practice, design template/alphabet names, role names, and paths to match your organization's standards. For exact API paths and additional parameters, refer to the official documentation for your Vault version.
The four key steps are: 1) enable the engine, 2) create a transformation, 3) bind the transformation to a role, and 4) call encode/decode or tokenize/detokenize.
CLI examples (FPE / Masking / Tokenization)
# 1) Transform エンジン有効化(Enterprise)
vault secrets enable -path=transform transform
# 2) FPE transformation の作成とロールの作成
vault write transform/role/payments \
transformations=ccn-fpe
vault write transform/transformations/fpe/ccn-fpe \
template="16" \
alphabet="numeric" \
tweak_source="internal" \
allowed_roles="payments"
# 3) FPE でエンコード/デコード(ロールスコープ)
vault write transform/encode/payments \
transformation=ccn-fpe \
value=4111111111111111
vault write transform/decode/payments \
transformation=ccn-fpe \
value=<encoded-value>
# 4) マスキング transformation の作成と利用(例: 9桁を ***-**-**** で一部秘匿)
vault write transform/transformations/masking/ssn-mask \
template="3-2-4" \
masking_character="*" \
allowed_roles="hr"
vault write transform/encode/hr \
transformation=ssn-mask \
value=123456789
# 5) トークナイゼーションの作成と利用
vault write transform/tokenization/pan-token \
allowed_roles="payments" \
max_ttl=24h
vault write transform/tokenize/payments \
transformation=pan-token \
value=4111111111111111
vault write transform/detokenize/payments \
transformation=pan-token \
value=<token>Policies separate endpoints per role. In most environments, applications get encode only, while decode/detokenize is restricted to a limited set of batch jobs or operations. For tokenization, restrict detokenize and lookup (if you allow it at all) even more tightly.
Use Performance Replication (PR) to scale throughput and DR for disaster recovery. Tokenization carries mapping data, so PR/DR consistency and lag matter. Define RPO/RTO explicitly, and apply sys/quotas rate limits under the transform mount to handle bursts.
Example policies (least privilege) and rate limits
# 最小権限ポリシー例(アプリは encode のみ)
path "transform/encode/payments" {
capabilities = ["update"]
}
# decode は運用ロールのみに
auth_method "userpass" { }
path "transform/decode/payments" {
capabilities = ["update"]
}
# detokenize はさらに限定
path "transform/detokenize/payments" {
capabilities = ["update"]
}
# レート制限(1秒あたり 200 リクエスト、バースト 400 の例)
vault write sys/quotas/rate-limit/transform-payments \
path="transform/encode/payments" \
rate=200 \
interval=1s \
burst=400Rotate keys on a planned schedule and provide a grace period during which the old version can still decode. For FPE, prepare an offline/batch re-encryption job and make the update order for application caches and secondary indexes explicit.
For availability, scale reads/processing with PR and continuously verify tokenization map consistency. Rehearse DR failover including the transform endpoints, and pre-validate application retry behavior and latency thresholds.
Operations runbook example (conceptual)
# FPE 鍵ローテーション(概念例。実際のパスはドキュメントで要確認)
# 1) 新バージョン発行
vault write -f transform/transformations/fpe/ccn-fpe/rotate
# 2) 旧バージョン decode 許容期間を設定(ポリシー/設定で管理)
# 3) バッチで再暗号化(アプリ/ETL 側で)
# 4) 許容期間終了後、旧鍵を失効
# ヘルスチェック/計測(例)
vault read sys/health
vault metrics
# レプリケーション状態確認
yvault read sys/replication/status # 実環境では適切な権限で実行Ops
問題 1
For PCI DSS compliance, you want to protect 16-digit PANs at the application storage layer while preserving the digit count, and you want to avoid storing any mapping. Decryption should be allowed only for a limited batch process. Which configuration satisfies these requirements most simply?
正解: A
The requirements are format preservation (digit count), no mapping storage, and limited decryption. FPE is the best fit. Tokenization requires a mapping store, masking is irreversible, and Transit does not preserve format.
Is the Transform engine available in the OSS edition of Vault?
No. The Transform engine is a Vault Enterprise feature. Verify your license and edition configuration before adopting it.
Can I look up the original value from a token (reverse lookup)?
Only roles with detokenize permission can restore the original value. Bulk operations like 'search original values across a token list' are not allowed by design. Keep detokenize and lookup-style permissions strictly separated.
Is a service outage required when rotating keys?
Usually no. You can perform a zero-downtime migration by continuing to encode with the new key version while allowing decode with the old version for a grace period. Plan re-encryption batches and ensure you have throughput headroom in advance.
Practice with certification-focused question sets
無料で問題を解いてみるNicheeLab Editorial Team
NicheeLab editorial team focused on data engineering and cloud certification learning. Content is structured around practical study needs and official exam domains.
Vault Core Concepts: Sealed/Unsealed, Auth, Secrets (2026)
Vault fundamentals — sealed/unsealed state, auth methods, se...
Vault Operations Professional (VOP-003): Complete Guide (2026)
Pass the Vault Operations Professional exam — enterprise pat...
Vault Path-Based Routing: API URL Structure (2026)
How Vault's path-based routing works — mount points, sub-pat...
Vault Tokens: Auth Token Mechanics (2026)
Token fundamentals — service vs. batch tokens, accessor, ren...
Vault Token Types: Service, Batch, Periodic (2026)
Service vs. batch tokens compared — performance, ACL behavio...