Für die Anpassung eingerichtet - AWS Control Tower

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.

Für die Anpassung eingerichtet

In den nächsten Abschnitten werden Schritte zur Einrichtung von Account Factory für den Anpassungsprozess beschrieben. Wir empfehlen, dass Sie einen delegierten Administrator für das Hub-Konto einrichten, bevor Sie mit diesen Schritten beginnen.

Übersicht
  • Schritt 1. Erstellen Sie die erforderliche Rolle. Erstellen Sie eine IAM-Rolle, die AWS Control Tower die Erlaubnis erteilt, Zugriff auf das (Hub-) Konto zu erhalten, in dem die Service Catalog-Produkte, auch Blueprints genannt, gespeichert sind.

  • Schritt 2. Erstellen Sie das Produkt AWS Service Catalog . Erstellen Sie das AWS Service Catalog Produkt (auch „Blueprint-Produkt“ genannt), das Sie für das Baselining des benutzerdefinierten Kontos benötigen.

  • Schritt 3. Überprüfen Sie Ihren benutzerdefinierten Blueprint. Untersuchen Sie das AWS Service Catalog Produkt (Blueprint), das Sie erstellt haben.

  • Schritt 4. Rufen Sie Ihren Blueprint auf, um ein individuelles Konto zu erstellen. Geben Sie bei der Kontoerstellung die Blueprint-Produktinformationen und die Rolleninformationen in die entsprechenden Felder in Account Factory in der AWS Control Tower Tower-Konsole ein.

Schritt 1. Erstellen Sie die erforderliche Rolle

Bevor Sie mit der Anpassung von Konten beginnen, müssen Sie eine Rolle einrichten, die eine Vertrauensbeziehung zwischen AWS Control Tower und Ihrem Hub-Konto beinhaltet. Wenn diese Rolle übernommen wird, gewährt sie AWS Control Tower Zugriff zur Verwaltung des Hub-Kontos. Die Rolle muss benannt AWSControlTowerBlueprintAccesswerden.

AWS Control Tower übernimmt diese Rolle, um in Ihrem Namen eine Portfolio-Ressource zu erstellen AWS Service Catalog, anschließend Ihren Blueprint als Service Catalog-Produkt zu diesem Portfolio hinzuzufügen und dann dieses Portfolio und Ihren Blueprint während der Kontobereitstellung mit Ihrem Mitgliedskonto zu teilen.

Sie erstellen die AWSControlTowerBlueprintAccess Rolle, wie in den folgenden Abschnitten erläutert.

Navigieren Sie zur IAM-Konsole, um die erforderliche Rolle einzurichten.

So richten Sie die Rolle in einem registrierten AWS Control Tower Tower-Konto ein
  1. Verbinden Sie das AWS Control Tower Tower-Verwaltungskonto oder melden Sie sich als Principal an.

  2. Nehmen Sie vom Verbundprinzipal im Verwaltungskonto die Rollen an oder wechseln Sie zu der AWSControlTowerExecution Rolle im registrierten AWS Control Tower Tower-Konto, das Sie als Blueprint-Hub-Konto auswählen.

  3. Erstellen Sie aus der AWSControlTowerExecution Rolle im registrierten AWS Control Tower Tower-Konto die AWSControlTowerBlueprintAccess Rolle mit den richtigen Berechtigungen und Vertrauensbeziehungen.

Anmerkung

Um den Richtlinien für AWS bewährte Verfahren zu entsprechen, ist es wichtig, dass Sie sich unmittelbar nach der Erstellung der AWSControlTowerExecution Rolle von der AWSControlTowerBlueprintAccess Rolle abmelden.

Um unbeabsichtigte Änderungen an Ressourcen zu verhindern, ist die AWSControlTowerExecution Rolle nur für die Verwendung durch AWS Control Tower vorgesehen.

Wenn Ihr Blueprint-Hub-Konto nicht bei AWS Control Tower registriert ist, ist die AWSControlTowerExecution Rolle im Konto nicht vorhanden, und Sie müssen sie nicht annehmen, bevor Sie mit der Einrichtung der AWSControlTowerBlueprintAccess Rolle fortfahren.

Um die Rolle in einem nicht registrierten Mitgliedskonto einzurichten
  1. Verbinden Sie das Konto, das Sie als Hub-Konto festlegen möchten, oder melden Sie sich mit Ihrer bevorzugten Methode als Hauptbenutzer an.

  2. Wenn Sie als Hauptbenutzer im Konto angemeldet sind, erstellen Sie die AWSControlTowerBlueprintAccess Rolle mit den entsprechenden Berechtigungen und Vertrauensbeziehungen.

Die AWSControlTowerBlueprintAccessRolle muss so eingerichtet sein, dass sie zwei Prinzipalen Vertrauen gewährt:

  • Der Principal (Benutzer), der AWS Control Tower im AWS Control Tower Tower-Verwaltungskonto ausführt.

  • Die AWSControlTowerAdmin im AWS Control Tower Tower-Verwaltungskonto angegebene Rolle.

Hier ist ein Beispiel für eine Vertrauensrichtlinie, ähnlich einer, die Sie für Ihre Rolle angeben müssen. Diese Richtlinie veranschaulicht die bewährte Methode zur Gewährung des Zugriffs mit den geringsten Rechten. Wenn Sie Ihre eigene Richtlinie erstellen, ersetzen Sie den Begriff YourManagementAccountIddurch die tatsächliche Konto-ID Ihres AWS Control Tower Tower-Verwaltungskontos und ersetzen Sie den Begriff YourControlTowerUserRoledurch die ID der IAM-Rolle für Ihr Verwaltungskonto.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::YourManagementAccountId:role/service-role/AWSControlTowerAdmin", "arn:aws:iam::YourManagementAccountId:role/YourControlTowerUserRole" ] }, "Action": "sts:AssumeRole" } ] }

Richtlinie für erforderliche Berechtigungen

AWS Control Tower erfordert, dass die angegebene verwaltete Richtlinie an die AWSControlTowerBlueprintAccess Rolle angehängt werden AWSServiceCatalogAdminFullAccess muss. Diese Richtlinie bietet Berechtigungen, mit AWS Service Catalog denen geprüft wird, wann AWS Control Tower Ihr Portfolio und Ihre AWS Service Catalog Produktressourcen verwalten darf. Sie können diese Richtlinie anhängen, wenn Sie die Rolle in der IAM-Konsole erstellen.

Zusätzliche Berechtigungen können erforderlich sein
  • Wenn Sie Ihre Blueprints in Amazon S3 speichern, benötigt AWS Control Tower auch die AmazonS3ReadOnlyAccess Berechtigungsrichtlinie für die AWSControlTowerBlueprintAccess Rolle.

  • Für den Produkttyp AWS Service Catalog Terraform müssen Sie der benutzerdefinierten AFC-IAM-Richtlinie einige zusätzliche Berechtigungen hinzufügen, wenn Sie nicht die standardmäßige Admin-Richtlinie verwenden. Diese sind zusätzlich zu den Berechtigungen erforderlich, die zum Erstellen der Ressourcen erforderlich sind, die Sie in Ihrer Terraform-Vorlage definieren.

Schritt 2. Erstellen Sie das Produkt AWS Service Catalog

Um ein AWS Service Catalog Produkt zu erstellen, folgen Sie den Schritten unter Produkte erstellen im AWS Service Catalog Administratorhandbuch. Sie fügen Ihren Konto-Blueprint als Vorlage hinzu, wenn Sie das AWS Service Catalog Produkt erstellen.

Wichtig

Als Ergebnis der HashiCorp aktualisierten Terraform-Lizenzierung wurde die Unterstützung für Terraform Open Source-Produkte und bereitgestellte Produkte auf einen neuen Produkttyp namens External AWS Service Catalog umgestellt. Weitere Informationen darüber, wie sich diese Änderung auf AFC auswirkt, einschließlich der Aktualisierung Ihrer bestehenden Konto-Blueprints auf den Produkttyp Extern, finden Sie unter Übergang zum externen Produkttyp.

Zusammenfassung der Schritte zur Erstellung eines Blueprints
  • Erstellen Sie eine AWS CloudFormation Vorlage oder eine Terraform-Konfigurationsdatei tar.gz, die zu Ihrem Konto-Blueprint wird, oder laden Sie sie herunter. Einige Vorlagenbeispiele werden später in diesem Abschnitt aufgeführt.

  • Melden Sie sich bei dem AWS-Konto Ort an, an dem Sie Ihre Account Factory Factory-Blueprints speichern (manchmal auch Hub-Konto genannt).

  • Navigieren Sie zur AWS Service Catalog Konsole. Wählen Sie Produktliste und dann Neues Produkt hochladen aus.

  • Geben Sie im Bereich Produktdetails Details für Ihr Blueprint-Produkt ein, z. B. einen Namen und eine Beschreibung.

  • Wählen Sie Eine Vorlagendatei verwenden und dann Datei auswählen aus. Wählen Sie die Vorlage oder Konfigurationsdatei aus, die Sie entwickelt oder heruntergeladen haben, um sie als Blueprint zu verwenden, oder fügen Sie sie ein.

  • Wählen Sie unten auf der Konsolenseite die Option Produkt erstellen aus.

Sie können eine AWS CloudFormation Vorlage aus dem AWS Service Catalog Referenzarchitektur-Repository herunterladen. Ein Beispiel aus diesem Repository hilft bei der Einrichtung eines Backup-Plans für Ihre Ressourcen.

Hier ist eine Beispielvorlage für ein fiktives Unternehmen namens Best Pets. Es hilft dabei, eine Verbindung zu ihrer Haustier-Datenbank herzustellen.

Resources: ConnectionStringGeneratorLambdaRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: Service: - lambda.amazonaws.com Action: - "sts:AssumeRole" ConnectionStringGeneratorLambda: Type: AWS::Lambda::Function Properties: FunctionName: !Join ['-', ['ConnectionStringGenerator', !Select [4, !Split ['-', !Select [2, !Split ['/', !Ref AWS::StackId]]]]]] Description: Retrieves the connection string for this account to access the Pet Database Role: !GetAtt ConnectionStringGeneratorLambdaRole.Arn Runtime: nodejs16.x Handler: index.handler Timeout: 5 Code: ZipFile: > const response = require("cfn-response"); exports.handler = function (event, context) { const awsAccountId = context.invokedFunctionArn.split(":")[4] const connectionString= "fake connection string that's specific to account " + awsAccountId; const responseData = { Value: connectionString, } response.send(event, context, response.SUCCESS, responseData); return connectionString; }; ConnectionString: Type: Custom::ConnectionStringGenerator Properties: ServiceToken: !GetAtt ConnectionStringGeneratorLambda.Arn PetDatabaseConnectionString: DependsOn: ConnectionString # For example purposes we're using SSM parameter store. # In your template, use secure alternatives to store # sensitive values such as connection strings. Type: AWS::SSM::Parameter Properties: Name: pet-database-connection-string Description: Connection information for the BestPets pet database Type: String Value: !GetAtt ConnectionString.Value

Schritt 3. Überprüfen Sie Ihren benutzerdefinierten Entwurf

Sie können Ihren Blueprint in der AWS Service Catalog Konsole anzeigen. Weitere Informationen finden Sie unter Produkte verwalten im Service Catalog Administrator Guide.

Schritt 4. Rufen Sie Ihren Blueprint auf, um ein benutzerdefiniertes Konto zu erstellen

Wenn Sie dem Workflow Konto erstellen in der AWS Control Tower Tower-Konsole folgen, wird ein optionaler Abschnitt angezeigt, in dem Sie Informationen zu dem Blueprint eingeben können, den Sie für die Anpassung von Konten verwenden möchten.

Anmerkung

Sie müssen Ihr Customization Hub-Konto einrichten und mindestens einen Blueprint (Service Catalog-Produkt) hinzufügen, bevor Sie diese Informationen in die AWS Control Tower Tower-Konsole eingeben und mit der Bereitstellung benutzerdefinierter Konten beginnen können.

Erstellen oder aktualisieren Sie ein benutzerdefiniertes Konto in der AWS Control Tower Tower-Konsole.
  1. Geben Sie die Konto-ID für das Konto ein, das Ihre Blueprints enthält.

  2. Wählen Sie in diesem Konto ein vorhandenes Service Catalog-Produkt (vorhandener Blueprint) aus.

  3. Wählen Sie die richtige Version des Blueprints (Service Catalog-Produkt) aus, wenn Sie mehr als eine Version haben.

  4. (Optional) Sie können zu diesem Zeitpunkt des Vorgangs eine Blueprint-Bereitstellungsrichtlinie hinzufügen oder ändern. Die Blueprint-Bereitstellungsrichtlinie ist in JSON geschrieben und an eine IAM-Rolle angehängt, sodass sie die in der Blueprint-Vorlage angegebenen Ressourcen bereitstellen kann. AWS Control Tower erstellt diese Rolle im Mitgliedskonto, sodass Service Catalog Ressourcen mithilfe von AWS CloudFormation Stack-Sets bereitstellen kann. Der Name der Rolle lautet AWSControlTower-BlueprintExecution-bp-xxxx. Die AdministratorAccess Richtlinie wird hier standardmäßig angewendet.

  5. Wählen Sie auf der Grundlage dieses Blueprints die Regionen AWS-Region oder Regionen aus, in denen Sie Konten bereitstellen möchten.

  6. Wenn Ihr Blueprint Parameter enthält, können Sie die Werte für die Parameter in zusätzliche Felder im AWS Control Tower Tower-Workflow eingeben. Zu den zusätzlichen Werten können gehören: ein GitHub Repository-Name, ein GitHub Branch, ein Amazon ECS-Clustername und eine GitHub Identität für den Repository-Besitzer.

  7. Sie können Konten zu einem späteren Zeitpunkt anpassen, indem Sie dem Prozess zur Kontoaktualisierung folgen, falls Ihr Hub-Konto oder Ihre Blueprints noch nicht bereit sind.

Weitere Details finden Sie unter Erstellen Sie ein benutzerdefiniertes Konto anhand eines Blueprints.