Skip to content

Guia de Configuracion de Azure

Esta guia lo acompana paso a paso en la creacion de un Service Principal con acceso de solo lectura para CLARITY y su incorporacion a su instancia.

Requisitos Previos

  • Una suscripcion de Azure con el rol Owner o User Access Administrator
  • Azure CLI instalado o acceso al Portal de Azure

Opcion 1: Azure CLI (Recomendado)

Cree un Service Principal y asigne los roles necesarios:

bash
# Iniciar sesion en Azure
az login

# Crear un Service Principal con rol Reader en su suscripcion
az ad sp create-for-rbac \
  --name "clarity-finops" \
  --role "Reader" \
  --scopes "/subscriptions/YOUR_SUBSCRIPTION_ID"

Este comando produce la siguiente salida:

json
{
  "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "displayName": "clarity-finops",
  "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Guarde estos valores — los necesitara:

  • appId = Client ID
  • password = Client Secret
  • tenant = Tenant ID

Ahora asigne el rol Cost Management Reader para acceso a datos de facturacion:

bash
# Asignar rol Cost Management Reader
az role assignment create \
  --assignee "APP_ID_FROM_ABOVE" \
  --role "Cost Management Reader" \
  --scope "/subscriptions/YOUR_SUBSCRIPTION_ID"

Opcionalmente, asigne Monitoring Reader para metricas de rendimiento mejoradas:

bash
# Opcional: Monitoring Reader para metricas detalladas
az role assignment create \
  --assignee "APP_ID_FROM_ABOVE" \
  --role "Monitoring Reader" \
  --scope "/subscriptions/YOUR_SUBSCRIPTION_ID"

Opcion 2: Portal de Azure

Paso 1: Registrar una Aplicacion

  1. Vaya a Microsoft Entra ID (Azure Active Directory) en el Portal de Azure
  2. Navegue a App registrations > New registration
  3. Ingrese:
    • Name: clarity-finops
    • Supported account types: Accounts in this organizational directory only
    • Redirect URI: Dejar en blanco
  4. Haga clic en Register
  5. En la pagina de resumen, copie el Application (client) ID y el Directory (tenant) ID

Paso 2: Crear un Client Secret

  1. En el registro de la aplicacion, vaya a Certificates & secrets > Client secrets > New client secret
  2. Ingrese una descripcion (por ejemplo, "CLARITY access") y seleccione un periodo de expiracion
  3. Haga clic en Add
  4. Copie el Value del secreto inmediatamente — solo se muestra una vez

Paso 3: Asignar Roles en la Suscripcion

  1. Vaya a Subscriptions > seleccione su suscripcion
  2. Navegue a Access control (IAM) > Add role assignment
  3. Asigne el rol Reader:
    • Role: Reader
    • Assign access to: User, group, or service principal
    • Busque clarity-finops y seleccionelo
    • Haga clic en Review + assign
  4. Repita para asignar el rol Cost Management Reader
  5. Opcionalmente asigne Monitoring Reader para metricas mejoradas

Paso 4: Encontrar el Object ID del Service Principal

Este paso es importante para la resolucion de problemas con asignaciones de roles:

  1. Vaya a Microsoft Entra ID > Enterprise applications
  2. Busque clarity-finops
  3. Anote el Object ID en esta pagina — este es el Object ID del Service Principal

Object ID del Service Principal

Azure tiene tres Object IDs diferentes para los registros de aplicaciones. Al resolver problemas de asignacion de roles o hacer referencia al SP programaticamente, siempre use el Object ID de Enterprise Applications (el Service Principal), no el Object ID de la pagina de App Registration. Son valores diferentes.

Roles Requeridos

RolPropositoRequerido
ReaderDescubrimiento de recursos — lista VMs, bases de datos, cuentas de almacenamiento, clusters AKS y todos los demas recursosSi
Cost Management ReaderDatos de costos y facturacion — costos a nivel de servicio, costos a nivel de recurso, presupuestos y proyeccionesSi
Monitoring ReaderMetricas de rendimiento — utilizacion de CPU, memoria, red y disco desde Azure MonitorOpcional

Por que Reader?

Reader es un rol integrado de Azure que otorga acceso de lectura a todos los tipos de recursos en la suscripcion. CLARITY lo utiliza para descubrir todos los recursos que pueden generar costos — VMs, clusters AKS, bases de datos SQL, cuentas de almacenamiento, balanceadores de carga, App Services, recursos de red y mas. Esto garantiza visibilidad completa de recursos inactivos, sobredimensionados y subutilizados.

Acceso Multi-Suscripcion

Si tiene multiples suscripciones bajo el mismo tenant, puede asignar roles a nivel de Management Group para otorgar acceso a CLARITY a todas las suscripciones a la vez:

bash
az role assignment create \
  --assignee "APP_ID" \
  --role "Reader" \
  --scope "/providers/Microsoft.Management/managementGroups/YOUR_MG_ID"

CLARITY descubrira automaticamente todas las suscripciones dentro del alcance del management group.

Agregar a CLARITY

  1. Inicie sesion en CLARITY y navegue a Provider Setup
  2. Haga clic en Add Account y seleccione Azure
  3. Ingrese lo siguiente:
    • Subscription ID — el ID de su suscripcion de Azure
    • Tenant ID — el Directory (tenant) ID del registro de la aplicacion
    • Client ID — el Application (client) ID del registro de la aplicacion
    • Client Secret — el valor del secreto que creo
  4. Haga clic en Save

CLARITY valida las credenciales de inmediato autenticandose contra su tenant de Azure y comienza la sincronizacion inicial.

Verificacion

Despues de que se complete la sincronizacion inicial (generalmente 2-5 minutos), verifique que los datos esten fluyendo:

  • Dashboard — Desglose de costos por servicio de Azure (Virtual Machines, SQL Database, Storage, etc.)
  • Resources — Sus VMs, clusters AKS, bases de datos y otros recursos listados con atribucion de costos
  • Insights — Recomendaciones de optimizacion basadas en Azure Advisor y analisis de utilizacion
  • Organizations — Si el Service Principal tiene acceso a multiples suscripciones, estas aparecen en la pagina de Organizations con la jerarquia de management groups

Si los recursos aparecen pero los costos se muestran en cero, es posible que el rol Cost Management Reader aun no se haya propagado. Las asignaciones de roles en Azure pueden tardar hasta 5 minutos en tomar efecto.

Limpieza

Para eliminar el acceso de CLARITY de su entorno de Azure:

Azure CLI

bash
# Eliminar asignaciones de roles
az role assignment delete \
  --assignee "APP_ID" \
  --role "Reader" \
  --scope "/subscriptions/YOUR_SUBSCRIPTION_ID"

az role assignment delete \
  --assignee "APP_ID" \
  --role "Cost Management Reader" \
  --scope "/subscriptions/YOUR_SUBSCRIPTION_ID"

# Eliminar el registro de la aplicacion
az ad app delete --id "APP_ID"

Portal de Azure

  1. Vaya a Subscriptions > Access control (IAM) > elimine las asignaciones de roles de clarity-finops
  2. Vaya a Microsoft Entra ID > App registrations > seleccione clarity-finops > Delete

Plataforma Multi-Cloud FinOps