Ich habe ein Servicekatalog-Portfolio und ein Produkt erstellt, die es Benutzern ermöglichen, ihre eigenen Qualitätssicherungsumgebungen zu starten. Ich habe einer Auswahl von Benutzern die AWS Managed Policy "ServiceCatalogEndUserFullAccess" (unten) gegeben, damit sie Produkte starten können, jedoch scheinen sie auch individuelle Berechtigungen für die von der Vorlage erstellten Ressourcen zu benötigen (in diesem Fall nur ein EC2 und ELB).Wie können Benutzer EC2-Instanzen nur aus Service Catalog starten?
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"catalog-user:*",
"cloudformation:CreateStack",
"cloudformation:DeleteStack",
"cloudformation:DescribeStackEvents",
"cloudformation:DescribeStacks",
"cloudformation:GetTemplateSummary",
"cloudformation:SetStackPolicy",
"cloudformation:ValidateTemplate",
"cloudformation:UpdateStack",
"servicecatalog:DescribeProduct",
"servicecatalog:DescribeProductView",
"servicecatalog:DescribeProvisioningParameters",
"servicecatalog:ListLaunchPaths",
"servicecatalog:ProvisionProduct",
"servicecatalog:SearchProducts",
"s3:GetObject"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"servicecatalog:DescribeRecord",
"servicecatalog:ListRecordHistory",
"servicecatalog:ScanProvisionedProducts",
"servicecatalog:TerminateProvisionedProduct",
"servicecatalog:UpdateProvisionedProduct"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"servicecatalog:userLevel": "self"
}
}
}
]
}
Als solche nicht die Vorlage in Cloudformation und Rollback mit einem Fehler wie folgt aus:
API:ec2:runInstances - You are not authorized to perform this operation.
Im Idealfall würde Ich mag die Fähigkeit des Benutzers einzuschränken eine EC2 entweder vom Servicekatalog zu starten nur, oder vielleicht genauer gesagt, unsere VPC-Inszenierung, aber beides scheint aus dem, was ich gerade gelesen habe, nicht möglich zu sein. Gibt es eine Möglichkeit, diese granulare Berechtigungsebene so zu gewähren, dass der Benutzer die Ressourcen nur in dem bestimmten Produkt des Servicekatalogs starten kann, das er ausgewählt hat?
Ausgezeichnete Antwort. Ich bin schließlich darüber gestolpert, aber es war in den Unterlagen nicht so offensichtlich, wie ich es mir gewünscht hätte. Sie haben es deutlich gemacht: Produkte können entweder mit den Berechtigungen des IAM-Benutzers, der sie bereitstellt, gestartet werden, oder Sie können IAM-Rollen als Startbeschränkungen zuweisen, um dem Benutzer außergewöhnliche Privilegien zu gewähren. Für jeden, der dies findet, möchte ich hinzufügen, dass ich den STS AWS CLI-Aufruf 'decode-authorization-message' für den Rest meines anfänglichen Fehlers verwendet habe, um festzustellen, dass der tatsächliche Fehler war, dass ich die IAM: passRole haben musste Berechtigung, meiner Instanz eine IAM-Rolle zuzuweisen. –