Como criar e configurar AWS credenciais para o Amazon Keyspaces - 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 criar e configurar AWS credenciais para o Amazon Keyspaces

Para acessar o Amazon Keyspaces programaticamente com o AWS SDK ou com os AWS CLI drivers do cliente Cassandra e o plug-in SigV4, você precisa de um usuário ou função do IAM com chaves de acesso. Ao usar AWS programaticamente, você fornece suas chaves de AWS acesso para que AWS possa verificar sua identidade em chamadas programáticas. Suas chaves de acesso consistem em um ID de chave de acesso (por exemplo, AKIAIOSFODNN7EXAMPLE) e uma chave de acesso secreta (por exemplo, wjalrxutnfemi/k7mdeng/ CYEXAMPLEKEY). bPxRfi Este tópico o guia pelas etapas necessárias nesse processo.

As melhores práticas de segurança recomendam que você crie usuários do IAM com permissões limitadas e, em vez disso, associe as funções do IAM às permissões necessárias para realizar tarefas específicas. Os usuários do IAM podem então assumir temporariamente as funções do IAM para realizar as tarefas necessárias. Por exemplo, usuários do IAM em sua conta usando o console do Amazon Keyspaces podem mudar para uma função para usar temporariamente as permissões da função no console. Os usuários cedem suas permissões originais e assumem as permissões atribuídas à função. Quando os usuários saem da função, suas permissões originais são restauradas. As credenciais que os usuários usam para assumir a função são temporárias. Pelo contrário, os usuários do IAM têm credenciais de longo prazo, o que representa um risco de segurança se, em vez de assumir funções, eles tiverem permissões diretamente atribuídas a eles. Para ajudar a reduzir esse risco, recomendamos que você forneça a esses usuários somente as permissões necessárias para realizar a tarefa e que você os remova quando não forem mais necessários. Para obter mais informações sobre funções, consulte Cenários comuns para funções: usuários, aplicativos e serviços no Guia do usuário do IAM.

Credenciais exigidas pelo AWS CLIAWS SDK ou pelo plug-in SigV4 do Amazon Keyspaces para drivers de clientes do Cassandra

As seguintes credenciais são necessárias para autenticar o usuário ou o perfil do IAM:

AWS_ACCESS_KEY_ID

Especifica uma chave de AWS acesso associada a um usuário ou função do IAM.

A chave de acesso aws_access_key_id é necessária para se conectar programaticamente ao Amazon Keyspaces.

AWS_SECRET_ACCESS_KEY

Especifica a chave secreta associada à chave de acesso. Essencialmente, essa é a “senha” para a chave de acesso.

A aws_secret_access_key é necessária para se conectar programaticamente ao Amazon Keyspaces.

AWS_SESSION_TOKEN: opcional

Especifica o valor de token de sessão que é necessário se você estiver usando credenciais de segurança temporárias recuperadas diretamente das operações do AWS Security Token Service . Para ter mais informações, consulte Usar credenciais temporárias para se conectar ao Amazon Keyspaces usando um perfil do IAM e o plug-in SigV4.

Se você estiver se conectando com um usuário do IAM, o aws_session_token não é obrigatório.

Criação de um usuário do IAM para acesso programático ao Amazon Keyspaces em sua conta AWS

Para obter credenciais para acesso programático ao Amazon Keyspaces com o plug-in AWS CLI, AWS SDK ou SigV4, você precisa primeiro criar um usuário ou uma função do IAM. O processo de criar um usuário do IAM e configurar esse usuário do IAM para ter acesso programático ao Amazon Keyspaces é mostrado nas seguintes etapas:

  1. Crie o usuário no AWS Management Console Tools for Windows PowerShell ou usando uma operação de AWS API. AWS CLI Se você criar o usuário no AWS Management Console, as credenciais serão criadas automaticamente.

  2. Caso crie o usuário programaticamente, você deverá criar uma chave de acesso (uma ID de chave de acesso e uma chave de acesso secreta) para esse usuário em uma etapa adicional.

  3. Conceda ao usuário permissões para acessar o Amazon Keyspaces.

Para obter informações sobre as permissões de que você precisa para criar um usuário, consulte Permissões necessárias para acessar recursos do IAM.

Criação de usuários do IAM (console)

Você pode usar o AWS Management Console para criar usuários do IAM.

Para criar um usuário do IAM com acesso programático (console)
  1. Faça login AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Users (Usuários) e Add users (Adicionar usuários).

  3. Digite o nome para o novo usuário. Esse é o nome de login do. AWS

    nota

    Os nomes de usuário podem ser uma combinação de até 64 letras, dígitos e estes caracteres: adição (+), igual (=), vírgula (,), ponto (.), arroba (@), sublinhado (_) e hífen (-). Os nomes devem ser exclusivos dentro de uma conta. Eles não são diferenciados por letras maiúsculas e minúsculas. Por exemplo, você não pode criar dois usuários denominados TESTUSER e testuser.

  4. Selecione Chave de acesso - Acesso programático para criar uma chave de acesso para o novo usuário. Você pode visualizar ou fazer download das chaves de acesso ao acessar a página Final.

    Escolha Próximo: permissões.

  5. Na página Set permissions (Definir permissões), selecione Attach existing policies to user directly (Anexar políticas existentes diretamente ao usuário).

    Essa opção exibe a lista de políticas AWS gerenciadas e gerenciadas pelo cliente disponíveis em sua conta. Você pode inserir keyspaces no campo de pesquisa para exibir apenas políticas relacionadas ao Amazon Keyspaces.

    Para o Amazon Keyspaces, as políticas gerenciadas disponíveis são AmazonKeyspacesFullAccess e AmazonKeyspacesReadOnlyAccess. Para obter mais informações sobre cada política, consulte Políticas gerenciadas pela AWS para o Amazon Keyspaces.

    Para fins de teste e para seguir os tutoriais de conexão, selecione a AmazonKeyspacesReadOnlyAccess política para o novo usuário do IAM. Observação: como uma prática recomendada, sugerimos que você siga o princípio do privilégio mínimo e crie políticas personalizadas que limitem o acesso a recursos específicos e permitam apenas as ações necessárias. Para obter mais informações sobre políticas do IAM e para ver políticas de exemplo para Amazon Keyspaces, consulte Políticas baseadas em identidade do Amazon Keyspaces. Depois de criar políticas de permissão personalizadas, anexe suas políticas às funções e permita que os usuários assumam temporariamente as funções apropriadas.

    Escolha Próximo: etiquetas.

  6. Na página Adicionar tags (opcional), você pode adicionar tags para o usuário ou escolher Avançar: Revisão.

  7. Na página Revisão, você poder ver todas as escolhas feitas até esse ponto. Quando estiver pronto para continuar, escolha Create user (Criar usuário).

  8. Para exibir as chaves de acesso do usuário (IDs de chave de acesso e chaves de acesso secretas), selecione Show (Mostrar) ao lado da senha e da chave de acesso. Para salvar as chaves de acesso, escolha Fazer download de .csv e, em seguida, salve o arquivo em um local seguro.

    Importante

    Esta é a única oportunidade de visualizar ou fazer download das chaves de acesso secretas, e você precisa desta informação antes de poder usar o plug-in SigV4. Salve a nova ID da chave de acesso do usuário e a chave de acesso secreta em um local seguro e protegido. Você não terá acesso às chaves secretas novamente depois dessa etapa.

Criação de usuários do IAM (AWS CLI)

Você pode usar o AWS CLI para criar um usuário do IAM.

Para criar um usuário do IAM com acesso programático (AWS CLI)
  1. Crie um usuário com o AWS CLI código a seguir.

  2. Forneça ao usuário acesso programático. Isso requer chaves de acesso, que podem ser geradas como se segue.

    • AWS CLI: aws iam create-access-key

    • Ferramentas para Windows PowerShell: New-IAMAccessKey

    • API do IAM: CreateAccessKey

      Importante

      Esta é a única oportunidade de visualizar ou fazer download das chaves de acesso secretas, e você precisa desta informação antes de poder usar o plug-in SigV4. Salve a nova ID da chave de acesso do usuário e a chave de acesso secreta em um local seguro e protegido. Você não terá acesso às chaves secretas novamente depois dessa etapa.

  3. Anexe uma política AmazonKeyspacesReadOnlyAccess ao usuário que defina as permissões do usuário. Observação: como prática recomendada, recomendamos que você gerencie as permissões de usuário adicionando o usuário a um grupo e anexando uma política ao grupo, em vez de anexá-la diretamente a um usuário.

Criar chaves de acesso para um usuário do IAM

Caso já tenha um usuário do IAM, você poderá criar novas chaves de acesso a qualquer momento. Para obter informações sobre como gerenciar chaves, por exemplo, como alternar as chaves de acesso, consulte Gerenciar chaves de acesso para usuários do IAM.

Para criar chaves de acesso para um usuário do IAM (console)
  1. Faça login AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Users.

  3. Escolha o nome do usuário para o qual você deseja criar uma chave de acesso.

  4. Na página Resumo, clique na guia Credenciais de segurança.

  5. Na seção Access keys (Chaves de acesso), escolha Create access key (Criar chave de acesso).

    Para ver o novo par de chaves de acesso, escolha Show (Mostrar). Suas credenciais terão a seguinte aparência:

    • ID da chave de acesso: AKIAIOSFODNN7EXAMPLE

    • Chave de acesso secreta: wjalrxutnfemi/k7mdeng/ bPxRfi CYEXAMPLEKEY

    nota

    Você não terá mais acesso à chave de acesso secreta depois que essa caixa de diálogo for fechada.

  6. Para baixar o par de chaves, escolha Baixar arquivo .csv. Armazene as chaves em um lugar seguro.

  7. Depois de baixar o arquivo .csv, escolha Close (Fechar).

Quando você cria uma chave de acesso, o par de chaves é ativo por padrão, e você pode usar o par imediatamente.

Como gerenciar chaves de acesso para usuários do IAM

Como uma prática recomendada, sugerimos que você não incorpore chaves de acesso diretamente no código. Os AWS SDKs e as ferramentas de linha de AWS comando permitem que você coloque as chaves de acesso em locais conhecidos para que você não precise mantê-las em código. Coloque chaves de acesso em um dos seguintes locais:

  • Variáveis de ambiente: em um sistema multicliente, escolha as variáveis de ambiente do usuário, não as variáveis de ambiente do sistema.

  • Arquivo de credenciais da CLI: os arquivos credentials e config são atualizados quando você executa o comando aws configure. O arquivo credentials está localizado em ~/.aws/credentials no Linux, no MacOS ou no Unix, ou ainda em C:\Users\USERNAME\.aws\credentials no Windows. Esse arquivo pode conter os detalhes da credencial para o perfil default e quaisquer perfis nomeados.

  • Arquivo de configuração da CLI: os arquivos credentials e config são atualizados quando você executa o comando aws configure. O arquivo config está localizado em ~/.aws/config no Linux, no MacOS ou no Unix, ou ainda em C:\Users\USERNAME\.aws\config no Windows. Esse arquivo contém as definições de configuração para o perfil padrão e quaisquer perfis nomeados.

Armazenar chaves de acesso como variáveis de ambiente é um pré-requisito para o Um tep-by-step tutorial para se conectar ao Amazon Keyspaces usando o driver DataStax Java 4.x para Apache Cassandra e o plug-in de autenticação SigV4. O cliente pesquisa credenciais usando a cadeia de fornecedores de credenciais padrão, e as chaves de acesso armazenadas como variáveis de ambiente têm precedência sobre todos os outros locais, por exemplo, arquivos de configuração. Para obter mais informações, consulte Definições e precedência de configuração.

Os exemplos a seguir mostram como configurar variáveis de ambiente para o usuário padrão.

Linux, macOS, or Unix
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE $ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY $ export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of security token>

Configurar a variável de ambiente altera o valor usado até o final da sua sessão de shell ou até que você defina a variável como um valor diferente. Você pode tornar as variáveis persistentes em sessões futuras definindo-as no script de inicialização do shell.

Windows Command Prompt
C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> setx AWS_SESSION_TOKEN AQoDYXdzEJr...<remainder of security token>

O uso de set para definir uma variável de ambiente altera o valor usado até o final da sessão de prompt de comando atual ou até que você defina a variável como um valor diferente. O uso de setx para definir uma variável de ambiente altera o valor usado na sessão de prompt de comando atual e todas as sessões de prompt de comando que você criar após a execução do comando. Não afeta outros shells de comando que já estejam em execução no momento em que você executar o comando.

PowerShell
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" PS C:\> $Env:AWS_SESSION_TOKEN="AQoDYXdzEJr...<remainder of security token>"

Se você definir uma variável de ambiente no PowerShell prompt, conforme mostrado nos exemplos anteriores, ela salvará o valor somente durante a sessão atual. Para tornar a configuração da variável de ambiente persistente em todas as sessões PowerShell e nas sessões do Prompt de Comando, armazene-a usando o aplicativo Sistema no Painel de Controle. Como alternativa, você pode definir a variável para todas as PowerShell sessões futuras adicionando-a ao seu PowerShell perfil. Consulte a PowerShell documentação para obter mais informações sobre como armazenar variáveis de ambiente ou persisti-las nas sessões.

Usar credenciais temporárias para se conectar ao Amazon Keyspaces usando um perfil do IAM e o plug-in SigV4

Para aumentar a segurança, você pode usar credenciais temporárias para se autenticar com o plug-in SigV4. Em muitos casos, você não precisa de chaves de acesso de longo prazo que nunca expiram (como há no caso de um usuário do IAM). Em vez disso, você pode criar perfis do IAM e gerar credenciais de segurança temporárias. As credenciais de segurança temporárias consistem em um ID da chave de acesso e uma chave de acesso secreta, mas elas também incluem um token de segurança que indica quando as credenciais expiram. Para saber mais sobre como usar funções do IAM em vez de chaves de acesso de longo prazo, consulte Como mudar para uma função do IAM (AWS API).

Para começar com credenciais temporárias, primeiro você precisa criar um perfil do IAM.

Crie um perfil do IAM que conceda acesso somente leitura ao Amazon Keyspaces
  1. Faça login AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, selecione Perfis e depois Criar perfil.

  3. Na página Criar perfil, em Selecionar tipo de entidade confiável, selecione AWS serviço. Em Escolher um caso de uso, escolha Amazon EC2 e escolha Próximo.

  4. Na página Adicionar permissões, em Políticas de permissões, escolha Amazon Keyspaces Read Only Access na lista de políticas e escolha Próximo.

  5. Na página Nome, revisão e criação, insira um nome para o perfil e revise as seções Selecionar entidades confiáveis e Adicionar permissões. Você também pode adicionar tags opcionais para o perfil nesta página. Quando concluir, selecione Criar perfil. Lembre-se desse nome, pois você precisará dele quando executar sua instância do Amazon EC2.

Para usar credenciais de segurança temporárias no código, você chama programaticamente uma AWS Security Token Service API como AssumeRole e extrai as credenciais e o token de sessão resultantes da sua função do IAM que você criou na etapa anterior. Em seguida, você usa esses valores como credenciais para chamadas subsequentes para AWS. O exemplo a seguir mostra o pseudocódigo de como usar credenciais de segurança temporárias:

assumeRoleResult = AssumeRole(role-arn); tempCredentials = new SessionAWSCredentials( assumeRoleResult.AccessKeyId, assumeRoleResult.SecretAccessKey, assumeRoleResult.SessionToken); cassandraRequest = CreateAmazoncassandraClient(tempCredentials);

Para obter um exemplo que implementa credenciais temporárias usando o driver Python para acessar o Amazon Keyspaces, consulte Conecte-se ao Amazon Keyspaces usando o driver DataStax Python para Apache Cassandra e o plug-in de autenticação SigV4.

Para obter detalhes sobre como chamar AssumeRole, GetFederationToken e outras operações de API, consulte a Referência da API do AWS Security Token Service. Para obter informações sobre como obter as credenciais de segurança temporárias e o token de sessão provenientes do resultado, consulte a documentação do SDK com o qual você está trabalhando. Você pode encontrar a documentação de todos os AWS SDKs na página principal da AWS documentação, na seção SDKs e kits de ferramentas.