View a markdown version of this page

Como configurar o acesso entre contas para o Amazon Keyspaces sem uma VPC compartilhada - Amazon Keyspaces (para Apache Cassandra)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como configurar o acesso entre contas para o Amazon Keyspaces sem uma VPC compartilhada

Se a tabela do Amazon Keyspaces e o endpoint privado da VPC pertencerem a contas diferentes, mas não estiverem compartilhando uma VPC, os aplicativos ainda poderão se conectar entre contas usando endpoints da VPC. Como as contas não estão compartilhando os endpoints da VPC, Account A:111111111111, Account B:222222222222 e Account C:333333333333 exigem seus próprios endpoints da VPC. Para o driver do cliente Cassandra, o Amazon Keyspaces aparece como um único nó em vez de um cluster de vários nós. Após a conexão, o driver do cliente chega ao servidor DNS, que retorna um dos endpoints disponíveis na VPC da conta.

Você também pode acessar as tabelas do Amazon Keyspaces em diferentes contas sem um endpoint de VPC compartilhado usando os endpoints públicos ou implantando um endpoint VPC privado em cada conta. Quando não está usando uma VPC compartilhada, cada conta exige seu próprio endpoint da VPC. Neste exemplo, Account A:111111111111, Account B:222222222222 e Account C:333333333333 exigem seus próprios endpoints da VPC para acessar a tabela em Account A:111111111111. Ao usar endpoints da VPC nessa configuração, o Amazon Keyspaces aparece como um cluster de nó único para o driver do cliente Cassandra em vez de um cluster de vários nós. Após a conexão, o driver do cliente chega ao servidor DNS, que retorna um dos endpoints disponíveis na VPC da conta. Mas o driver do cliente não consegue acessar a tabela system.peers para descobrir endpoints adicionais. Como há menos hosts disponíveis, o driver faz menos conexões. Para ajustar isso, aumente a configuração do pool de conexões do driver em um fator de três.

Diagrama mostrando três contas diferentes pertencentes à mesma organização, na mesma Região da AWS sem uma VPC compartilhada.

Account A:111111111111é a conta que contém os recursos (uma tabela Amazon Keyspaces) que Account B:222222222222 Account C:333333333333 você precisa acessar, assim como Account A:111111111111 a conta confiável. Account B:222222222222e Account C:333333333333 são as contas com os diretores que precisam acessar os recursos (uma tabela Amazon Keyspaces) emAccount A:111111111111, assim como Account B:222222222222 Account C:333333333333 as contas confiáveis. A conta confiável concede as permissões às contas confiáveis compartilhando um perfil do IAM. O procedimento a seguir descreve as etapas de configuração necessárias em Account A:111111111111.

Configuração para Conta A:111111111111
  1. Crie um espaço de teclas e uma tabela do Amazon Keyspaces em. Account A:111111111111

  2. Crie uma função do IAM Account A:111111111111 que tenha acesso total à tabela Amazon Keyspaces e acesso de leitura às tabelas do sistema Amazon Keyspaces.

    { "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. Configure uma política de confiança para a função do IAM para que os diretores entrem Account B:222222222222 e Account C:333333333333 possam assumir a função como contas confiáveis. Account A:111111111111 Isso é mostrado no exemplo a seguir.

    { "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": {} } ] }

    Para obter mais informações sobre políticas de IAM entre contas, consulte Cross-account as políticas no Guia do usuário do IAM.

  4. Configure o endpoint da VPC Account A:111111111111 e anexe permissões ao endpoint que permitam que as funções partam Account B:222222222222 e assumam Account C:333333333333 a função de Account A usar o endpoint da VPC. Essas permissões são válidas para o endpoint VPC ao qual estão vinculadas. Para obter mais informações sobre as políticas de endpoint da VPC, consulte Como controlar o acesso aos endpoints da VPC de interface para o 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" ] } } } ] }
Configuração em Conta B:222222222222 and Conta C:333333333333
  1. Em Account B:222222222222 e Account C:333333333333, crie novos perfis e anexe a seguinte política que permite que a entidade principal assuma o perfil compartilhado criado em Account A:111111111111.

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

    Permitir que o diretor assuma a função compartilhada é implementado usando a AssumeRole API do AWS Security Token Service (AWS STS). Para obter mais informações, consulte Fornecer acesso a um usuário do IAM em outro Conta da AWS de sua propriedade no Guia do usuário do IAM.

  2. Em Account B:222222222222 eAccount C:333333333333, você pode criar aplicativos que utilizam o plug-in de autenticação SIGV4, que permite que um aplicativo assuma a função compartilhada de se conectar à tabela Amazon Keyspaces localizada em. Account A:111111111111 Para obter mais informações sobre o plug-in de autenticação SIGV4, consulte Crie credenciais para acesso programático ao Amazon Keyspaces. Para obter mais informações sobre como configurar um aplicativo para assumir uma função em outra AWS conta, consulte Autenticação e acesso no Guia de referência de AWS SDKs e ferramentas.