Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Verwaltungsrolle

Erstellen Sie eine Verwaltungsrolle, die es Qlik Cloud ermöglicht, Instanzen und elastische IPs in Ihrer Lakehouse-Umgebung zu konfigurieren.

Eine Verwaltungsrolle ist eine IAM-Rolle, die Sie erstellen, um Qlik die erforderlichen Berechtigungen für die Interaktion mit Ihrer AWS-Umgebung in Ihrem Namen zu gewähren. Diese Rolle wird von Qlik während der Bereitstellungs- und Laufzeitvorgänge übernommen, um sicher auf die für Ihr Iceberg-Lakehouse benötigten AWS-Ressourcen zuzugreifen und diese zu verwalten.

Die Rolle ist mit einer benutzerdefinierten IAM-Richtlinie verknüpft, in der die spezifischen Aktionen definiert sind, zu denen Qlik berechtigt ist, z. B. das Lesen von und Schreiben in S3-Buckets, die Verwaltung von EC2-Instanzen und die Interaktion mit anderen Diensten wie AWS Glue oder KMS.

Diese Rolle gewährleistet einen sicheren Zugriff mit den geringsten Berechtigungen und ermöglicht Qlik die Automatisierung und Orchestrierung wichtiger Aufgaben wie Metadatenverwaltung, Datenverschiebung und Jobausführung innerhalb Ihres AWS-Kontos.

Um korrekt zu funktionieren, muss die Rolle mit der erforderlichen Vertrauensbeziehung und Berechtigungsrichtlinie erstellt werden, wie in den Einrichtungsanweisungen beschrieben.

Voraussetzungen

Vergewissern Sie sich, dass Sie die VPC, das Subnetz und die Verfügbarkeitszonen für das Hosting Ihres Qlik Open Lakehouse erstellt haben und über die folgenden Details verfügen:

  • Ihre AWS-Konto-ID.

  • ARN des symmetrischen KMS-Schlüssels.

Erstellen einer Verwaltungsrolle

Um eine Verwaltungsrolle zu erstellen, gehen Sie wie folgt vor:

  1. Gehen Sie in der AWS Console zu IAM.

  2. Klicken Sie unter Roles auf Create role und konfigurieren Sie die Rolle:

    • Trusted entity type: Wählen Sie Custom trust policy aus.

    • Statement: Fügen Sie im Codefenster die Richtlinie für vertrauenswürdige Entität ein, die im Konfigurationshandbuch für Verwaltungsrollen in Qlik Clouderstellt wurde.

  3. Erstellen Sie die Rolle und notieren Sie sich den ARN-Wert. Dieser sollte wie folgt formatiert sein:

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

Erstellen einer Richtlinie

  1. Klicken Sie in IAM auf Roles und wählen Sie die Rolle aus, die Sie oben erstellt haben.

  2. Klicken Sie auf Add permissions

  3. Wählen Sie Create inline policy aus.

  4. Wählen Sie im Policy editor den Eintrag JSON aus. Fügen Sie folgenden Text ein und achten Sie auf Folgendes:    

  • Ändern Sie den Parameter <AWS_ACCOUNT_ID> in Ihr Konto. 

  • Aktualisieren Sie den Wert <KMS_SYMMETRIC_KEY_ARN> mit Ihrem Schlüssel-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"
					]
					}
					]
					}
		

Begründungen für die Anforderungsgenehmigung

In der folgenden Tabelle werden die einzelnen Berechtigungen der Verwaltungsrolle erläutert:

Richtlinie Berechtigungen Erläuterung
EC2 – Ressourcenverwaltungsaktionen

{

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

]

}

]

}


                                    
Diese Richtlinie gewährt Qlik die Berechtigung, EC2-Instanzen und Ressourcen wie Volumes, Sicherheitsgruppen und Subnetze zu verwalten. Es sind keine Bedingungen enthalten, da es sich bei allen Methoden entweder um Beschreibungs- oder Erstellungsaktionen handelt.
EC2 – Ressourcenbearbeitungsaktionen

{

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

}

]

}


                                    
Diese Richtlinie gewährt Qlik die Berechtigung, die von Qlik erstellten EC2-Instanzen und -Ressourcen zu verwalten, basierend auf dem Tag qlik_cluster. Zu den Berechtigungen gehören Aktionen wie das Anhängen von Volumes, das Beenden von Instanzen und das Ändern von Startvorlagen.
EC2 – Validierungsaktionen

{

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

"Statement": [

{

"Sid": "VisualEditor0",

"Effect": "Allow",

"Action": [

"ec2:DescribeRegions",

"ec2:DescribeSubnets",

"ec2:DescribeRouteTables",

"ec2:DescribeSecurityGroups",

"ec2:DescribeKeyPairs"

],

"Resource": "*"

}

]

}


                                    
Diese Richtlinie gewährt Qlik die Berechtigung, Eingaben bei der Erstellung von Netzwerkintegrationen zu validieren. Die Aktionen sind nicht obligatorisch und nur erforderlich, wenn bestimmte Eingaben gemacht werden.
IAM – Instanzprofilaktionen

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

}

]

}

{

Diese Richtlinie ermöglicht es der Verwaltungsrolle, EC2-Instanzprofile zu verwalten, einschließlich Aktionen wie das Erstellen von dienstverknüpften Rollen und das Übergeben von Rollen an EC2-Instanzen.
STS – Autorisierungsaktion

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

"Statement": [

{

"Action": "sts:DecodeAuthorizationMessage",

"Effect": "Allow",

"Resource": "*"

}

]

}

{

Diese Richtlinie gewährt Qlik die Berechtigung, Autorisierungsnachrichten zu entschlüsseln, um Probleme mit der Autorisierung zu beheben.
SSM – Schlüsselverwaltungsaktionen

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

"Statement": [

{

"Action": [

"ssm:PutParameter"

],

"Effect": "Allow",

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

}

]

}

{

Diese Richtlinie gewährt der Verwaltungsrolle die Berechtigung, geheime Schlüssel im AWS Systems Manager Parameter Store zu speichern. Diese geheimen Schlüssel werden von Instanzen gelesen, die von Qlik bereitgestellt werden. <AWS_ACCOUNT_ID> ist ein vom Benutzer konfigurierter Wert.
KMS

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

"Statement": [

{

"Sid": "VisualEditor0",

"Effect": "Allow",

"Action": [

"kms:GenerateDataKeyPairWithoutPlaintext",

"kms:Encrypt"

],

"Resource": "<KMS_SYMMETRIC_KEY_ARN>"

}

]

}

{

Diese Richtlinie gewährt Qlik die Berechtigung, Verschlüsselungsschlüsselpaare ohne Zugriff auf den privaten Schlüssel zu generieren und Daten zu verschlüsseln, die von Rechnern gelesen und entschlüsselt werden, die von Qlik bereitgestellt werden. <KMS_SYMMETRIC_KEY_ARN> ist ein vom Benutzer konfigurierter Wert.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!