Skip to content

Commit

Permalink
[PRDP-175] feat: migrating to federated identity
Browse files Browse the repository at this point in the history
  • Loading branch information
alessio-cialini committed Oct 30, 2023
1 parent 4c49bb2 commit 0f8e3d7
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .identity/00_data.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ data "azurerm_resource_group" "dashboards" {
name = "dashboards"
}

data "azurerm_storage_account" "tfstate_app" {
name = "pagopainfraterraform${var.env}"
resource_group_name = "io-infra-rg"
}

data "azurerm_kubernetes_cluster" "aks" {
name = local.aks_cluster.name
resource_group_name = local.aks_cluster.resource_group_name
Expand Down
16 changes: 16 additions & 0 deletions .identity/02_application_main.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
resource "azuread_application" "main" {
display_name = "${local.app_name}-main"
}

resource "azuread_service_principal" "main" {
application_id = azuread_application.main.application_id
}

resource "azuread_application_federated_identity_credential" "main" {
application_object_id = azuread_application.main.object_id
display_name = "github-federated"
description = "github-federated"
audiences = ["api://AzureADTokenExchange"]
issuer = "https://token.actions.githubusercontent.com"
subject = "repo:${local.github.org}/${local.github.repository}:environment:${var.env}"
}
22 changes: 22 additions & 0 deletions .identity/02_application_main_auth.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
resource "azurerm_role_assignment" "main_terraform_subscription" {
scope = data.azurerm_subscription.current.id
role_definition_name = "Reader"
principal_id = azuread_service_principal.main.object_id
}

resource "azurerm_role_assignment" "main_terraform_storage_account_tfstate_app" {
scope = data.azurerm_storage_account.tfstate_app.id
role_definition_name = "Contributor"
principal_id = azuread_service_principal.main.object_id
}
resource "azurerm_role_assignment" "main_terraform_storage_account_tfstate_app_github_aks" {
scope = data.azurerm_storage_account.tfstate_app.id
role_definition_name = "Contributor"
principal_id = module.github_runner_app.object_id
}

resource "azurerm_role_assignment" "main_terraform_resource_group_dashboards" {
scope = data.azurerm_resource_group.dashboards.id
role_definition_name = "Contributor"
principal_id = azuread_service_principal.main.object_id
}

0 comments on commit 0f8e3d7

Please sign in to comment.