View a markdown version of this page

Konfiguration des kontoübergreifenden Zugriffs auf Amazon Keyspaces ohne eine 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 eine gemeinsame VPC

Wenn die Amazon Keyspaces-Tabelle und der private VPC-Endpunkt verschiedenen Konten gehören, aber keine VPC gemeinsam nutzen, können Anwendungen mithilfe von VPC-Endpunkten dennoch kontoübergreifende Verbindungen herstellen. Weil die Konten die VPC-Endpunkte nicht gemeinsam nutzen und ihre eigenen VPC-Endpunkte benötigenAccount A:111111111111. Account B:222222222222 Account C:333333333333 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 ohne einen gemeinsamen VPC-Endpunkt auf Amazon Keyspaces-Tabellen zugreifen, 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 seinen eigenen VPC-Endpunkt. In diesem Beispiel Account A:111111111111 Account C:333333333333 benötigen und ihre eigenen VPC-Endpunkte für den Zugriff auf die Tabelle in. Account B:222222222222 Account A:111111111111 Bei Verwendung von VPC-Endpunkten in dieser Konfiguration erscheint Amazon Keyspaces für den Cassandra-Client-Treiber als Cluster mit einem Knoten 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 Connection-Pool-Einstellung des Treibers um den Faktor drei.

Diagramm, das drei verschiedene Konten zeigt, die derselben Organisation gehören, aber AWS-Region keine gemeinsame VPC haben.

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

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

  2. Erstellen Sie eine IAM-Rolle, die vollen Zugriff auf Account A:111111111111 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, Account A:111111111111 sodass Principals vertrauenswürdige Konten 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 Cross-account Richtlinien im IAM-Benutzerhandbuch.

  4. Konfigurieren Sie den VPC-Endpunkt Account A:111111111111 und fügen Sie dem Endpunkt Berechtigungen zu, die es den Rollen ermöglichen, den VPC-Endpunkt Account C:333333333333 zu verwenden Account B:222222222222 und die Rolle bei der Account A Verwendung des VPC-Endpunkts zu übernehmen. Diese Berechtigungen sind für den VPC-Endpunkt gültig, an den sie angehängt sind. Weitere Informationen zu VPC-Endpunktrichtlinien finden Sie unter. Steuerung 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 Konto B:222222222222 und Konto 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 Principal 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" } }

    Es wird mithilfe der AssumeRole API von AWS -Security-Token-Service (AWS STS) implementiert, dass der Schulleiter die gemeinsame Rolle übernehmen kann. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Gewähren des Zugriffs für einen IAM-Benutzer in einem anderen Benutzer AWS-Konto , dessen Besitzer Sie sind.

  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 zur Amazon Keyspaces-Tabelle herzustellen, die sich in befindet. Account A:111111111111 Weitere Informationen zum SIGV4-Authentifizierungs-Plugin finden Sie unter. Anmeldeinformationen für den programmatischen Zugriff auf Amazon Keyspaces erstellen Weitere Informationen dazu, wie Sie eine Anwendung so konfigurieren, dass sie eine Rolle in einem anderen AWS Konto übernimmt, finden Sie unter Authentifizierung und Zugriff im Referenzhandbuch für AWS SDKs und Tools.