Konfiguration des kontoübergreifenden Zugriffs auf Amazon Keyspaces ohne gemeinsame VPC - Amazon Keyspaces (für Apache Cassandra)

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.

Konfiguration des kontoübergreifenden Zugriffs auf Amazon Keyspaces ohne gemeinsame VPC

Wenn die Amazon Keyspaces-Tabelle und der private VPC-Endpunkt unterschiedlichen Konten gehören, sich aber keine VPC teilen, können Anwendungen trotzdem kontoübergreifende Verbindungen über VPC-Endpunkte herstellen. Weil die Konten die VPC-Endpunkte,, Account A:111111111111Account B:222222222222, nicht gemeinsam nutzen und ihre eigenen VPC-Endpunkte Account C:333333333333 benötigen. Für den Cassandra-Client-Treiber erscheint Amazon Keyspaces wie ein einzelner Knoten statt wie ein Cluster mit mehreren Knoten. Nach der Verbindung erreicht der Client-Treiber den DNS-Server, der einen der verfügbaren Endpunkte in der VPC des Kontos zurückgibt.

Sie können auch über verschiedene Konten hinweg auf Amazon Keyspaces-Tabellen zugreifen, ohne einen gemeinsamen VPC-Endpunkt zu haben, indem Sie die öffentlichen Endpunkte verwenden oder in jedem Konto einen privaten VPC-Endpunkt bereitstellen. Wenn Sie keine gemeinsam genutzte VPC verwenden, benötigt jedes Konto einen eigenen VPC-Endpunkt. In diesem Account A:111111111111 Beispiel Account C:333333333333 benötigen sie ihre eigenen VPC-EndpunkteAccount B:222222222222, um auf die Tabelle in zuzugreifen. Account A:111111111111 Bei Verwendung von VPC-Endpunkten in dieser Konfiguration erscheint Amazon Keyspaces für den Cassandra-Client-Treiber als Einzelknoten-Cluster und nicht als Cluster mit mehreren Knoten. Nach der Verbindung erreicht der Client-Treiber den DNS-Server, der einen der verfügbaren Endpunkte in der VPC des Kontos zurückgibt. Der Client-Treiber kann jedoch nicht auf die system.peers Tabelle zugreifen, um weitere Endpunkte zu ermitteln. Da weniger Hosts verfügbar sind, stellt der Treiber weniger Verbindungen her. Um dies anzupassen, erhöhen Sie die Verbindungspool-Einstellung des Treibers um den Faktor drei.

Diagramm, das drei verschiedene Konten zeigt, die derselben Organisation in derselben Organisation AWS-Region ohne gemeinsame VPC gehören.

Account A:111111111111ist das Konto, das die Ressourcen (eine Amazon Keyspaces-Tabelle) enthält, auf die zugegriffen werden Account C:333333333333 muss Account B:222222222222 und auf die zugegriffen werden muss, Account A:111111111111 ebenso das vertrauenswürdige Konto. Account B:222222222222und Account C:333333333333 sind die Konten bei den Principals, die Zugriff auf die Ressourcen (eine Amazon Keyspaces-Tabelle) benötigenAccount A:111111111111, also Account B:222222222222 Account C:333333333333 die vertrauenswürdigen Konten. Das vertrauenswürdige Konto erteilt die Berechtigungen für die vertrauenswürdigen Konten, indem es sich eine IAM-Rolle teilt. Das folgende Verfahren beschreibt die Konfigurationsschritte, die in erforderlich sind. Account A:111111111111

Konfiguration für Account A:111111111111
  1. Erstellen Sie einen Amazon Keyspaces-Schlüsselraum und eine Tabelle darin. Account A:111111111111

  2. Erstellen Sie eine IAM-Rolle inAccount A:111111111111, die vollen Zugriff auf die Amazon Keyspaces-Tabelle und Lesezugriff auf die Amazon Keyspaces-Systemtabellen hat.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:Select", "cassandra:Modify" ], "Resource":[ "arn:aws:cassandra:us-east-1:111111111111:/keyspace/mykeyspace/table/mytable", "arn:aws:cassandra:us-east-1:111111111111:/keyspace/system*" ] } ] }
  3. Konfigurieren Sie eine Vertrauensrichtlinie für die IAM-Rolle in, Account A:111111111111 sodass Prinzipale die Rolle als Account B:222222222222 vertrauenswürdige Account C:333333333333 Konten übernehmen können. Dies wird im folgenden Beispiel veranschaulicht.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::222222222222:role/Cross-Account-Role-B", "arn:aws:iam::333333333333:role/Cross-Account-Role-C" ] }, "Action": "sts:AssumeRole", "Condition": {} } ] }

    Weitere Informationen zu kontoübergreifenden IAM-Richtlinien finden Sie unter Kontoübergreifende Richtlinien im IAM-Benutzerhandbuch.

  4. Konfigurieren Sie den VPC-Endpunkt in Account A:111111111111 und fügen Sie dem Endpunkt Berechtigungen hinzu, die es den Rollen von Account B:222222222222 und Account C:333333333333 die Übernahme der Rolle bei der Account A Verwendung des VPC-Endpunkts ermöglichen. Diese Berechtigungen gelten für den VPC-Endpunkt, an den sie angehängt sind. Weitere Informationen zu VPC-Endpunktrichtlinien finden Sie unterSteuerung des Zugriffs auf VPC-Schnittstellen-Endpunkte für Amazon Keyspaces.

    {{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessfromSpecificIAMroles", "Effect": "Allow", "Action": "cassandra:*", "Resource": "*", "Principal": "*", "Condition": { "ArnEquals": { "aws:PrincipalArn": [ "arn:aws:iam::222222222222:role/Cross-Account-Role-B", "arn:aws:iam::333333333333:role/Cross-Account-Role-C" ] } } } ] }
Konfiguration in und Account B:222222222222Account C:333333333333
  1. Erstellen Sie in Account B:222222222222 und Account C:333333333333 neue Rollen und fügen Sie die folgende Richtlinie hinzu, die es dem Prinzipal ermöglicht, die in erstellte gemeinsame Rolle zu übernehmenAccount A:111111111111.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111111111111:role/keyspaces_access" } }

    Dem Prinzipal die Übernahme der gemeinsamen Rolle zu ermöglichen, wird mithilfe der AssumeRole API von AWS Security Token Service (AWS STS) implementiert. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Gewähren des Zugriffs für einen IAM-Benutzer in einem anderen AWS-Konto , den Sie besitzen.

  2. In Account B:222222222222 und können Sie Anwendungen erstellenAccount C:333333333333, die das SIGV4 Authentifizierungs-Plugin verwenden, das es einer Anwendung ermöglicht, die gemeinsame Rolle zu übernehmen, um eine Verbindung mit der Amazon Keyspaces-Tabelle herzustellen, die sich in Account A:111111111111 befindet. Weitere Informationen zum SIGV4 Authentifizierungs-Plugin finden Sie unterAnmeldeinformationen für den programmatischen Zugriff auf Amazon Keyspaces erstellen . Weitere Informationen darüber, wie Sie eine Anwendung so konfigurieren, dass sie eine Rolle in einem anderen AWS Konto übernimmt, finden Sie unter Authentifizierung und Zugriff im AWS SDKs Referenzhandbuch zu Tools.