Turbonomic

 View Only

[PT-BR] Adicionando Target AWS Billing (usando ARN Role) ao IBM Turbonomic

By Ricardo Kenji de Lima posted 9 days ago

  

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:

  1. Criar uma ARN role, para autenticação federada ao SaaS do IBM Turbonomic.

  2. 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

  1. Criação do Identity Provider
    1. Navegue até o Identity and Access Management (IAM) e acesse a sua MASTER PAYER Account.
    2. Em Access Management selecione Identity Providers
      image-20230609132833-1
    3. Clique em Add Provider
      image-20230609132917-2
    4. Selecione OpenID Connect
    5. 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
    6. Clique em Get thumbprint
    7. Em Audience coloque: sts.amazonaws.com
    8. Clique em Add provider
      image-20230609130750-10
  2. Crie agora a IAM Role
    1. Navegue até Identity and Access Management (IAM)
    2. Em Access Management selecione Roles
      image-20230609130842-11
    3. Clique em Create Role
      image-20230609130928-12
    4. Selecione Web Identity
    5. 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
    6. Em Audience coloque: sts.amazonaws.com
    7. Clique em Next
      image-20230609131120-13
    8. 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. 


    9. Após colocar a policy desejada, clique em Next.
    10. Para o Role Name, coloque um nome desejado qualquer.
    11. Clique em Create Role
      image-20230609131301-14

  3. Conectar o Trust Relationship na Role
    1. Navegue até Identity and Access Management (IAM)
    2. Em Access Management selecione Roles
    3. Localize a Role criada no passo 2 e selecione-a
    4. Clique em Trust Relationship
    5. Clique em Edit trust policy
      image-20230609131343-15
    6. 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>"
                        }
                    }
                }
            ]
        }
    7. Clique em Update Policy
      image-20230609131658-16
    8. Use o ID da ARN Role para adicionar como target no IBM Turbonomic
      image-20230609131747-17

  4. Conectando a IAM Role no Turbonomic
    1. No Turbonomic, vá em Settings > Target Configuration > New Target
    2. Selecione Public Cloud > AWS Billing
    3. Altere o botão para IAM Role e cole a ARN Role do passo 3.h
    4. Clique em Add.


  5. 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!

0 comments
4 views

Permalink