Yönetim rolü
Qlik Cloud öğesinin göl evi ortamınızdaki örnekleri ve esnek IP'leri yapılandırmasını sağlamak için bir yönetim rolü oluşturun.
Yönetim rolü, Qlik öğesine sizin adınıza AWS ortamınızla etkileşim kurması için gerekli izinleri vermek üzere oluşturduğunuz bir IAM rolüdür. Bu rol, Iceberg göl eviniz için gereken AWS kaynaklarına güvenli bir şekilde erişmek ve bunları yönetmek üzere dağıtım ve çalışma zamanı işlemleri sırasında Qlik tarafından üstlenilir.
Rol, S3 demetlerinde okuma ve bu demetlere yazma, EC2 örneklerini yönetme ve AWS Glue veya KMS gibi diğer hizmetlerle etkileşim kurma gibi Qlik öğesinin gerçekleştirmeye yetkili olduğu belirli eylemleri tanımlayan özel bir IAM ilkesiyle ilişkilendirilir.
Bu rol, Qlik öğesinin AWS hesabınızdaki meta veri yönetimi, veri hareketi ve iş yürütme gibi önemli görevleri otomatikleştirmesine ve düzenlemesine izin verirken güvenli, en az ayrıcalıklı erişim sağlar.
Rolün doğru şekilde çalışması için kurulum talimatlarında belirtildiği gibi gerekli güven ilişkisi ve izinler ilkesiyle oluşturulması gerekir.
Önkoşullar
VPC'yi, size ait Qlik Açık Göl Evi öğesini barındırmak için alt ağı ve Uygunluk Bölgelerini oluşturduğunuzdan ve aşağıdaki ayrıntılara sahip olduğunuzdan emin olun:
-
AWS hesabı kimliğiniz.
-
Simetrik KMS anahtarı ARN.
Yönetim rolü oluşturma
Bir yönetim rolü oluşturmak için aşağıdakileri yapın:
-
AWS konsolu'nda IAM'ye gidin
-
Roller'de Rol oluştur'a tıklayın ve bunu yapılandırın:
-
Güvenilen varlık türü: Özel güven politikası öğesini seçin.
-
Açıklama: Kod bölmesinde, Yönetim rolü yapılandırma kılavuzu'nda oluşturulan Güvenilen varlık politikasını Qlik Cloud hedefine yapıştırın.
-
Rolü oluşturun ve ARN değerini not edin. Bu aşağıdaki şekilde biçimlendirilmelidir:
arn:aws:iam::<ACCOUNT_ID>:role/<ROLE_NAME>.
Politika oluşturma
-
IAM'de Roller'e tıklayın ve yukarıda oluşturduğunuz rolü seçin.
-
İzin ekle'ye tıklayın.
-
Satır içi politikası oluştur'u seçin.
-
Politika düzenleyici'de JSON öğesini seçin. Aşağıdaki metni yapıştırın ve şunlardan emin olun:
-
<AWS_ACCOUNT_ID> parametresini hesabınızla değiştirin.
-
<KMS_SYMMETRIC_KEY_ARN> değerini anahtar ARN'nizle güncelleyin.
{
"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"
]
}
]
}
Gereklilik izin gerekçeleri
Aşağıdaki tabloda yönetim rolünün her bir izni açıklanmaktadır:
| Politika | İzinler | Açıklama |
|---|---|---|
| EC2 - Kaynak Yönetimi Eylemleri |
{ "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/*" ] } ] } |
Bu politika, Qlik hedefine EC2 örneklerini ve birimleri, güvenlik grupları ve alt ağlar gibi kaynakları yönetme izni verir. Tüm yöntemler ya tanımlama ya da oluşturma eylemleri olduğu için hiçbir koşul dahil edilmemiştir. |
| EC2 - Kaynak Manipülasyonu Eylemleri |
{ "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": "*" } ] } |
Bu politika, Qlik öğesine, qlik_cluster etiketine dayalı olarak Qlik tarafından oluşturulan EC2 örneklerini ve kaynaklarını yönetme izni verir. İzinler, birim ekleme, örnekleri sonlandırma ve başlatma şablonlarını değiştirme gibi eylemleri içerir. |
| EC2 - Doğrulama Eylemleri |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "ec2:DescribeRegions", "ec2:DescribeSubnets", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeKeyPairs" ], "Resource": "*" } ] } |
Bu politika, ağ entegrasyonları oluştururken girdileri doğrulamak için Qlik izinlerini verir. Eylemler zorunlu değildir ve yalnızca belirli girdiler sağlandığında gereklidir. |
| IAM - Örnek Profil Eylemleri | "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": "*" } ] } | Bu politika, yönetim rolünün hizmet bağlantılı roller oluşturma ve rolleri EC2 örneklerine geçirme gibi eylemler de dahil olmak üzere EC2 örnek profillerini işlemesine olanak tanır. |
| STS - Yetkilendirme Eylemi | "Version": "2012-10-17", "Statement": [ { "Action": "sts:DecodeAuthorizationMessage", "Effect": "Allow", "Resource": "*" } ] } | Bu politika, yetkilendirme sorunlarının giderilmesine yardımcı olmak için Qlik öğesine yetkilendirme mesajlarının kodunu çözme izni verir. |
| SSM - Gizli Yönetim Eylemleri | "Version": "2012-10-17", "Statement": [ { "Action": [ "ssm:PutParameter" ], "Effect": "Allow", "Resource": "arn:aws:ssm:*:<AWS_ACCOUNT_ID>:parameter/qlik/*", } ] } | Bu politika, yönetim rolüne parolaları AWS Sistem Yöneticisi Parametre Deposu'nda depolama izni verir. Bu parolalar, Qlik tarafından sağlanan örnekler tarafından okunacaktır.<AWS_ACCOUNT_ID> kullanıcı tarafından yapılandırılan bir değerdir |
| KMS | "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:GenerateDataKeyPairWithoutPlaintext", "kms:Encrypt" ], "Resource": "<KMS_SYMMETRIC_KEY_ARN>" } ] } | Bu politika, Qlik öğesine özel anahtara erişimi olmadan şifreleme anahtar çiftleri oluşturma ve Qlik tarafından sağlanan altyapılar tarafından okunacak ve şifresi çözülecek verileri şifreleme izni verir. <KMS_SYMMETRIC_KEY_ARN> kullanıcı tarafından yapılandırılan bir değerdir. |