HUAWEI CLOUD IAM → STACKIT · GIDS

Huawei Cloud IAM-migratie en toegangsbeheer op STACKIT

Er bestaat geen converter van Huawei Cloud IAM naar toegangsbeheer op STACKIT, en de run zegt dat ook: alle acht identiteitsresources van het voorbeeld zijn MANUAL_REVIEW met zekerheidsniveau LOW. Voor de gebruikers, groepen en de custom role is de reden dat IAM-policies op STACKIT geen tegenhanger op documentniveau hebben; de agency, de identity provider en het groepslidmaatschap zijn resourcetypen die deze build helemaal niet catalogiseert. Mensen worden gebruikersaccounts die via uw identity provider inloggen, pipelines en servers worden service accounts, policies worden rolbindingen en custom roles op organisatie, folder of project, en een agency wordt een ontwerpbeslissing. Deze gids laat zien wat StackToIT uit uw IAM-Terraform leest en hoe u daarmee de STACKIT-kant opbouwt.

De toegangsmigratie in acht stappen

  1. 1. Inventariseer identiteiten buiten de Terraform-code om

    StackToIT leest de Terraform-code en maakt met geen enkel account verbinding. Gebruikers, sleutels en agencies die in de console zijn aangemaakt, staan niet in het resultaat. Exporteer die lijst dus apart en vergelijk.

  2. 2. Beoordelen

    Voer stacktoit assess uit op de IAM-module. Verwacht overal MANUAL_REVIEW; de waarde zit in de inventaris: welke identiteit, welke instelling, welke afhankelijkheid, en een golfvolgorde die de groepen, gebruikers, rollen, de agency en de provider eerst zet en het lidmaatschap daarna.

  3. 3. Scheid mensen van machines

    Een gebruiker als alice.platform is een persoon. Een gebruiker als ci-deployer is een pipeline. Ze komen in verschillende STACKIT-constructies terecht, dus label elke identiteit voordat u iets ontwerpt.

  4. 4. Ontwerp de hiërarchie vóór de rollen

    Rolbindingen staan op organisaties, folders en projecten en worden naar beneden overgeërfd. De documentatie geeft aan dat toegang niet kan worden beperkt met een binding op een onderliggend niveau. Bind dus op het laagste niveau dat werkt en richt folders en projecten in op wie wat mag zien.

  5. 5. Koppel uw identity provider

    STACKIT-gebruikersaccounts leven in een identity provider; de STACKIT IdP koppelt externe providers via OIDC of SAML 2.0 en richt gebruikers en groepen in met SCIM. Mensen loggen daarna in met de inloggegevens die ze al hebben, en er gaat geen Huawei-wachtwoord mee.

  6. 6. Maak service accounts voor machines

    Pipelines en servers krijgen service accounts. Geef de voorkeur aan OIDC-workloadfederatie, die een kortlevend token van de issuer van uw CI uitwisselt, boven langlevende sleutels. De README van de run geeft hetzelfde advies voor de authenticatie van de provider.

  7. 7. Vertaal policies naar rollen

    Begin bij de vooraf gedefinieerde rollen Owner, Editor en Reader en de productrollen, en schrijf alleen een custom role waar die niet passen. Een custom role is een benoemde lijst met permissions, dus elke Action van een Huawei-policy wordt herschreven als een of meer STACKIT-permissions.

  8. 8. Testen, overschakelen, uitfaseren

    Log in als elke soort gebruiker en voer de taken uit die daarbij horen. Verwijder de Huawei-identiteiten na de cutover en roteer elk secret dat ooit in Terraform-variabelen of state heeft gestaan. Volgens de run legt degene die deze stappen uitvoert de rollback vast.

Gebruikers, groepen en een custom role, beoordeeld

Een kleine Huawei Cloud IAM-omgeving met acht resources, voor deze pagina geschreven en op 4 november 2026 door StackToIT beoordeeld. Links drie blokken uit de invoer, rechts het resultaat dat de run ervoor vastlegde: een fragment van assessment.json met de waarden zoals de run ze schreef.

Voorbeeldinvoermain.tf
resource "huaweicloud_identity_user" "alice" {
  name        = "alice.platform"
  description = "Platform engineer"
  password    = var.initial_password
}

resource "huaweicloud_identity_group" "platform" {
  name        = "platform-admins"
  description = "Platform engineering"
}

resource "huaweicloud_identity_role" "bucket_reader" {
  name        = "custom-obs-bucket-reader"
  description = "Read bucket ACLs"
  type        = "AX"
  policy      = <<EOT
{
  "Version": "1.1",
  "Statement": [
    {
      "Action": ["obs:bucket:GetBucketAcl"],
      "Effect": "Allow"
    }
  ]
}
EOT
}
StackToIT-assessmentassessment.json
[
  {
    "id": "huaweicloud_identity_user.alice",
    "result": {
      "class": "MANUAL_REVIEW",
      "confidence": "LOW",
      "reason": "IAM policies have no document-level counterpart on STACKIT. Map people and workloads to STACKIT roles and service accounts in a reviewed design."
    }
  },
  {
    "id": "huaweicloud_identity_group.platform",
    "result": {
      "class": "MANUAL_REVIEW",
      "confidence": "LOW",
      "reason": "IAM policies have no document-level counterpart on STACKIT. Map people and workloads to STACKIT roles and service accounts in a reviewed design."
    }
  },
  {
    "id": "huaweicloud_identity_role.bucket_reader",
    "result": {
      "class": "MANUAL_REVIEW",
      "confidence": "LOW",
      "reason": "IAM policies have no document-level counterpart on STACKIT. Map people and workloads to STACKIT roles and service accounts in a reviewed design."
    }
  }
]
  • Met opzet geen doel

    De run noemt voor deze eenheden geen STACKIT-dienst. De reden vraagt u om mensen en workloads in een beoordeeld ontwerp aan STACKIT-rollen en service accounts te koppelen.

  • Instellingen genoemd ter beoordeling

    Voor de gebruiker noemt de run description, name en password, voor de groep description en name en voor de rol description, name, policy en type, elk als kritieke instelling die aan u is overgelaten. Het policydocument wordt niet geïnterpreteerd.

  • Wachtwoorden zijn geen migratie-item

    Het wachtwoord van een IAM-gebruiker die door Terraform wordt beheerd, hoort bij het oude systeem. Plan inloggen via uw identity provider in plaats van het te kopiëren.

Een agency, een identity provider en een lidmaatschap

De drie resourcetypen uit dezelfde run die de kennisbank van deze build niet catalogiseert.

Voorbeeldinvoermain.tf
resource "huaweicloud_identity_agency" "backup" {
  name                  = "backup-agency"
  description           = "Lets a partner account run backups"
  delegated_domain_name = "partner-backup-domain"

  domain_roles = ["OBS Administrator"]
}

resource "huaweicloud_identity_provider" "corp" {
  name     = "corp-idp"
  protocol = "oidc"
  status   = true
}

resource "huaweicloud_identity_group_membership" "platform" {
  group = huaweicloud_identity_group.platform.id
  users = [huaweicloud_identity_user.alice.id, huaweicloud_identity_user.ci.id]
}
StackToIT-assessmentassessment.json
[
  {
    "id": "huaweicloud_identity_agency.backup",
    "result": {
      "class": "MANUAL_REVIEW",
      "confidence": "LOW",
      "reason": "huaweicloud_identity_agency is not in the knowledge base catalogue; an architect has to decide the target. Nothing of this resource is assessed or drafted (unknown source type)."
    }
  },
  {
    "id": "huaweicloud_identity_provider.corp",
    "result": {
      "class": "MANUAL_REVIEW",
      "confidence": "LOW",
      "reason": "huaweicloud_identity_provider is not in the knowledge base catalogue; an architect has to decide the target. Nothing of this resource is assessed or drafted (unknown source type)."
    }
  },
  {
    "id": "huaweicloud_identity_group_membership.platform",
    "result": {
      "class": "MANUAL_REVIEW",
      "confidence": "LOW",
      "reason": "huaweicloud_identity_group_membership is not in the knowledge base catalogue; an architect has to decide the target. Nothing of this resource is assessed or drafted (unknown source type)."
    }
  }
]
  • Onbekende typen blijven zichtbaar

    Elk is MANUAL_REVIEW met zekerheidsniveau LOW en er wordt niets van beoordeeld of als concept geschreven. Ze verschijnen wel als eenheden, met afhankelijkheden, dus het groepslidmaatschap wordt na de groep en beide gebruikers geordend.

  • De provider wordt niet als zodanig gelezen

    Het identity-transition-bestand van deze run zegt dat geen enkele eenheid een OIDC-provider of een gefedereerde trust is, hoewel het voorbeeld een OIDC identity provider declareert. Beschouw dat bestand als stil over deze resource en inventariseer de provider zelf.

Hoe de concepten van Huawei Cloud IAM worden gekoppeld aan STACKIT

Huawei Cloud IAMSTACKIT-tegenhangerWat u bepaalt
IAM-gebruiker, een persoonGebruikersaccount, opgeslagen in een identity provider; inloggen met gebruikersnaam en wachtwoord of een gefedereerde methode; het e-mailadres van de gebruiker is het subject van een rolbindingWelke mensen, welke provider, hoe accounts worden ingericht. Het wachtwoord gaat niet mee.
IAM-gebruiker, een pipelineService account, voor applicaties, scripts en virtuele machines; key flow of OIDC-workloadfederatieWelke workloads, welke issuer en welke assertions, zoals subject en audience.
GebruikersgroepRolbindingen op een organisatie, folder of project; gebruikers en groepen kunnen via SCIM vanuit uw provider binnenkomenOf u groepen spiegelt. De pagina over rollen en permissions noemt een groeps-ID als mogelijk subject van een binding, naast het e-mailadres van een gebruiker en het e-mailadres van een service account, dus een groep kan de binding dragen in plaats van elke gebruiker.
Door het systeem gedefinieerde rol of policyVooraf gedefinieerde rollen: Owner, Editor, Reader, plus productrollen met de naam product-name.noun, meestal voor service accountsDe smalste rol waarmee de taak kan draaien, op het laagste niveau dat werkt.
Custom policy (JSON-document)Custom role: een benoemde set permissions zoals postgres-flex.database.getHerschrijf elke Action als permissions. Een Huawei-statement kan het Effect Deny hebben, dat voorrang heeft op Allow, en Conditions; de rollenpagina van STACKIT beschrijft alleen additieve bindingen, dus een Deny wordt een permission die u op die scope niet verleent, en een Condition vervalt of wordt op een andere manier afgedwongen. Dit is onze lezing van de twee pagina's; de run interpreteert geen policies.
AgencyGeen één-op-één-tegenhanger; een service account of een gefedereerde identiteit voor de vertrouwde partijWie de vertrouwde partij is, hoe die zich authenticeert en wat die mag.
Identity provider (een enterprise-IdP die met Huawei Cloud is gefedereerd via SAML 2.0 of OpenID Connect 1.0; OIDC ondersteunt alleen SSO voor virtuele gebruikers)STACKIT IdP met OIDC, SAML 2.0 en SCIM; voor service accounts een OIDC-issuer met assertionsWelke van uw providers de bron van identiteiten wordt.

Huawei Cloud-concepten uit de pagina's over IAM-basisconcepten, policysyntaxis en het overzicht van identity providers, STACKIT-kant uit de pagina's over rollen en permissions, custom roles, service accounts en de STACKIT IdP, stand november 2026. Of een bepaalde Huawei-policy reproduceerbaar is, hangt af van de policy, die de run niet interpreteert.

Wat de run zegt over identiteit en providertoegang

Links het blok met beperkingen uit assurance/identity-transition.md, rechts de rij over providerauthenticatie uit terraform/README.md. Beide zijn regels zoals de run ze schreef.

Identity limitsassurance/identity-transition.md
## Limits

- Workload identity federation is not assessed as an option for any workload. A row states an OIDC issuer where the source names one, as a fact of the source, and never that federation can replace a key.
- A static credential is named only where the knowledge base reads a machine user with access keys on the unit. A scan that finds no key cannot say a workload has none, so the absence of a credential is never written.
- Privilege delta, break-glass access and human identity are not assessed for any row.
- A workload that names no identity in the source has no row, and a run whose draft held no identity intents lists only the units that are an identity themselves.
- The block states what the identity plan holds open. It does not attach, grant or federate anything.
Provider authenticationterraform/README.md
| Check | Result |
|---|---|
| Provider authentication | Authenticate the provider with Workload Identity Federation (`use_oidc = true` and `service_account_email`, a short-lived OIDC token exchanged for a STACKIT access token) instead of a long-lived service account key: the provider documents it as the way that "eliminates the need for long-lived secrets" in CI/CD (the STACKIT provider documentation, index page, section "Workload Identity Federation", and its guide "Workload Identity Federation"; knowledge-base evidence, not in this folder). |
  • Eerlijk over wat het niet ziet

    Federatie als optie, privilege delta, break-glass-toegang en menselijke identiteit worden niet beoordeeld. Dat is de review die u met uw securityteam uitvoert.

  • Een kortlevend token voor de provider

    Voor de STACKIT-Terraform-provider zelf wijst de run naar Workload Identity Federation met een service account in plaats van een langlevende sleutel.

Verschillen die in de praktijk tellen

  • Bindingen voegen alleen toegang toe

    Op STACKIT wordt toegang verleend door een nieuwe binding en niet weggenomen door een latere, en een binding op een onderliggend niveau kan niet ontzeggen wat een bovenliggend niveau verleent. Een Huawei-policy die op een deny leunt, heeft een andere structuur nodig.

  • Bindingen zitten op de hiërarchie

    Rolbindingen werken op organisaties, folders en projecten, niet op één bucket of één VM. Fijnmazige scheiding verhuist naar de projectindeling.

  • Access tokens worden uitgefaseerd

    Stand november 2026 noemt de pagina over service accounts 16 december 2025 als deprecatiedatum van access tokens van service accounts en zegt dat de rol Service Account Access Token Admin eind Q2 2026 wordt verwijderd. Gebruik de key flow of federatie.

  • Sleutels zijn secrets

    Een sleutel van een service account is een credential voor de key flow. De documentatie geeft aan dat u die als een wachtwoord behandelt en nooit in broncode opneemt.

  • Drie permissions kunnen escaleren

    iam.role.edit, iam.role.add en iam.member.add laten een subject rollen of zijn eigen bindingen wijzigen. De pagina over custom roles dringt aan op voorzichtigheid.

  • Terraform voor rollen kan wijzigen

    De STACKIT-provider 0.121.0 markeert zijn resources voor roltoewijzing als onderdeel van een opt-in-functie die nog ingrijpend kan wijzigen of kan verdwijnen. Zet de providerversie vast en beoordeel de plannen.

Vragen van securityteams

Zet StackToIT Huawei Cloud IAM-policies om in STACKIT-rollen?

Nee. De gebruikers, groepen en rollen van het voorbeeld zijn MANUAL_REVIEW met zekerheidsniveau LOW, en het policydocument staat vermeld als instelling die aan u is overgelaten. De omzetting is een beoordeeld ontwerp.

Wat vervangt een Huawei Cloud-agency?

Er is geen één-op-één-tegenhanger. Voor een workload een service account; voor een vertrouwde externe partij een gefedereerde identiteit of een gebruikersaccount in uw provider. Bepaal eerst wie wordt vertrouwd en hoe die zich authenticeert.

Kunnen we de wachtwoorden van onze gebruikers behouden?

Er is niets om over te nemen. STACKIT-gebruikersaccounts loggen in met een gebruikersnaam en wachtwoord of met een gefedereerde methode, dus koppel uw identity provider en laat mensen de inloggegevens gebruiken die ze al hebben.

Heeft de run toegang tot onze IAM nodig?

Nee. Het leest de Terraform-bestanden en maakt met geen enkel account verbinding. De gevoelige variabele initial_password blijft leeg: de run meldt die als ontbrekende invoer, markeert de bron als VARIABLE_UNRESOLVED en rondt toch af.

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

Wij gebruiken uw gegevens alleen om dit verzoek te beantwoorden en een mogelijke pilot te bespreken. Privacyverklaring