HUAWEI CLOUD KMS + CSMS → STACKIT · HANDLEIDING
Huawei KMS en CSMS naar STACKIT KMS en Secrets Manager
Sleutels en secrets zijn het deel van een omgeving dat niet zomaar meekopieert en niet verloren mag gaan. Een Huawei Cloud KMS-sleutel wordt een STACKIT KMS-sleutel zonder zijn sleutelmateriaal, dus de data die hij beschermt, wordt opnieuw versleuteld. Een CSMS-secret wordt een secret in STACKIT Secrets Manager, waarvan een operator de waarden schrijft en dat clients lezen via een interface in Vault-stijl. Deze handleiding beoordeelt twee sleutels en twee secrets en volgt ze door de hele migratie.
Twee sleutels en een secret, beoordeeld
Een kleine Huawei Cloud-omgeving, voor deze pagina geschreven en op 4 november 2026 door StackToIT beoordeeld. Links een symmetrische sleutel, een ondertekeningssleutel en een secret dat de eerste sleutel noemt, rechts het resultaat dat voor de sleutel en het secret is vastgelegd: fragmenten van assessment.json met de waarden zoals de run ze schreef.
resource "huaweicloud_kms_key" "data" {
key_alias = "payments-data"
key_algorithm = "AES_256"
key_description = "Encrypts payment exports"
pending_days = "30"
rotation_enabled = true
}
resource "huaweicloud_kms_key" "signing" {
key_alias = "payments-signing"
key_algorithm = "RSA_2048"
key_usage = "SIGN_VERIFY"
pending_days = "30"
}
resource "huaweicloud_csms_secret" "db" {
name = "payments-db"
secret_text = jsonencode({ username = "app", password = var.db_password })
kms_key_id = huaweicloud_kms_key.data.id
}{
"id": "huaweicloud_kms_key.data",
"result": {
"class": "RECONFIGURE",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT KMS"
},
"reason": "A KMS key becomes a STACKIT KMS key. Key material of the source does not move, so data encrypted with it is re-encrypted."
}
}
{
"id": "huaweicloud_csms_secret.db",
"result": {
"class": "RECONFIGURE",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT Secrets Manager"
},
"reason": "A CSMS secret becomes a secret in STACKIT Secrets Manager. Values are moved by an operator, and applications change how they read them."
}
}Het sleutelmateriaal blijft achter
De sleutel is geclassificeerd als RECONFIGURE met zekerheidsniveau MEDIUM. De run geeft aan dat het sleutelmateriaal van de bron niet verhuist, dus data die ermee is versleuteld, wordt op het doel opnieuw versleuteld.
Waarden worden door een persoon verplaatst
Het secret is ook RECONFIGURE. De waarde wordt door een operator geschreven en applicaties wijzigen hoe ze die lezen. Het assessment vraagt nooit om een secretwaarde en neemt er nooit een mee.
Genoemd, niet beslist
Voor de eerste sleutel noemt de run key_algorithm, key_alias, key_description, pending_days en rotation_enabled als instellingen die uw architecten meenemen. Voor het secret noemt de run kms_key_id, name en secret_text.
De volgorde die de run voorstelt, en wie eigenaar is
Omdat het databasesecret de datasleutel noemt, wacht het erop. De andere drie eenheden starten samen. Het tweede paneel toont een hiaat dat u beter vroeg dichtmaakt.
## Wave 1 — 3 unit(s)
| Unit | Class | Target |
|---|---|---|
| `huaweicloud_csms_secret.api` | RECONFIGURE / MEDIUM | STACKIT Secrets Manager |
| `huaweicloud_kms_key.data` | RECONFIGURE / MEDIUM | STACKIT KMS |
| `huaweicloud_kms_key.signing` | RECONFIGURE / MEDIUM | STACKIT KMS |
## Wave 2 — 1 unit(s)
| Unit | Class | Target |
|---|---|---|
| `huaweicloud_csms_secret.db` | RECONFIGURE / MEDIUM | STACKIT Secrets Manager |4 manual steps have no owner role: no role follows from the plan for it, so nobody is named to carry it out. Assign an owner to each; until then the migration is not ready (each shows "Owner assignment required" under Who below).
- the owner table has no role for the category "security" of the unit (4 manual steps): the manual migration of huaweicloud_csms_secret.api, the manual migration of huaweicloud_csms_secret.db, the manual migration of huaweicloud_kms_key.data, the manual migration of huaweicloud_kms_key.signing
## Manual stepsGolf 1 en golf 2
Beide sleutels en het losstaande secret zitten in golf 1. Het secret dat naar huaweicloud_kms_key.data verwijst, zit in golf 2. Golven zijn een vertrekpunt voor uw planning, geen planning.
Niemand is aangewezen voor security
De eigenaartabel van deze build heeft geen rol voor de categorie security, dus alle vier de handmatige stappen tonen Owner assignment required. Wijs een verantwoordelijk persoon voor sleutels en secrets aan voordat de eerste stap begint.
De migratie in acht stappen
1. Inventariseer wat elke sleutel beschermt
De Terraform-code toont de sleutels en de secrets die ernaar verwijzen. Ze toont niet elke dienst die met een sleutel versleutelt. Inventariseer die gebruikers vanuit het bronaccount; elk daarvan is een taak voor hersleuteling.
2. Koppel elke sleutel aan een STACKIT-algoritme
De conceptenpagina van STACKIT KMS noemt AES 256 GCM voor symmetrische versleuteling, RSA OAEP met 2048, 3072 en 4096 bits (en 4096 bits met SHA-512) voor asymmetrische versleuteling, HMAC SHA256, SHA384 en SHA512 voor message authentication codes, en ECDSA op P-256, P-384 en P-521 voor handtekeningen. De ondertekeningssleutel van de demo is RSA_2048 met SIGN_VERIFY: STACKIT noemt geen RSA-algoritme voor ondertekening, dus het wordt een ECDSA-sleutel en elke verifier verandert mee. Voor SM4- en SM2-sleutels is er helemaal geen vermelding; bepaal de vervanger voordat u iets bouwt.
3. Maak de key ring en de sleutels aan
Op STACKIT wordt een sleutelversie door het systeem aangemaakt of via een wrapping key geïmporteerd. Genereer standaard nieuwe sleutels. Importeer alleen sleutelmateriaal dat u zelf buiten Huawei Cloud hebt gemaakt: de FAQ van Huawei geeft aan dat een CMK niet uit zijn KMS kan worden geëxporteerd, en de run gaat er eveneens van uit dat het materiaal niet verhuist.
4. Versleutel de data opnieuw
Schakel elke gebruiker over op de nieuwe sleutel en versleutel opnieuw wat die bevat. Dit is de langste stap, en daarom moet de oude sleutel de cutover overleven.
5. Maak de Secrets Manager-instance en een gebruiker aan
Clients authenticeren met de methode userpass tegen het regionale endpoint. Plan één gebruiker per applicatie, niet één gedeelde gebruiker.
6. Schrijf de secrets in golfvolgorde
Schrijf elke waarde zelf, vanuit de bron van waarheid en niet vanuit de Terraform-code. Een JSON-secret zoals de databasegegevens past natuurlijk bij de sleutel-waardeparen van een secret in Secrets Manager.
7. Pas aan hoe applicaties lezen
Secrets Manager is compatibel met Vault KV versie 2. Applicaties vervangen de aanroep van de Huawei-SDK door een aanroep van een Vault-client en vernieuwen hun token, dat standaard 15 minuten geldig is.
8. Faseer de oude sleutels als laatste uit
Huawei plant het verwijderen van sleutels na een wachttijd van 7 tot 1096 dagen. Stel die in zodra de laatste gebruiker opnieuw is versleuteld en gecontroleerd, en beschouw een verwijderde sleutel als onherstelbaar.
Hoe elke instelling meegaat
| Huawei-instelling in de demo | Waarde | Op STACKIT |
|---|---|---|
| key_algorithm | AES_256 en RSA_2048 | AES_256 komt op STACKIT overeen met aes_256_gcm. RSA_2048 staat alleen als OAEP-versleutelingssleutel op de lijst. |
| key_usage | SIGN_VERIFY op de ondertekeningssleutel | STACKIT KMS heeft een doel voor ondertekenen en verifiëren, maar alleen met ECDSA (P-256, P-384, P-521). Een RSA-ondertekeningssleutel vereist een nieuwe ECDSA-sleutel en bijgewerkte verifiers, of een besluit om elders te blijven ondertekenen. |
| rotation_enabled | true op de datasleutel | De how-to van STACKIT roteert een sleutel door een nieuwe versie aan te maken (Rotate key in de Portal); noch die, noch de conceptenpagina beschrijft een automatisch schema. Plan rotatie als operationele taak met een eigenaar. |
| pending_days | 30 | Een instelling aan Huawei-zijde voor de wachttijd bij verwijderen, 7 tot 1096 dagen. Die bestaat niet op de nieuwe sleutel; gebruik die aan het eind op de oude sleutel. |
| secret_text | JSON met gebruikersnaam en wachtwoord | Een secret is een set sleutel-waardeparen met versies. Schrijf elk veld als paar. |
| kms_key_id | De datasleutel | De FAQ van Secrets Manager noemt geen sleutelinstelling per secret. Beschouw die als niet overgenomen en bevestig het versleutelingsgedrag bij STACKIT. |
| name | payments-db en payments-api-token | Een pad onder de Secrets Manager-ID, die als mount fungeert. |
De rijen volgen de demo-invoer. Huawei CSMS-secrets zonder gekozen sleutel gebruiken de standaardsleutel csms/default.
Een secret schrijven en lezen op STACKIT
De onderstaande commando's zijn gekopieerd uit de pagina van STACKIT over de Vault CLI, in de volgorde waarin de pagina ze noemt. Vervang de plaatshouders, en vervang het voorbeeldpad app1/mysecret en het paar foo=bar door uw eigen (bijvoorbeeld payments/db met username en password); de Secrets Manager-ID komt in de plaats van de gebruikelijke mountnaam.
export VAULT_ADDR=https://prod.sm.eu01.stackit.cloud
vault login -method=userpass username=<username> password="<password>"vault kv put -mount=<secrets-manager-id> app1/mysecret foo=bar
vault kv get -mount=<secrets-manager-id> app1/mysecretVersies kosten geld
STACKIT rekent per secretversie, en een secret mag een onbeperkt aantal versies hebben. Stel een versielimiet in op de instance of het secret.
Verwijderd is weg
STACKIT geeft aan dat afzonderlijke secrets of secret engines niet kunnen worden hersteld. Bewaar het bronsecret totdat het nieuwe echt verkeer heeft bediend.
Waar Huawei en STACKIT verschillen
Geroteerde secrets
Huawei maakt onderscheid tussen gedeelde en geroteerde secrets, en geroteerde secrets omvatten diensten als RDS, GaussDB en DCS Redis. De FAQ van STACKIT Secrets Manager beschrijft versiebeheerde opslag en noemt geen automatische rotatie; vertrouwt u daar nu op, plan dan de herbouw ervan.
Omvang en indeling
Een CSMS-secret kan tot 64 KB groot zijn. De STACKIT-pagina's die voor deze handleiding zijn gelezen, noemen geen groottelimiet, dus controleer die voordat u grote waarden verplaatst.
Verwijderen van een sleutel is definitief
De provider van Huawei accepteert pending_days van 7 tot 1.096 dagen. Beschouw het verwijderen als definitief en plan het niet voordat de hersleuteling is gecontroleerd.
De algoritmen worden smaller
De provider van Huawei accepteert de sleutels AES_256, SM4, RSA_2048, RSA_3072, RSA_4096, EC_P256, EC_P384 en SM2. De set van STACKIT verschilt: RSA is alleen voor versleuteling, EC is voor ECDSA-handtekeningen, en SM4 en SM2 ontbreken, dus voor sommige sleutels is er een ontwerpbeslissing in plaats van een koppeling.
Wat u aanpast voordat u iets toepast
Eigenaren aanwijzen
Voeg een verantwoordelijk persoon toe voor de vier securitystappen, zoals het bestand met handmatige stappen eist.
De regio beantwoorden
De run vraagt om target.region (eu01 of eu02) en telt dat als het verzoek dat het concept blokkeert. Kopieer het uit inputs-template.yaml naar uw invoerbestand en geef dat mee met --inputs.
Houd secretwaarden uit de repository
De demo levert plaatshouderwaarden alleen in een variabelenbestand mee zodat het assessment kan afronden. Echte waarden horen in uw secretopslag, nooit in Terraform-bestanden.
Zet de provider vast
De run waarschuwt dat geen lockbestand de huaweicloud-provider vastzet. Commit .terraform.lock.hcl.
Vragen van securityteams
Kunnen we een Huawei KMS-sleutel exporteren en in STACKIT importeren?
Nee. De DEW-FAQ van Huawei antwoordt dat een CMK niet uit KMS kan worden geëxporteerd, en de run geeft aan dat het sleutelmateriaal van de bron niet verhuist. STACKIT kan sleutelmateriaal importeren via een wrapping key, wat past bij materiaal dat u zelf elders hebt gegenereerd. Voor een sleutel die in Huawei KMS is gegenereerd, plant u een nieuwe sleutel en hersleuteling.
Schrijft StackToIT de Terraform voor STACKIT KMS of Secrets Manager?
Ja. StackToIT schrijft een STACKIT-Terraform-concept dat uw architecten beoordelen. De run noemt de doelresources, een key ring en sleutel, en een Secrets Manager-instance en gebruiker, en legt de vier eenheden vast als stappen.
Moeten onze applicaties worden aangepast?
Voor secrets ja: ze lezen via een interface die compatibel is met Vault KV versie 2 in plaats van via de Huawei-aanroep, en vernieuwen een token. Bij sleutels verandert de aanroep die versleutelt of ontsleutelt naar de STACKIT KMS-API.
Wat leest het assessment uit onze secrets?
Alleen de Terraform-structuur. Het vraagt nooit om een secretwaarde en maakt geen verbinding met uw Huawei Cloud-account.
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.