Introdução
Conectar targets (destinos) de billing (AWS, Azure e GCP) ao Turbonomic é de extrema importância. A ausência de visibilidade financeira faz com que as ações propostas pelo Turbonomic não tenham a informação financeira exata de cada cliente, sendo substituída pelo price list (preço público). Um outro benefício é a leitura e gerência de instâncias reservadas (RI's) e Saving Plans (SP's), sugerindo compras e modificações, diminuindo vacâncias e aumentando coberturas, de maneira automática.
Pré-requisitos
- O usuário que deverá criar a Service Principal de conexão, juntamente com a atribuiçãso da Role Enrollment Reader, deverá possuir direitos de Global Admin ou Elevated Access.
- A Service Principal de conexão do Turbonomic já deverá ter sido criada.
- A pessoa executante deve possuir conhecimentos básicos de administração de Identidades da Azure.
Procedimento
- Vamos coletar todas as informações primeiramente e identificá-las, para não inverter códigos por engano.
-
- No portal da Azure, vá em: Search -> Cost and Management + Billing -> Properties -> Billing Account ID e anote o BILLING ACCOUNT ID.

- Vá em Search -> App Registrations -> Encontre o Service Principal do Turbonomic (quejá deverá ter sido criado anteriormente) e copie os seguintes dados:
i - Application (client) ID
ii - Directory (tenant) ID
iii - Client Secret Key

c. Agora vá em Search -> Enterprise Applications -> Encontre o Service Principal do Turbonomic e copie:
-
-
- Object ID – Atenção: este Object ID é diferente do que aparece no passo 1b, NÃO use o Object ID da página App Registration. O correto é o Enterprise Applications.

d. Acesse o https://guidgenerator.com/ e clique em “Generate Some GUIDs!”, no qual vai gerar um ID único aleatório. Anote-o, pois o usaremos em um passo adiante.

2. Agora temos todos os identificadores prontos. Hora de atribuir o direito a Service Principal.
-
-
Vá até a essa URL e clique no botão verde “Try it” e faça login com um usuário privilegiado. Preencher no BODY da chamada API
https://learn.microsoft.com/en-us/rest/api/billing/2019-10-01-preview/role-assignments/put?tabs=HTTP
-
Parâmetros:
-
billingAccountName – é o Billing Account Id (passo 1a)
-
billingRoleAssignmentName – é o GUID que foi criado aleatoriamente (no guidgenerator.com - passo 1d)
- api-version – 2019-10-01-preview
- Mantenha o headers como está.
- Body – neste campo, usaremos o JSON abaixo substituindo os seguintes valores:
-
principalId - Object Id (passo 1c)
-
principalTenantId – Tenant Id (passo 1bii)
-
roleDefinitionId – troque o {BillingAccountId} pelo Billing Account Id (passo 1a), e mantenha o resto intacto.
Exemplo:
{
"properties": {
"principalId": "99a1a759-30dd-42c2-828c-db398826bb67",
"principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
"roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/{BillingAccountId}/billingRoleDefinitions/24f8edb6-1668-4659-b5e2-40bb5f3a7d7e"
}
}
Atenção: o ID da Role EnrollmentReader é sempre “24f8edb6-1668-4659-b5e2-40bb5f3a7d7e”. Não alterar este GUID.

Após o Run, a resposta deverá ser 200. Em caso de falha, verificar se os dados foram inseridos corretamente ou se o usuário possui direitos de Global Admin ou Elevated Access.

3. Agora para finalizar, basta adicionar o target ao IBM Turbonomic.
-
-
-
- Billing Account Id – passo 1a
- Directory (Tenant) Id – passo 1bii
- Application (Client) Id – passo 1bi
- Client Secret Key – passo 1biii

Pronto! Em aproximadamente 1 hora, a carga se iniciará pelo Turbonomic.