Este post mostra como criar uma conta na AWS, que permite o IBM Turbonomic a efetuar a coleta de BILLING APENAS (Target AWS Billing) para seu correto funcionamento. A correta conexão do Billing da AWS ao Turbonomic é de extrema importância, para que o correto ratecard e commitments sejam lidos e levado em conta pela I.A. da IBM.
Pré-requisitos
- A pessoa designada para esta tarefa deve possuir direitos suficientes para criar uma conta na AWS.
- Crie um CUR na AWS seguindo estes passos AQUI. Sem o Bucket com o CUR, não é possível prosseguir.
Procedimento
De maneira geral, os seguintes passos serão executados:
-
Criar uma ARN role, para autenticação federada ao SaaS do IBM Turbonomic.
-
Implementar como target no Turbonomic.
Atenção: A IBM possui dois tipos de tenants, um com a URL no formato xxxxxx.customer.turbonomic.ibmappdomain.cloud e outro no formato xxxxxx.apptio.turbonomic.ibmappdomain.cloud. As informações são diferentes que virão a seguir.
Criação da IAM Role
- Criação do Identity Provider
- Navegue até o Identity and Access Management (IAM) e acesse a sua MASTER PAYER Account.
- Em Access Management selecione Identity Providers
![image-20230609132833-1](https://www.ibm.com/support/pages/system/files/inline-images/image-20230609132833-1.png)
- Clique em Add Provider
![image-20230609132917-2](https://www.ibm.com/support/pages/system/files/inline-images/image-20230609132917-2.png)
- Selecione OpenID Connect
- No Provider URL coloque o endereço do OIDC de acordo com a URL do seu tenant:
- Se o seu tenant for no formato xxxxxx.customer.turbonomic.ibmappdomain.cloud use a seguinte URL: https://rh-oidc.s3.us-east-1.amazonaws.com/22ejnvnnturfmt6km08idd0nt4hekbn7
- Se o seu tenant for no formato xxxxxx.apptio.turbonomic.ibmappdomain.cloud use a seguinte URL: https://oidc.op1.openshiftapps.com/2c51blsaqa9gkjt0o9rt11mle8mmropu
- Clique em Get thumbprint
- Em Audience coloque: sts.amazonaws.com
- Clique em Add provider
![image-20230609130750-10](https://www.ibm.com/support/pages/system/files/inline-images/image-20230609130750-10.png)
- Crie agora a IAM Role
- Navegue até Identity and Access Management (IAM)
- Em Access Management selecione Roles
![image-20230609130842-11](https://www.ibm.com/support/pages/system/files/inline-images/image-20230609130842-11.png)
- Clique em Create Role
![image-20230609130928-12](https://www.ibm.com/support/pages/system/files/inline-images/image-20230609130928-12.png)
- Selecione Web Identity
- Em Identity Provider, selecione o que foi criado no passo 1.e.
- Se o seu tenant for no formato xxxxxx.customer.turbonomic.ibmappdomain.cloud use a seguinte URL: https://rh-oidc.s3.us-east-1.amazonaws.com/22ejnvnnturfmt6km08idd0nt4hekbn7
- Se o seu tenant for no formato xxxxxx.apptio.turbonomic.ibmappdomain.cloud use a seguinte URL: https://oidc.op1.openshiftapps.com/2c51blsaqa9gkjt0o9rt11mle8mmropu
- Em Audience coloque: sts.amazonaws.com
- Clique em Next
![image-20230609131120-13](https://www.ibm.com/support/pages/system/files/inline-images/image-20230609131120-13.png)
- Adicione as permissões na Role.
- Use esta POLICY para o AWS Billing.
- ATENÇÃO: Substitua as linhas 103 e 104 com o nome do bucket criado no passo de pré-requisitos.
![](https://dw1.s81c.com//IMWUC/MessageImages/453033cf386549918ba0ac58085cb1a4.png)
- Após colocar a policy desejada, clique em Next.
- Para o Role Name, coloque um nome desejado qualquer.
- Clique em Create Role
![image-20230609131301-14](https://www.ibm.com/support/pages/system/files/inline-images/image-20230609131301-14.png)
- Conectar o Trust Relationship na Role
- Navegue até Identity and Access Management (IAM)
- Em Access Management selecione Roles
- Localize a Role criada no passo 2 e selecione-a
- Clique em Trust Relationship
- Clique em Edit trust policy
![image-20230609131343-15](https://www.ibm.com/support/pages/system/files/inline-images/image-20230609131343-15.png)
- Sobrescreva a policy atual por esse modelo abaixo, lembrando que:
- <YOUR_AWS_ACCOUNT_NUMBER> - O ID da sua conta que está dando acesso.
- <TENANT_ID> O Tenant ID enviado pela IBM por seu representante.
- <TENANT_SVC_ACCOUNT> O Tenant Service Account enviado pela IBM por um representante.
Se o seu tenant for no formato xxxxxx.customer.turbonomic.ibmappdomain.cloud
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:oidc-provider/rh-oidc.s3.us-east-1.amazonaws.com/22ejnvnnturfmt6km08idd0nt4hekbn7"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"rh-oidc.s3.us-east-1.amazonaws.com/22ejnvnnturfmt6km08idd0nt4hekbn7:sub":"system:serviceaccount:<TENANT_ID>:<TENANT_SVC_ACCOUNT>"
}
}
}
]
}
Se o seu tenant for no formato xxxxxx.apptio.turbonomic.ibmappdomain.cloud
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:oidc.op1.openshiftapps.com/2c51blsaqa9gkjt0o9rt11mle8mmropu"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"oidc.op1.openshiftapps.com/2c51blsaqa9gkjt0o9rt11mle8mmropu:sub": "system:serviceaccount:<TENANT_ID>:<TENANT_SVC_ACCOUNT>"
}
}
}
]
}
- Clique em Update Policy
![image-20230609131658-16](https://www.ibm.com/support/pages/system/files/inline-images/image-20230609131658-16.png)
- Use o ID da ARN Role para adicionar como target no IBM Turbonomic
![image-20230609131747-17](https://www.ibm.com/support/pages/system/files/inline-images/image-20230609131747-17.png)
- Conectando a IAM Role no Turbonomic
- No Turbonomic, vá em Settings > Target Configuration > New Target
- Selecione Public Cloud > AWS Billing
- Altere o botão para IAM Role e cole a ARN Role do passo 3.h
- Clique em Add.
![](https://dw1.s81c.com//IMWUC/MessageImages/fcb50210622247f8a21726ce5b050237.png)
- Pronto! O target deve ficar em estado "verde" e a AWS tem até 24 horas para gerar os dados, se esta é a primeira vez da geração do CUR.
Obrigado e até a próxima!