Ir para conteúdo principal Pular para conteúdo complementar

Função de gerenciamento

Crie uma função de gerenciamento para permitir que o Qlik Cloud configure instâncias e IPs elásticos em seu ambiente de lakehouse.

Uma função de gerenciamento é uma função de IAM que você cria para conceder ao Qlik as permissões necessárias para interagir com o ambiente AWS em seu nome. Essa função é assumida pelo Qlik durante a implementação e as operações de tempo de execução para acessar e gerenciar com segurança os recursos da AWS necessários para o seu lakehouse do Iceberg.

A função está associada a uma política IAM personalizada que define as ações específicas que o Qlik está autorizado a realizar, como ler e gravar em compartimentos S3, gerenciar instâncias EC2 e interagir com outros serviços, como o AWS Glue ou o KMS.

Essa função garante acesso seguro e com o mínimo de privilégios, permitindo que o Qlik automatize e orquestre tarefas importantes, como gerenciamento de metadados, movimentação de dados e execução de tarefas na sua conta da AWS.

Para funcionar corretamente, a função deve ser criada com a relação de confiança e a política de permissões necessárias, conforme descrito nas instruções de configuração.

Pré-requisitos

Certifique-se de ter criado a VPC, a sub-rede e as zonas de disponibilidade para hospedar seu Qlik Open Lakehouse e de ter os seguintes detalhes:

  • Seu ID da conta da AWS.

  • O ARN da chave KMS simétrica.

Criando uma função de gerenciamento

Para criar uma função de gerenciamento, faça o seguinte:

  1. No Console da AWS, acesse IAM.

  2. Em Funções, clique em Criar função e configure-a:

    • Tipo de entidade confiável: selecione Política de confiança personalizada.

    • Declaração: no painel de código, cole a política de Entidade confiável criada no Guia de configuração da função de gerenciamento no Qlik Cloud.

  3. Crie a função e anote o valor do ARN. Ele deve ser formatado da seguinte forma:

    arn:aws:iam::<ACCOUNT_ID>:role/<ROLE_NAME>.

Criando uma política

  1. No IAM, clique em Funções e selecione a função que você criou acima.

  2. Clique em Adicionar permissões

  3. Selecione Criar política inline.

  4. Em Editor de políticas, selecione JSON. Cole o texto a seguir e certifique-se de:     

  • Altere o parâmetro <AWS_ACCOUNT_ID> da sua conta. 

  • Atualize o valor <KMS_SYMMETRIC_KEY_ARN> com sua chave ARN.


			{
			"Version": "2012-10-17",
			"Statement": [
			{
			"Effect": "Allow",
			"Resource": [
			"*"
			],
			"Action": [
			"ec2:CancelSpotInstanceRequests",
			"ec2:CreateLaunchTemplate",
			"ec2:CreateTags",
			"ec2:CreateVolume",
			"ec2:DescribeAddresses",
			"ec2:DescribeImageAttribute",
			"ec2:DescribeImages",
			"ec2:DescribeInstanceStatus",
			"ec2:DescribeInstanceTypeOfferings",
			"ec2:DescribeInstanceTypes",
			"ec2:DescribeInstances",
			"ec2:DescribeLaunchTemplateVersions",
			"ec2:DescribeLaunchTemplates",
			"ec2:DescribeSpotInstanceRequests",
			"ec2:DescribeSpotPriceHistory",
			"ec2:DescribeTags",
			"ec2:DescribeRegions",
			"ec2:DescribeSubnets",
			"ec2:DescribeRouteTables",
			"ec2:DescribeSecurityGroups",
			"ec2:RequestSpotInstances",
			"ec2:DescribeVolumes"
			]
			},
			{
			"Effect": "Allow",
			"Resource": [
			"arn:aws:ec2:*::image/*",
			"arn:aws:ec2:*:*:instance/*",
			"arn:aws:ec2:*:*:key-pair/*",
			"arn:aws:ec2:*:*:launch-template/*",
			"arn:aws:ec2:*:*:network-interface/*",
			"arn:aws:ec2:*:*:security-group/*",
			"arn:aws:ec2:*:*:subnet/*",
			"arn:aws:ec2:*:*:volume/*"
			],
			"Action": [
			"ec2:RunInstances"
			]
			},
			{
			"Effect": "Allow",
			"Resource": [
			"*"
			],
			"Action": [
			"ec2:AttachVolume",
			"ec2:DeleteVolume",
			"ec2:DetachVolume",
			"ec2:DeleteLaunchTemplate",
			"ec2:TerminateInstances",
			"ec2:StartInstances",
			"ec2:ModifyLaunchTemplate",
			"ec2:DeleteLaunchTemplateVersions",
			"ec2:CreateLaunchTemplateVersion"
			],
			"Condition": {
			"Null": {
			"aws:ResourceTag/qlik_cluster": "false"
			}
			}
			},
			{
			"Effect": "Allow",
			"Resource": [
			"*"
			],
			"Action": [
			"autoscaling:DeleteAutoScalingGroup",
			"autoscaling:DeletePolicy",
			"autoscaling:DeleteTags",
			"autoscaling:PutScalingPolicy",
			"autoscaling:StartInstanceRefresh",
			"autoscaling:TerminateInstanceInAutoScalingGroup",
			"autoscaling:UpdateAutoScalingGroup"
			],
			"Condition": {
			"Null": {
			"aws:ResourceTag/qlik_cluster": "false"
			}
			}
			},
			{
			"Effect": "Allow",
			"Resource": [
			"*"
			],
			"Action": [
			"autoscaling:CreateAutoScalingGroup",
			"autoscaling:CreateOrUpdateTags",
			"autoscaling:DescribeAutoScalingGroups",
			"autoscaling:DescribeInstanceRefreshes",
			"autoscaling:DescribePolicies",
			"autoscaling:DescribeScalingActivities",
			"autoscaling:DescribeTags"
			]
			},
			{
			"Effect": "Allow",
			"Resource": [
			"*"
			],
			"Action": [
			"ec2:DescribeRegions",
			"ec2:DescribeSubnets",
			"ec2:DescribeRouteTables",
			"ec2:DescribeSecurityGroups",
			"ec2:DescribeKeyPairs"			
			]
			},
			{
			"Effect": "Allow",
			"Resource": [
			"*"
			],
			"Action": [
			"cloudwatch:DescribeAlarmHistory",
			"cloudwatch:DescribeAlarms",
			"cloudwatch:DescribeAlarmsForMetric",
			"cloudwatch:GetMetricStatistics",
			"cloudwatch:ListMetrics",
			"cloudwatch:PutMetricData"
			]
			},
			{
			"Effect": "Allow",
			"Resource": [
			"*"
			],
			"Action": [
			"cloudwatch:DeleteAlarms"
			],
			"Condition": {
			"Null": {
			"aws:ResourceTag/qlik_cluster": "false"
			}
			}
			},
			{
			"Effect": "Allow",
			"Resource": [
			"*"
			],
			"Action": [
			"cloudwatch:PutMetricAlarm"
			],
			"Condition": {
			"Null": {
			"aws:RequestTag/qlik_cluster": "false"
			}
			}
			},
			{
			"Effect": "Allow",
			"Resource": [
			"*"
			],
			"Action": [
			"iam:AddRoleToInstanceProfile",
			"iam:CreateServiceLinkedRole",
			"iam:GetPolicy",
			"iam:GetPolicyVersion",
			"iam:ListAccountAliases",
			"iam:ListAttachedRolePolicies",
			"iam:ListInstanceProfiles",
			"iam:ListInstanceProfilesForRole",
			"iam:ListPolicies",
			"iam:ListRoles",
			"iam:PassRole"
			]
			},
			{
			"Effect": "Allow",
			"Resource": [
			"*"
			],
			"Action": [
			"sts:DecodeAuthorizationMessage"
			]
			},
			{
			"Effect": "Allow",
			"Resource": [
			"arn:aws:ssm:*:<AWS_ACCOUNT_ID>:parameter/qlik/*"
				],
				"Action": [
				"ssm:PutParameter"
				]
				},
				{
				"Effect": "Allow",
				"Resource": [
				"<KMS_SYMMETRIC_KEY_ARN>"
					],
					"Action": [
					"kms:GenerateDataKeyPairWithoutPlaintext",
					"kms:Encrypt"
					]
					}
					]
					}
		

Justificativas para a permissão de requisitos

A tabela a seguir explica cada permissão da função de gerenciamento:

Política Permissões Explicação
EC2 - Ações de gerenciamento de recursos

{

"Version": "2012-10-17",

"Statement": [

{

"Action": [

"ec2:CancelSpotInstanceRequests",

"ec2:CreateLaunchTemplate",

"ec2:CreateTags",

"ec2:CreateVolume",

"ec2:DescribeAddresses",

"ec2:DescribeImageAttribute",

"ec2:DescribeImages",

"ec2:DescribeInstanceStatus",

"ec2:DescribeInstanceTypeOfferings",

"ec2:DescribeInstanceTypes",

"ec2:DescribeInstances",

"ec2:DescribeLaunchTemplateVersions",

"ec2:DescribeLaunchTemplates",

"ec2:DescribeSpotInstanceRequests",

"ec2:DescribeSpotPriceHistory",

"ec2:DescribeTags",

"ec2:DescribeRegions",

"ec2:DescribeSubnets",

"ec2:DescribeRouteTables",

"ec2:DescribeSecurityGroups",

"ec2:RequestSpotInstances",

"ec2:DescribeVolumes"

],

"Effect": "Allow",

"Resource": "*"

},

{

"Action": "ec2:RunInstances",

"Effect": "Allow",

"Resource": [

"arn:aws:ec2:*:*:subnet/*",

"arn:aws:ec2:*:*:network-interface/*",

"arn:aws:ec2:*::image/*"

]

}

]

}


                                    
Essa política concede ao Qlik permissão para gerenciar instâncias e recursos do EC2, como volumes, grupos de segurança e sub-redes. Nenhuma condição é incluída, pois todos os métodos são ações de descrição ou de criação.
EC2 - Ações de manipulação de recursos

{

"Version": "2012-10-17",

"Statement": [

{

"Action": [

"ec2:AttachVolume",

"ec2:DeleteVolume",

"ec2:DetachVolume",

"ec2:DeleteLaunchTemplate",

"ec2:TerminateInstances",

"ec2:StartInstances",

"ec2:ModifyLaunchTemplate",

"ec2:DeleteLaunchTemplateVersions",

"ec2:CreateLaunchTemplateVersion"

],

"Condition": {

"Null": {

"aws:ResourceTag/qlik_cluster": "false"

}

},

"Effect": "Allow",

"Resource": "*"

},

{

"Action": [

"autoscaling:PutScalingPolicy",

"autoscaling:UpdateAutoScalingGroup",

"autoscaling:DeleteAutoScalingGroup",

"autoscaling:DeletePolicy",

"autoscaling:DeleteTags",

"autoscaling:StartInstanceRefresh"

],

"Condition": {

"Null": {

"aws:ResourceTag/qlik_cluster": "false"

}

},

"Effect": "Allow",

"Resource": "*"

}

]

}


                                    
Essa política concede ao Qlik permissão para gerenciar as instâncias e os recursos do EC2 criados pela Qlik, com base na tag qlik_cluster. As permissões incluem ações como anexar volumes, encerrar instâncias e modificar modelos de inicialização.
EC2 - Ações de validação

{

"Version": "2012-10-17",

"Statement": [

{

"Sid": "VisualEditor0",

"Effect": "Allow",

"Action": [

"ec2:DescribeRegions",

"ec2:DescribeSubnets",

"ec2:DescribeRouteTables",

"ec2:DescribeSecurityGroups",

"ec2:DescribeKeyPairs"

],

"Resource": "*"

}

]

}


                                    
Essa política concede ao Qlik permissões para validar entradas ao criar integrações de rede. As ações não são obrigatórias e só são necessárias quando são fornecidas entradas específicas.
IAM - Ações do perfil da instância

"Version": "2012-10-17",

"Statement": [

{

"Action": [

"iam:AddRoleToInstanceProfile",

"iam:CreateServiceLinkedRole",

"iam:GetPolicy",

"iam:GetPolicyVersion",

"iam:ListAccountAliases",

"iam:ListAttachedRolePolicies",

"iam:ListInstanceProfiles",

"iam:ListInstanceProfilesForRole",

"iam:ListPolicies",

"iam:ListRoles",

"iam:PassRole"

],

"Effect": "Allow",

"Resource": "*"

}

]

}

{

Essa política permite que a função de gerenciamento manipule perfis de instâncias do EC2, incluindo ações como a criação de funções vinculadas a serviços e a transmissão de funções para instâncias do EC2.
STS - Ação de autorização

"Version": "2012-10-17",

"Statement": [

{

"Action": "sts:DecodeAuthorizationMessage",

"Effect": "Allow",

"Resource": "*"

}

]

}

{

Esta política concede ao Qlik permissão para decodificar mensagens de autorização para ajudar a solucionar problemas de autorização.
SSM - Ações secretas de gerenciamento

"Version": "2012-10-17",

"Statement": [

{

"Action": [

"ssm:PutParameter"

],

"Effect": "Allow",

"Resource": "arn:aws:ssm:*:<AWS_ACCOUNT_ID>:parameter/qlik/*",

}

]

}

{

Essa política concede permissão à função de gerenciamento para armazenar segredos no AWS Systems Manager Parameter Store. Esses segredos serão lidos por instâncias provisionadas pela Qlik.<AWS_ACCOUNT_ID> é um valor configurado pelo usuário
KMS

"Version": "2012-10-17",

"Statement": [

{

"Sid": "VisualEditor0",

"Effect": "Allow",

"Action": [

"kms:GenerateDataKeyPairWithoutPlaintext",

"kms:Encrypt"

],

"Resource": "<KMS_SYMMETRIC_KEY_ARN>"

}

]

}

{

Essa política concede ao Qlik permissão para gerar pares de chaves de criptografia sem acesso à chave privada e para criptografar dados que serão lidos e descriptografados por máquinas provisionadas pela Qlik. <KMS_SYMMETRIC_KEY_ARN> é um valor configurado pelo usuário.

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo – um erro de digitação, uma etapa ausente ou um erro técnico – avise-nos!