AWS IAM → STACKIT
AWS IAM migreren naar STACKIT
AWS IAM-rollen worden STACKIT service accounts met roltoewijzingen op projectniveau. StackToIT onderscheidt de rollen die uw applicaties gebruiken van rollen die alleen AWS-diensten nodig hebben, zodat u identiteiten overneemt en niet de interne AWS-voorzieningen.
Van ECS-taakrollen naar STACKIT service accounts
Uit de gepubliceerde run van de AWS Retail Store. Links: de AWS-bron precies zoals AWS die publiceert. Rechts: de resourceblokken die StackToIT schreef; de reviewopmerkingen boven elk blok in het bestand zijn hier weggelaten.
resource "aws_iam_role" "task_execution_role" {
name = "${var.environment_name}-${var.service_name}-te"
assume_role_policy = data.aws_iam_policy_document.assume_role_policy.json
tags = var.tags
}
resource "aws_iam_role_policy_attachment" "task_execution_role_policy" {
role = aws_iam_role.task_execution_role.name
policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy"
}
resource "aws_iam_role_policy_attachment" "task_execution_role_additional" {
count = length(var.additional_task_execution_role_iam_policy_arns)
role = aws_iam_role.task_execution_role.name
policy_arn = var.additional_task_execution_role_iam_policy_arns[count.index]
}
resource "aws_iam_role" "task_role" {
name = "${var.environment_name}-${var.service_name}-task"
assume_role_policy = data.aws_iam_policy_document.assume_role_policy.json
tags = var.tags
}resource "stackit_service_account" "retail_app_ecs_carts_service_task_execution_role" {
project_id = var.project_id
name = "retail-app-ec-e66809"
}
resource "stackit_authorization_project_role_assignment" "retail_app_ecs_carts_service_task_execution_role" {
for_each = toset(var.carts_task_execution_project_roles)
resource_id = var.project_id
role = each.value
subject = stackit_service_account.retail_app_ecs_carts_service_task_execution_role.email
}Rollen worden service accounts
Elke taakrol en uitvoeringsrol wordt een STACKIT service account, met een naam binnen de STACKIT-limiet van 20 tekens.
Rechten worden roltoewijzingen
AWS-acties komen niet één op één overeen met STACKIT-rollen. De rollen zijn daarom per service account een variabele die uw architect invult.
Servicerollen vervallen
Rollen die alleen een door AWS beheerde dienst gebruikt, zoals de EKS-control plane, worden als niet nodig op STACKIT benoemd.
Trustpolicies benoemd
Een STACKIT service account kent geen trustpolicy. De code vermeldt dat, en verwijzingen naar rol-ARN's staan op de lijst om bij te werken.
Wat de run van de Retail Store opleverde
Identiteit is meer dan rollen. Dit zijn de feiten van de gepubliceerde run van de AWS Retail Store.
Tien rollen, tien service accounts
Vijf services (ui, catalog, carts, checkout, orders) hebben elk een taakrol en een uitvoeringsrol. Elke rol wordt één stackit_service_account.
Eén variabele per account
Elk service account krijgt een roltoewijzing die door een variabele wordt aangestuurd, zoals carts_service_task_project_roles of carts_task_execution_project_roles. De run schreef er tien voor uw architect om in te vullen.
Namen binnen de limiet
Een naam van een service account telt hooguit 20 tekens, bestaat uit kleine letters, cijfers en enkele streepjes en is uniek binnen een project. Het concept kapt de naam af en voegt een achtervoegsel toe van de SHA-256 van het bronadres, bijvoorbeeld retail-app-ec-e66809. Stel de naam in die u wilt.
Koppelen blijft een beslissing
Voor alle vijf de ECS-services is het koppelen van de identiteit als beslissing gemarkeerd. De Identity Architect is eigenaar van het werkpakket Set up the identities and access, met tien stappen.
Uitgeschakelde rollen toch geclassificeerd
In de Retail-omgeving zijn de twee RDS-rollen voor enhanced monitoring en de rol voor VPC-flowlogs uitgeschakeld met count = 0. De run legt toch vast hoe die zouden worden behandeld: een monitoringrol die een database-instance gebruikt, geldt als rol van een door AWS beheerde dienst, en een rol waarvan het doel afhangt van waarden die pas tijdens de planfase bekend zijn, gaat naar uw architect.
Secrets erbij
Vier Secrets Manager-secrets worden gekoppeld aan STACKIT Secrets Manager. Een script schrijft ze via de Vault-compatibele API zodra u de beslissing accepteert om van die API afhankelijk te zijn.
Bewezen op een echte AWS-omgeving
De AWS Retail Store Sample App, een openbaar Terraform-project van AWS, door StackToIT beoordeeld en volledig gepubliceerd, precies zoals de run het heeft opgeleverd.
Casestudy bekijken (Engels)- 282
- Terraform-resourcedeclaraties geanalyseerd
- 44
- migratie-eenheden geïdentificeerd
- 38
- doeleenheden gegenereerd, van de 52 onderzochte eenheden
- 331
- planstappen uitgeschreven
Vragen van securityteams
Vertaalt StackToIT IAM-policies naar STACKIT-rollen?
StackToIT koppelt elke rol en de bijbehorende policies aan een service account met roltoewijzingen en laat de keuze van de STACKIT-rollen aan uw architect, omdat AWS-acties en STACKIT-rollen niet één op één op elkaar aansluiten.
Is de resource voor roltoewijzing op STACKIT stabiel?
stackit_authorization_project_role_assignment hoort bij de feature iam van de STACKIT-provider, een opt-in-functie waarvan de provider zegt dat die nog kan wijzigen. StackToIT schakelt die expliciet in en meldt dat in de code.
Hoe zit het met rechten die tot afzonderlijke resources beperkt zijn?
Een roltoewijzing op projectniveau geldt voor het hele project. Beperkt een bronpolicy rechten tot specifieke resources, dan markeert StackToIT dat, zodat u bindingen per resource kunt gebruiken waar de STACKIT-dienst die biedt.
Bepaalt StackToIT hoe een workload zich authenticeert?
StackToIT benoemt de vraag. De run vermeldt per service hoe de workload zijn service account krijgt, als beslissing voor de Identity Architect. Of workload identity federation past, de verschillen in rechten, break-glass-toegang en menselijke identiteiten blijven bij uw architecten. De run koppelt, verleent en federeert niets.
Waarom lijken de gegenereerde namen van service accounts afgekapt?
STACKIT beperkt de naam van een service account tot 20 tekens, dus een lange AWS-rolnaam kan niet ongewijzigd worden gebruikt. Het concept verkort de naam en voegt een hash-achtervoegsel toe, zodat twee rollen nooit botsen. U kunt elke geldige naam instellen.
Hoeveel rolvariabelen heeft een omgeving nodig?
Eén per service account. De omgeving van de Retail Store telt tien rollen en de run schreef tien variabelen, die uw architect elk invult met de STACKIT-rollen die dat service account nodig heeft.
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.