Gå till huvudinnehåll Gå till ytterligare innehåll

Hanteringsroll

Skapa en hanteringsroll så att Qlik Cloud kan konfigurera instanser och elastiska IP-adresser i din sjöhusmiljö.

En hanteringsroll är en IAM-roll som du skapar för att ge Qlik de nödvändiga behörigheterna för att interagera med din AWS- miljö för din räkning. Denna roll tas över av Qlik under distribution och drift för att på ett säkert sätt komma åt och hantera AWS-resurser som krävs för ditt Iceberg-sjöhus.

Rollen är associerad med en anpassad IAM-policy som definierar de specifika åtgärder som Qlik har behörighet att utföra, t.ex. läsa från och skriva till S3 buckets, hantera EC2-instanser och interagera med andra tjänster som AWS Glue eller KMS.

Denna roll garanterar säker åtkomst med lägsta möjliga behörighet samtidigt som Qlik kan automatisera och orkestrera viktiga uppgifter som metadatahantering, dataförflyttning och jobbkörning inom ditt AWS-konto.

För att fungera korrekt måste rollen skapas med den nödvändiga förtroenderelationen och behörighetspolicyn enligt installationsinstruktionerna.

Förutsättningar

Se till att du har skapat VPC och delnätverk och tillgänglighetszoner för att vara värd för ditt Qlik Open Lakehouse, och att du har följande uppgifter:

  • Ditt AWS-konto-ID.

  • ARN för den symmetriska KMS-nyckeln

Skapa en hanteringsroll

Gör följande för att skapa en hanteringsroll:

  1. Gå till IAM i AWS-konsolen

  2. Under Roller klickar du på Skapa roll och konfigurerar den:

    • Betrodd enhetstyp: välj Anpassad förtroendepolicy.

    • Sats: i kodfönstret klistrar du in den policy för Betrodda enheter som skapades i Konfigurationsguiden för hanteringsrollen i Qlik Cloud.

  3. Skapa rollen och notera ARN-värdet. Detta bör formateras på följande sätt:

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

Skapa en policy

  1. Klicka på Roller i IAM och välj den roll som du skapade ovan.

  2. Klicka på Lägg till behörigheter

  3. Välj Skapa inline-policy.

  4. Välj JSON i Policyredigerare. Klistra in följande text och se till att:     

  • Byt <AWS_ACCOUNT_ID>-parametern till ditt konto. 

  • Uppdatera <KMS_SYMMETRIC_KEY_ARN>-värdet med ditt nyckel-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"
					]
					}
					]
					}
		

Motiveringar för krav på behörighet

I följande tabell förklaras varje behörighet för hanteringsrollen:

Policy Behörigheter Förklaring
EC2 – Åtgärder för resurshantering

{

"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/*"

]

}

]

}


                                    
Den här policyn ger Qlik behörighet att hantera EC2-instanser och resurser, t.ex. volymer, säkerhetsgrupper och delnätverk. Inga villkor ingår, eftersom alla metoder antingen beskriver eller skapar åtgärder.
EC2 – Åtgärder för resursmanipulation

{

"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": "*"

}

]

}


                                    
Denna policy ger Qlik behörighet att hantera de EC2-instanser och -resurser som skapats av Qlik, baserat på taggen qlik_cluster. Behörigheterna omfattar åtgärder som att koppla till volymer, avsluta instanser och ändra startmallar.
EC2 – valideringsåtgärder

{

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

"Statement": [

{

"Sid": "VisualEditor0",

"Effect": "Allow",

"Action": [

"ec2:DescribeRegions",

"ec2:DescribeSubnets",

"ec2:DescribeRouteTables",

"ec2:DescribeSecurityGroups",

"ec2:DescribeKeyPairs"

],

"Resource": "*"

}

]

}


                                    
Den här policyn ger Qlik behörighet att validera indata när nätverksintegrationer skapas. Åtgärderna är inte obligatoriska och krävs endast när specifika indata tillhandahålls.
IAM – åtgärder för instansprofil

"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": "*"

}

]

}

{

Den här principen tillåter att hanteringsrollen hanterar EC2-instansprofiler, inklusive åtgärder som att skapa tjänstekopplade roller och skicka roller till EC2-instanser.
STS – auktoriseringsåtgärd

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

"Statement": [

{

"Action": "sts:DecodeAuthorizationMessage",

"Effect": "Allow",

"Resource": "*"

}

]

}

{

Denna policy ger Qlik behörighet att avkoda auktoriseringsmeddelanden för att hjälpa till att felsöka auktoriseringsproblem.
SSM – hemliga hanteringsåtgärder

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

"Statement": [

{

"Action": [

"ssm:PutParameter"

],

"Effect": "Allow",

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

}

]

}

{

Den här policyn ger hanteringsrollen behörighet att lagra hemligheter i AWS System Manager-parameterlagring. Dessa hemligheter kommer att läsas av instanser som tillhandahålls av Qlik.<AWS_ACCOUNT_ID> är ett användarkonfigurerat värde
KMS

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

"Statement": [

{

"Sid": "VisualEditor0",

"Effect": "Allow",

"Action": [

"kms:GenerateDataKeyPairWithoutPlaintext",

"kms:Encrypt"

],

"Resource": "<KMS_SYMMETRIC_KEY_ARN>"

}

]

}

{

Den här policyn ger Qlik tillstånd att generera krypteringsnyckelpar utan åtkomst till den privata nyckeln och att kryptera data som kommer att läsas och dekrypteras av maskiner som tillhandahålls av Qlik. <KMS_SYMMETRIC_KEY_ARN> är ett användarkonfigurerat värde.

Var den här sidan till hjälp för dig?

Om du stöter på några problem med den här sidan eller innehållet på den, t.ex. ett stavfel, ett saknat steg eller ett tekniskt fel – meddela oss!