Automatisierte IAM-Bereitstellungen mithilfe von CFN-Ingest oder Stack-Update in AMS CTs - AMS-Leitfaden für fortgeschrittene Anwendungsentwickler

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Automatisierte IAM-Bereitstellungen mithilfe von CFN-Ingest oder Stack-Update in AMS CTs

Sie können diese AMS-Änderungstypen verwenden, um IAM-Rollen (die AWS::IAM::Role Ressource) sowohl in der Multi-Account-Landingzone (MALZ) als auch in der Single-Account-Landingzone (SALZ) bereitzustellen:

  • Bereitstellung | Aufnahme | Aus CloudFormation Vorlage stapeln | Erstellen (ct-36cn2avfrrj9v)

  • Verwaltung | Benutzerdefinierter Stack | Stapel aus Vorlage | Update (ct-361tlo1k7339x) CloudFormation

  • Verwaltung | Benutzerdefinierter Stack | Stapel aus Vorlage | Genehmigen und aktualisieren (ct-1404e21baa2ox) CloudFormation

Validierungen, die für die IAM-Rollen in Ihrer CFN-Vorlage durchgeführt wurden:

  • ManagedPolicyArns: Das Attribut ManagedPolicyArnsdarf in nicht existieren. AWS::IAM::Role Die Validierung verhindert das Anhängen verwalteter Richtlinien an die bereitgestellte Rolle. Stattdessen können die Berechtigungen für die Rolle mithilfe der Inline-Richtlinie über die Eigenschaft Richtlinien verwaltet werden.

  • PermissionsBoundary: Bei der Richtlinie, die zur Festlegung der Berechtigungsgrenze für die Rolle verwendet wurde, kann es sich nur um die von AMS angebotene verwaltete Richtlinie handeln:AWSManagedServices_IAM_PermissionsBoundary. Diese Richtlinie dient als Leitplanke, die die AMS-Infrastrukturressourcen davor schützt, dass sie durch die bereitgestellte Rolle verändert werden. Mit dieser Standardberechtigungsgrenze bleiben die Sicherheitsvorteile, die AMS bietet, erhalten.

    Die AWSManagedServices_IAM_PermissionsBoundary (Standardeinstellung) ist erforderlich. Andernfalls wird die Anfrage abgelehnt.

  • MaxSessionDuration: Die maximale Sitzungsdauer, die für die IAM-Rolle festgelegt werden kann, beträgt 1 bis 4 Stunden. Gemäß den technischen Standards von AMS muss der Kunde das Risiko eingehen, wenn eine Sitzung länger als 4 Stunden dauert.

  • RoleName: Die folgenden Namespaces werden von AMS beibehalten und können nicht als Präfixe für IAM-Rollennamen verwendet werden:

    AmazonSSMRole, AMS, Ams, ams, AWSManagedServices, customer_developer_role, customer-mc-, Managed_Services, MC, Mc, mc, SENTINEL, Sentinel, sentinel, StackSet-AMS, StackSet-Ams, StackSet-ams, StackSet-AWS, StackSet-MC, StackSet-Mc, StackSet-mc
  • Richtlinien: Die in die IAM-Rolle eingebettete Inline-Richtlinie kann nur eine Reihe von IAM-Aktionen enthalten, die vorab von AMS genehmigt wurden. Dies ist die Obergrenze aller IAM-Aktionen, mit denen eine IAM-Rolle erstellt werden darf (Kontrollrichtlinie). Die Kontrollrichtlinie besteht aus:

    • Alle Aktionen in der AWS verwalteten Richtlinie ReadOnlyAccess , die nur Lesezugriff auf alle AWS-Services Ressourcen bietet

    • Die folgenden Aktionen, mit der Beschränkung auf kontoübergreifende S3-Aktionen, d. h. zulässige S3-Aktionen, können nur für Ressourcen ausgeführt werden, die sich in demselben Konto befinden wie die zu erstellende Rolle:

      amscm:*, amsskms:*, lambda:InvokeFunction, logs:CreateLogStream, logs:PutLogEvents, s3:AbortMultipartUpload, s3:DeleteObject, s3:DeleteObjectVersion, s3:ObjectOwnerOverrideToBucketOwner, s3:PutObject, s3:ReplicateTags, secretsmanager:GetRandomPassword, sns:Publish

      Jede IAM-Rolle, die durch CFN-Ingest erstellt oder aktualisiert wurde, kann Aktionen zulassen, die in dieser Kontrollrichtlinie aufgeführt sind, oder Aktionen, die von den in der Kontrollrichtlinie aufgeführten Aktionen abweichen (weniger freizügig sind als). Derzeit sind diese sicheren IAM-Aktionen zulässig, die als schreibgeschützte Aktionen eingestuft werden können, sowie die oben genannten Aktionen ohne Lesezugriff, die nicht über den technischen Standard von AMS durchgeführt werden können und die vorab genehmigt wurden. CTs

  • AssumeRolePolicyDocument: Die folgenden Entitäten wurden vorab genehmigt und können in die Vertrauensrichtlinie aufgenommen werden, sodass sie die zu erstellende Rolle übernehmen können:

    • Jede IAM-Entität (Rolle, Benutzer, Root-Benutzer, STS-Sitzung mit übernommener Rolle) in demselben Konto kann die Rolle übernehmen.

    • Folgende Personen AWS-Services können die Rolle übernehmen:

      apigateway.amazonaws.com, autoscaling.amazonaws.com, cloudformation.amazonaws.com, codebuild.amazonaws.com, codedeploy.amazonaws.com, codepipeline.amazonaws.com, datapipeline.amazonaws.com, datasync.amazonaws.com, dax.amazonaws.com, dms.amazonaws.com, ec2.amazonaws.com, ecs-tasks.amazonaws.com, ecs.application-autoscaling.amazonaws.com, elasticmapreduce.amazonaws.com, es.amazonaws.com, events.amazonaws.com, firehose.amazonaws.com, glue.amazonaws.com, lambda.amazonaws.com, monitoring.rds.amazonaws.com, pinpoint.amazonaws.com, rds.amazonaws.com, redshift.amazonaws.com, s3.amazonaws.com, sagemaker.amazonaws.com, servicecatalog.amazonaws.com, sns.amazonaws.com, ssm.amazonaws.com, states.amazonaws.com, storagegateway.amazonaws.com, transfer.amazonaws.com, vmie.amazonaws.com
    • Der SAML-Anbieter im selben Konto kann die Rolle übernehmen. Derzeit ist der einzige unterstützte SAML-Anbietername. customer-saml

Wenn eine oder mehrere der Validierungen fehlschlagen, wird der RFC abgelehnt. Ein Beispiel für einen RFC-Ablehnungsgrund sieht wie folgt aus:

{"errorMessage":"[ 'LambdaRole: The maximum session duration (in seconds) should be a numeric value in the range 3600 to 14400 (i.e. 1 to 4 hours).', 'lambda-policy: Policy document is too permissive.']","errorType":"ClientError"}

Wenn Sie Hilfe bei einer fehlgeschlagenen RFC-Validierung oder -Ausführung benötigen, wenden Sie sich über die RFC-Korrespondenz an AMS. Anweisungen finden Sie unter RFC-Korrespondenz und Anhang (Konsole). Wenn Sie weitere Fragen haben, senden Sie eine Serviceanfrage. Eine Anleitung finden Sie unter Serviceanfrage erstellen.

Anmerkung

Derzeit setzen wir im Rahmen unserer IAM-Validierungen keine Best Practices für IAM durch. Bewährte Methoden für IAM finden Sie unter Bewährte Methoden zur Sicherheit in IAM.

IAM-Rollen mit freizügigeren Aktionen erstellen oder bewährte IAM-Praktiken durchsetzen

Erstellen Sie Ihre IAM-Entitäten mit den folgenden manuellen Änderungstypen:

  • Bereitstellung | Erweiterte Stack-Komponenten | Identity and Access Management (IAM) | Entität oder Richtlinie erstellen (ct-3dpd8mdd9jn1r)

  • Verwaltung | Erweiterte Stack-Komponenten | Identity and Access Management (IAM) | Entität oder Richtlinie aktualisieren (ct-27tuth19k52b4)

Wir empfehlen Ihnen, unsere technischen Standards zu lesen und zu verstehen, bevor Sie dieses Handbuch einreichen. RFCs Informationen zum Zugriff finden Sie unter So greifen Sie auf technische Standards zu.

Anmerkung

Jede IAM-Rolle, die direkt mit diesen manuellen Änderungstypen erstellt wurde, gehört zu ihrem eigenen individuellen Stack und befindet sich nicht in demselben Stack, in dem die anderen Infrastrukturressourcen über CFN Ingest CT erstellt werden.

Aktualisierung von IAM-Rollen, die mit CFN Ingest erstellt wurden, mithilfe manueller Änderungstypen, wenn Aktualisierungen nicht über automatisierte Änderungstypen durchgeführt werden können

Verwenden Sie den Änderungstyp Verwaltung | Erweiterte Stack-Komponenten | Identity and Access Management (IAM) | Entität oder Richtlinie aktualisieren (ct-27tuth19k52b4).

Wichtig

Aktualisierungen von IAM-Rollen durch das manuelle CT spiegeln sich nicht in den CFN-Stack-Vorlagen wider und führen zu Stack-Drift. Sobald die Rolle durch eine manuelle Anfrage auf einen Status aktualisiert wurde, der unsere Validierungen nicht bestanden hat, kann die Rolle nicht erneut mit dem Stack Update CT (ct-361tlo1k7339x) aktualisiert werden, solange sie weiterhin nicht unseren Validierungen entspricht. Das Update-CT kann nur verwendet werden, wenn die CFN-Stack-Vorlage unseren Validierungen entspricht. Der Stack kann jedoch weiterhin über das Stack Update CT (ct-361tlo1k7339x) aktualisiert werden, solange die IAM-Ressource, die unseren Validierungen nicht entspricht, nicht aktualisiert wird und die CFN-Vorlage unsere Validierungen besteht.

Löschen Ihrer AWS CloudFormation durch Ingest erstellten IAM-Rollen

Wenn Sie den gesamten Stack löschen möchten, verwenden Sie den folgenden automatisierten Änderungstyp „Stack löschen“. Anweisungen finden Sie unter Stapel löschen:

  • Typ-ID ändern: ct-0q0bic0ywqk6c

  • Klassifizierung: Verwaltung | Standard-Stacks | Stapel | Löschen und Verwalten | Erweiterte Stack-Komponenten | Stapel | Löschen

Wenn Sie eine IAM-Rolle löschen möchten, ohne den gesamten Stack zu löschen, können Sie die IAM-Rolle aus der CloudFormation Vorlage entfernen und die aktualisierte Vorlage als Eingabe für den automatisierten Änderungstyp Stack Update verwenden:

  • Typ-ID ändern: ct-361tlo1k7339x

  • Klassifizierung: Verwaltung | Benutzerdefinierter Stapel | Stapel aus Vorlage | Update CloudFormation

Anweisungen finden Sie unter AWS CloudFormation Ingest-Stack aktualisieren.