Ga naar hoofdinhoud Ga naar aanvullende inhoud

EC2-exemplaarprofiel

Definieer een IAM-rol voor uw Qlik-beheerde EC2-exemplaren. Deze rol wordt gebruikt door de exemplaren die in uw AWS lakehouse-omgeving worden uitgevoerd.

Een EC2-exemplaarprofiel is een container voor een IAM-rol die kan worden toegewezen aan een EC2-exemplaar. Hiermee kan het exemplaar veilig toegang krijgen tot AWS-services zonder dat er AWS-referenties op het exemplaar opgeslagen te hoeven worden.

Wanneer een exemplaar met een exemplaarprofiel wordt gestart, worden de tijdelijke referenties van de bijbehorende IAM-rol automatisch beschikbaar gemaakt voor applicaties die op het exemplaar draaien via de metagegevensservice. Hierdoor kan het exemplaar geautoriseerde API-aanvragen verzenden naar AWS-services zoals Amazon S3, DynamoDB of CloudWatch.

Het gebruik van exemplaarprofielen verbetert de beveiliging en vereenvoudigt het referentiebeheer door:

  • Het elimineren van in code vastgelegde referenties in applicatiecode of configuratiebestanden.

  • Automatisch roterende referenties.

  • Het afdwingen van minimale bevoegdheden via fijnmazige IAM-beleidsregels die aan de rol zijn gekoppeld.

Exemplaarprofielen worden vaak gebruikt in scenario's waar EC2-exemplaren veilig en programmatisch moeten samenwerken met andere AWS-resources.

Vereisten

Zorg ervoor dat u de VPC, het subnet en de Availability Zones voor het hosten van uw Qlik Open Lakehouse hebt gemaakt en dat u de volgende gegevens hebt:

  • De URL van de S3-bucket voor Qlik om interne metagegevensbestanden op te slaan.

  • De naam van de Kinesis-stream voor Qlik om het exemplaar in het cluster te beheren.

Een exemplaarprofiel aanmaken

Om een beheerrol te maken, doet u het volgende:

  1. Ga in de AWS-console naar IAM

  2. Klik in Rollen op Rol maken en configureer deze:

    • Vertrouwd entiteitstype: selecteer AWS-service uit de opties.

    • Service of gebruiksscenario: selecteer EC2.

    • Gebruiksscenario: selecteer EC2.

  3. Maak de rol. Ga terug naar de pagina Rollen en klik op de rol die u hebt gemaakt.

  4. Klik op het pictogram Kopiëren naast de ARN-naam van het exemplaarprofiel en sla deze waarde op.

  5. Klik op Machtigingen toevoegen en selecteer Inline beleid maken.

  6. Beleidseditor: selecteer JSON. Plak de volgende tekst en doe het volgende:     

    • Verander de parameter <INTERNAL_STREAM_NAME> in uw Kinesis-stream.

    • Verander de parameter <INTERNAL_BUCKET_NAME> in uw S3-bucket.


			{
			"Version": "2012-10-17",
			"Statement": [
			{
			"Effect": "Allow",
			"Resource": [
			"*"
			],
			"Action": [
			"ec2:AttachVolume",
			"ec2:DetachVolume",
			"autoscaling:SetInstanceHealth"
			],
			"Condition": {
			"Null": {
			"aws:ResourceTag/qlik_cluster": "false"
			}
			}
			},
			{
			"Effect": "Allow",
			"Resource": [
			"*"
			],
			"Action": [
			"cloudwatch:PutMetricData"
			]
			},
			{
			"Effect": "Allow",
			"Resource": [
			"arn:aws:kinesis:*:*:stream/<STREAM_NAME>"
				],
				"Action": [
				"kinesis:PutRecord",
				"kinesis:DescribeStreamSummary",
				"kinesis:ListShards",
				"kinesis:PutRecords",
				"kinesis:GetShardIterator",
				"kinesis:GetRecords",
				"kinesis:DescribeStream",
				"kinesis:ListStreamConsumers"
				]
				},
				{
				"Effect": "Allow",
				"Resource": [
				"arn:aws:s3:::<BUCKET_NAME>",
					"arn:aws:s3:::<BUCKET_NAME>/*"
						],
						"Action": [
						"s3:PutObject",
						"s3:GetObject",
						"s3:AbortMultipartUpload",
						"s3:DeleteObjectVersion",
						"s3:ListBucket",
						"s3:DeleteObject",
						"s3:GetObjectVersion"
						]
						},
						{
						"Effect": "Allow",
						"Resource": [
						"arn:aws:ssm:*:*:parameter/qlik/*"
						],
						"Action": [
						"ssm:GetParameter",
						"ssm:PutParameter"
						]
						},
						{
						"Effect": "Allow",
						"Resource": [
						"<SYMMETRIC_KMS_KEY>"
							],
							"Action": [
							"kms:*"
							]
							},
							{
							"Effect": "Allow",
							"Resource": [
							"*"
							],
							"Action": [
							"sts:AssumeRole"
							],
							"Condition": {
							"StringEquals": {
							"sts:ExternalId": "6b69f9c3c8f502f2ddfc8434d443f172ebe4c032f4ef1a3c51215d27a58ca799"
							}
							}
							}
							]
							}
		

Redenen van vereiste machtiging

De volgende tabel geeft uitleg over elke machtiging die aan het EC2-exemplaar is toegekend:

Beleid Machtigingen Uitleg
Volumebeleid bijvoegen

{

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

"Effect": "Allow",

"Resource": [

"*"

],

"Action": [

"ec2:AttachVolume",

"ec2:DetachVolume",

"autoscaling:SetInstanceHealth"

],

"Condition": {

"Null": {

"aws:ResourceTag/qlik_cluster": "false"

}

}

}

]

}


                                    
Dit beleid geeft EC2-exemplaren machtigingen om Persistent EBS-volumes bij te voegen die zijn aangemaakt door Qlik. Hierdoor blijven gegevens behouden tussen upgrades van Gateway-machines.
CloudWatch

{

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

"Effect": "Allow",

"Resource": [

"*"

],

"Action": [

"cloudwatch:PutMetricData"

}

]

}


                                    

Met dit beleid kunnen EC2-exemplaren aangepaste statistieken naar CloudWatch sturen, die worden gebruikt om Qlik-clusters automatisch te schalen op basis van softwareprestaties.

Interne stream

{

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

"Effect": "Allow",

"Resource": [

"arn:aws:kinesis:*:*:stream/<STREAM_NAME>"

],

"Action": [

"kinesis:PutRecord",

"kinesis:DescribeStreamSummary",

"kinesis:ListShards",

"kinesis:PutRecords",

"kinesis:GetShardIterator",

"kinesis:GetRecords",

"kinesis:DescribeStream",

"kinesis:ListStreamConsumers"

]

}

]

}


                                    
Dit beleid machtigt EC2-exemplaren om te communiceren met de Kinesis-streams die worden gebruikt door clustersynchronisatiediensten, zoals de Key-Value Store en Distributed Locks. <INTERNAL_STREAM_NAME> is een door de gebruiker geconfigureerde waarde.
Interne bucket

{

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

"Effect": "Allow",

"Resource": [

"arn:aws:s3:::<BUCKET_NAME>",

"arn:aws:s3:::<BUCKET_NAME>/*"

],

"Action": [

"s3:PutObject",

"s3:GetObject",

"s3:AbortMultipartUpload",

"s3:DeleteObjectVersion",

"s3:ListBucket",

"s3:DeleteObject",

"s3:GetObjectVersion"

]

}

]

}


                                    
Het beleid geeft EC2-exemplaren machtigingen om interne gegevens op te slaan, te lezen en verwijderen. De interne gegevens bevatten echte gebruikersgegevens die in tussentijdse opslag worden bewaard voor verwerking. <INTERNAL_BUCKET_NAME> is een door de gebruiker geconfigureerde waarde.

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een tikfout, een ontbrekende stap of een technische fout – laat het ons weten!