Turbonomic

 View Only

[PT-BR] Adicionando Target AWS (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 dados para seu correto funcionamento.

Pré-requisitos

  • A pessoa designada para esta tarefa deve possuir direitos suficientes para criar uma conta na AWS.
  • Se o IBM Turbonomic estiver atrás de um firewall, será necessário liberar acesso as URLs para a devida comunicação. Se o Turbonomic for em SaaS, este passo não é necessário. A lista completa está aqui.

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)
    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.
      • Para permissões apenas de leitura, use esta policy.
      • Para permissões de leitura e escrita, use esta policy.
    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
    3. Altere o botão para IAM Role e cole a ARN Role do passo 3.h
    4. Clique em Add.
      image-20230609131840-18

  5. Pronto! O target deve ficar em estado "verde" e aproximadamente 40 minutos os dados já começam a aparecer.
  6. Se desejar, este é um CloudFormation onde os passos acima podem ser automatizados para múltiplas Accounts. Basta baixá-lo, e editar com o trust correto.

Obrigado e até a próxima!

0 comments
15 views

Permalink