AZURE KEY VAULT → STACKIT SECRETS MANAGER EN KMS · HANDLEIDING
Azure Key Vault naar STACKIT Secrets Manager en KMS
Een Key Vault bevat secrets, keys en certificaten. STACKIT biedt Secrets Manager voor secrets en KMS voor keys; voor het vernieuwen van certificaten noemt de run geen STACKIT-dienst. StackToIT schrijft één Secrets Manager-instance voor de vault en somt elk object, elke instelling en elke toegangsregel op die niet wordt overgenomen. Deze handleiding volgt een demo-vault met een secret, een key en een certificaat, van invoer tot een plan per object.
Eén vault erin, één Secrets Manager-instance eruit
Een demo-omgeving die voor deze pagina is opgesteld en op 4 november 2026 door StackToIT is beoordeeld: een vault van het niveau standard met RBAC-autorisatie en purge protection, één secret, één RSA-key en één certificaat. Links: de vault, het secret en de key uit de invoer (het certificaatblok is weggelaten). Rechts: het resourceblok van de STACKIT-Terraform die de engine schreef; de beoordelingsopmerkingen erboven in het bestand zijn hier weggelaten.
resource "azurerm_key_vault" "shop" {
name = "kv-shop-gwc"
location = azurerm_resource_group.sec.location
resource_group_name = azurerm_resource_group.sec.name
tenant_id = data.azurerm_client_config.current.tenant_id
sku_name = "standard"
soft_delete_retention_days = 30
purge_protection_enabled = true
rbac_authorization_enabled = true
}
resource "azurerm_key_vault_secret" "db_password" {
name = "orders-db-password"
value = var.db_password
key_vault_id = azurerm_key_vault.shop.id
}
resource "azurerm_key_vault_key" "data" {
name = "data-encryption-key"
key_vault_id = azurerm_key_vault.shop.id
key_type = "RSA"
key_size = 2048
key_opts = ["decrypt", "encrypt", "wrapKey", "unwrapKey"]
}resource "stackit_secretsmanager_instance" "migrated_secrets" {
project_id = var.project_id
name = "migrated-secrets"
}De instance is alles wat het concept schrijft
De run maakt de Secrets Manager-instance aan en niets daarbinnen. De opmerkingen vermelden dat geen enkele instelling van de vault wordt gegenereerd (naam, tenant, SKU, toegangsregels, netwerkregels of bewaartermijn) en dat elk secret opnieuw wordt aangemaakt als key in de instance.
Waarden komen nooit in het concept
De waarde van het secret komt uit een gevoelige variabele in de bron. De run schrijft geen waarde, en de kritieke instelling over vault-objecten geeft aan dat een medewerker elk secret in de instance plaatst.
Keys en certificaten zijn beslissingen
Type, grootte en bewerkingen van een key kiest u op een KMS-key; voor het uitgeven of vernieuwen van certificaten bestaat geen STACKIT-tegenhanger. Het concept noemt beide als niet overgenomen.
Hoe de run de vault classificeert
Fragment van assessment.json voor de vault-eenheid (id, klasse, zekerheidsniveau en doel van het resultaat, waarden zoals geschreven), daarna geselecteerde commentaarregels van terraform/security.tf, letterlijk.
{
"id": "azurerm_key_vault.shop",
"result": {
"class": "RECONFIGURE",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT Secrets Manager (+ KMS for keys)",
"resources": [
"stackit_secretsmanager_instance",
"stackit_secretsmanager_user"
]
}
}
}# NOT CARRIED (azurerm_key_vault_key.data): key_opts, key_size = 2048, key_type = RSA, key_vault_id, name = data-encryption-key — a setting of azurerm_key_vault.shop: recreate its secrets as secrets in the Secrets Manager instance; none of the vault's settings (name, tenant, SKU, access policies, network rules, retention) is generated.
# NOT CARRIED (azurerm_key_vault_secret.db_password): key_vault_id, name = orders-db-password, value — a setting of azurerm_key_vault.shop: recreate its secrets as secrets in the Secrets Manager instance; none of the vault's settings (name, tenant, SKU, access policies, network rules, retention) is generated.
# azurerm_key_vault.shop: WARNING kv-certificates: Certificates (possibly auto-renewed by Key Vault) are stored in the vault; STACKIT has no certificate-lifecycle service, so renewal moves to the load balancer certificate upload or cert-manager.
# azurerm_key_vault.shop: WARNING kv-access-model: Access is granted to Entra principals (access policies or Azure RBAC); on STACKIT access is granted to Secrets Manager users or service accounts, so every consumer gets new credentials.RECONFIGURE, geen kopie
De klasse is RECONFIGURE met zekerheidsniveau MEDIUM. Applicaties stappen over van de Key Vault SDK of verwijzingen naar een Vault-client of injectie door het platform, en van Entra-principals naar Secrets Manager-gebruikers.
Tien openstaande instellingen, drie eigenaren
decisions.json bevat tien openstaande kritieke instellingen in drie records. De Identity Architect is eigenaar van vijf: toegangsmodel, verwijderbeveiliging, scope van de resourcegroep, tenant en vault-objecten. De Platform Architect bevestigt vier namen: die van de vault, het secret, de key en het certificaat; de Security Architect is eigenaar van de certificaten. Verwijderbeveiliging wordt categorisch geweigerd: de run vindt geen STACKIT-tegenhanger, dus een redesign of een geaccepteerd verschil moet daarover beslissen.
Waar elk Key Vault-object naartoe gaat
| Key Vault-object | STACKIT-doel | Wat de run zegt |
|---|---|---|
| Vault | Secrets Manager-instance | Gegenereerd als gedeelde instance voor alle gemigreerde secrets |
| Secret | Een key in de instance (KV2-store) | Een medewerker stelt de waarde in; niet geschreven in het concept |
| Key (RSA 2048) | KMS-keyring en key | Niet gegenereerd; niet-exporteerbare keys worden opnieuw aangemaakt, niet gekopieerd |
| Certificaat | Certificaatupload op de load balancer of cert-manager | Het vernieuwen verhuist; STACKIT heeft geen dienst voor de levenscyclus van certificaten |
| RBAC of toegangsbeleid | Secrets Manager-gebruikers of service accounts | Elke afnemer krijgt nieuwe inloggegevens |
| Soft delete en purge protection | Versielimiet en uw eigen back-up | Afzonderlijke secrets kunnen niet uit een back-up worden hersteld |
Klassen en formuleringen zoals de run ze heeft bepaald. Het secret, de key en het certificaat maken deel uit van de vault-eenheid.
De migratie in volgorde
De vault inventariseren
Maak een lijst van de secrets, keys en certificaten en van de afnemers van elk. De run noemt de objecten uit de Terraform; objecten die buiten Terraform zijn aangemaakt, ziet de run niet.
De instance aanmaken
Pas de gegenereerde instance eerst toe in een testproject. De provider documenteert de Secrets Manager-resources alleen voor een provider die is geconfigureerd met default_region eu01.
Secrets verplaatsen
STACKIT vermeldt compatibiliteit met HashiCorp Vault KV2 en één secrets engine. Schrijf elke waarde met de Vault CLI zoals de how-to van STACKIT laat zien, bijvoorbeeld vault kv put -mount=<instance ID> orders-db-password value=…, en stel een versielimiet in, omdat de facturering secretversies telt.
Keyrings en keys aanmaken
Maak een keyring aan en daarna elke key met een algoritme en doel dat KMS vermeldt. KMS accepteert geïmporteerd sleutelmateriaal, maar de run geeft aan dat niet-exporteerbare Azure-keys opnieuw worden aangemaakt.
De omgang met certificaten vervangen
Upload naar de load balancer of draai cert-manager op een cluster. Plan het vernieuwen als werk, want niets vernieuwt het certificaat voor u.
Nieuwe toegang uitgeven
Geef elke afnemer een Secrets Manager-gebruiker. Het wachtwoord wordt gegenereerd, kan niet worden gewijzigd en een nieuw wachtwoord vergt een nieuwe gebruiker.
Keyring, key en een alleen-lezen gebruiker, handmatig
Eerst de keyring
stackit_kms_keyring vereist een project_id en een display_name. Het concept schrijft geen keyring; u voegt die toe zodra de beslissingen over de keys zijn genomen.
Dan de key
stackit_kms_key vereist keyring_id, display_name, protection, algorithm en purpose; het voorbeeld van de provider gebruikt de protection software. Voor de RSA 2048-encryptiekey van de demo zijn rsa_2048_oaep_sha256 met het purpose asymmetric_encrypt_decrypt de dichtstbijzijnde vermelde waarden.
Controleren of de key past
De Azure-key staat encrypt, decrypt, wrapKey en unwrapKey toe. Vanaf november 2026 vermeldt STACKIT KMS aes_256_gcm en RSA OAEP-varianten (2048, 3072 en 4096 bit met SHA-256, 4096 bit met SHA-512) voor versleutelen en ontsleutelen. Of een van die varianten past bij de manier waarop uw code datakeys wrapt, moet u zelf controleren vóór de cutover.
Genereren of importeren
Met KMS bepaalt u per key of keyversie of het materiaal wordt gegenereerd of geïmporteerd, en KMS geeft aan dat exporteren van keys niet de bedoeling is. Keys die KMS nooit verlaten, worden opnieuw aangemaakt, zoals de run aangeeft voor niet-exporteerbare Azure-keys.
Een alleen-lezen afnemer
stackit_secretsmanager_user met write_enabled op false geeft een applicatie alleen leestoegang. Het wachtwoord wordt door de dienst gegenereerd en als sensitive attribuut teruggegeven.
Destroy verwijdert niet
Bij destroy plant de provider een key voor verwijdering in en haalt een keyring alleen uit de state. Behandel beide als langlevende resources.
Vragen van securityteams
Kunnen we een verwijderd secret herstellen?
Niet uit een back-up. STACKIT geeft aan dat afzonderlijke secrets niet kunnen worden hersteld en dat de back-up dient voor disaster recovery. Overschreven secrets blijven bestaan als oudere versies wanneer de versielimiet hoger is dan één; bewaar dus een externe kopie van de waarden als u rekent op herstel na verwijdering.
Vervangt KMS de Key Vault-keys één op één?
Niet als kopie. KMS vermeldt een reeks algoritmen en doelen en staat import toe, maar de run behandelt exporteerbare en niet-exporteerbare keys verschillend en vraagt om een beslissing per key.
Wat gebeurt er met certificaten?
Volgens de run heeft STACKIT geen dienst voor de levenscyclus van certificaten. Het vernieuwen verhuist naar de upload op de load balancer of naar cert-manager.
Welke applicaties veranderen?
Applicaties die de Key Vault SDK aanroepen of Key Vault-verwijzingen gebruiken. Ze stappen over op een Vault-client of op injectie door het platform, bijvoorbeeld External Secrets Operator op een cluster.
Bronnen
Uw volgende stap: STACKIT.
Vertel ons over uw omgeving, dan laten wij zien wat StackToIT daarvoor oplevert: doelarchitectuur, Terraform-artefacten en een gestructureerd migratieplan.
Laat uw gegevens achter, onze specialisten nemen contact met u op.
Liever zelf een e-mail sturen? connect@stacktoit.com
Hartelijk dank.
Uw verzoek is bij ons binnengekomen. Onze specialisten nemen contact met u op.