View a markdown version of this page

Crie um conector SFTP com saída gerenciada pelo serviço - AWS Transfer Family

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á.

Crie um conector SFTP com saída gerenciada pelo serviço

Este procedimento explica como criar conectores SFTP usando o AWS Transfer Family console ou AWS CLI.

Console
Para criar um conector STFP
  1. Abra o AWS Transfer Family console em https://console.aws.amazon.com/transfer/.

  2. No painel de navegação esquerdo, escolha Conectores SFTP e escolha Criar conector SFTP.

  3. Na seção Configuração do conector, para Tipo de saída, escolha Serviço gerenciado. Essa opção usa a infraestrutura de saída AWS Transfer Family gerenciada. O serviço Transfer Family fornece e gerencia endereços IP estáticos para cada conector SFTP.

  4. Na seção Configuração do conector, forneça as seguintes informações:

    O console do conector SFTP da família de transferência, mostrando as configurações do conector.
    • Para URL, insira o URL de um servidor SFTP remoto. Esse URL deve ser formatado como sftp://partner-SFTP-server-url, por exemplo, sftp://AnyCompany.com.

      nota

      Como opção, é possível fornecer um número de porta no seu URL. O formato é sftp://partner-SFTP-server-url:port-number. O número da porta padrão (quando nenhuma porta é especificada) é a porta 22.

    • Para a função Access, escolha o nome de recurso da Amazon (ARN) da função AWS Identity and Access Management (IAM) a ser usada.

      • Assegure que esta função forneça acesso de leitura e gravação ao diretório principal do local do arquivo usado na solicitação do StartFileTransfer.

      • Essa função deve dar permissão para secretsmanager:GetSecretValue para acessar o segredo.

        nota

        Na política, você deve especificar o ARN do segredo. O ARN contém o nome secreto, mas acrescenta ao nome seis caracteres alfanuméricos aleatórios. Um ARN para um segredo tem o seguinte formato.

        arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters
      • Certifique-se de que essa função contenha uma relação de confiança que permite que o conector acesse os recursos quando estiver atendendo ás solicitações de transferência dos seus usuários. Para obter informações sobre como estabelecer um relacionamento de confiança, consulte Estabelecer um relacionamento de confiança.

      { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-west-2:111122223333:secret:aws/transfer/SecretName-6RandomCharacters" } ] }
      nota

      Para a função de acesso, o exemplo concede acesso a um único segredo. Porém, é possível usar um caractere curinga, que pode poupar trabalho se você quiser reutilizar o mesmo perfil do IAM para vários usuários e segredos. Por exemplo, a declaração de recurso a seguir concede permissões para todos os segredos que têm nomes começando com aws/transfer.

      "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*"

      Você também pode armazenar segredos contendo suas credenciais de SFTP em outra Conta da AWS. Para obter detalhes sobre como ativar o acesso secreto entre contas, consulte Permissões para AWS Secrets Manager segredos para usuários em uma conta diferente.

  5. Conclua a configuração do conector:

    • (Opcional) Para a função de registro, escolha a função do IAM para o conector usar para enviar eventos para seus CloudWatch registros. O exemplo de política a seguir lista as permissões necessárias para registrar eventos para conectores SFTP.

      { "Version":"2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/transfer/*" } ] }
  6. No painel Configuração do SFTP, forneça as seguintes informações:

    O console do conector SFTP da família de transferência, mostrando as configurações de SFTP.
    • Para credenciais do conector, na lista suspensa, escolha o nome de um segredo AWS Secrets Manager que contém a chave privada ou a senha do usuário SFTP. Você precisa criar um segredo e armazená-lo de uma maneira específica. Para obter detalhes, consulte Armazene credenciais de autenticação para conectores SFTP no Secrets Manager.

    • (Opcional) Você tem a opção de criar seu conector deixando o TrustedHostKeys parâmetro vazio. No entanto, seu conector não poderá transferir arquivos com o servidor remoto até que você forneça esse parâmetro na configuração do seu conector. Você pode inserir as chaves de host confiáveis no momento da criação do conector ou atualizá-lo posteriormente usando as informações da chave de host retornadas pela ação do TestConnection console ou pelo comando da API. Ou seja, para a caixa de texto Chaves de host confiáveis, você pode fazer o seguinte:

      • Forneça a (s) chave (s) de host confiável no momento da criação do conector. Cole a parte pública da chave do host que é usada para identificar o servidor externo. É possível adicionar mais de uma chave escolhendo Adicionar chave de host confiável para adicionar uma chave adicional. Você pode usar o comando ssh-keyscan no servidor SFTP para recuperar a chave necessária. Para obter detalhes sobre o formato e o tipo de chaves de host confiáveis compatíveis com o Transfer Family, consulte SFTPConnectorConfig.

      • Deixe a caixa de texto Trusted Host Key (s) vazia ao criar seu conector e atualize-o posteriormente com essas informações. Se você não tiver as informações da chave do host no momento da criação do conector, deixe esse parâmetro vazio por enquanto e continue com a criação do conector. Depois que o conector for criado, use a ID do novo conector para executar o TestConnection comando, na página de detalhes do conector AWS CLI ou a partir dela. Se for bem-sucedido, TestConnection retornará as informações necessárias da chave do host. Em seguida, você pode editar seu conector usando o console (ou executando o UpdateConnector AWS CLI comando) e adicionar as informações da chave do host que foram retornadas quando você executouTestConnection.

      Importante

      Se você recuperar a chave do host do servidor remoto executandoTestConnection, certifique-se de realizar a validação fora de banda na chave retornada.

      Você deve aceitar a nova chave como confiável ou verificar a impressão digital apresentada com uma impressão digital conhecida anteriormente que você recebeu do proprietário do servidor SFTP remoto ao qual você está se conectando.

    • (Opcional) Para Máximo de conexões simultâneas, na lista suspensa, escolha o número de conexões simultâneas que seu conector cria com o servidor remoto. A seleção padrão no console é 5.

      Essa configuração especifica o número de conexões ativas que seu conector pode estabelecer com o servidor remoto ao mesmo tempo. A criação de conexões simultâneas pode melhorar o desempenho do conector ao permitir operações paralelas.

    • (Opcional) Para estágios de versão secreta ordenada, insira uma lista ordenada de rótulos de estágios de versão do Secrets Manager. O conector tenta a autenticação usando cada estágio em ordem durante as transferências de arquivos. Se você não especificar os estágios da versão, o conector usará somenteAWSCURRENT. Por exemploAWSCURRENT, especifique AWSPREVIOUS para ativar o fallback automático durante a rotação secreta.

  7. Na seção Opções de algoritmo criptográfico, escolha uma política de segurança na lista suspensa no campo Política de segurança. A política de segurança permite que você selecione os algoritmos criptográficos que seu conector suporta. Para obter detalhes sobre as políticas e algoritmos de segurança disponíveis, consultePolíticas de segurança para AWS Transfer Family Conectores SFTP.

  8. (Opcional) Na seção Tags para Chave e Valor, insira uma ou mais tags como pares de chave/valor.

  9. Depois de confirmar todas as configurações, escolha Criar conector SFTP para criar o conector SFTP. Se o conector for criado com sucesso, uma tela aparecerá com uma lista dos endereços IP estáticos atribuídos e um botão Testar conexão. Use o botão para testar a configuração do seu novo conector.

    A tela de criação de conectores que aparece quando um conector SFTP é criado com êxito. Ele contém um botão para testar a conexão e uma lista dos endereços IP estáticos gerenciados pelo serviço desse conector.

A página Conectores é exibida, com o ID do seu novo conector SFTP adicionado à lista. Para visualizar os detalhes de seus conectores, consulte Exibir detalhes do conector SFTP.

CLI

Você usa o comando create-connector para criar um conector. Para usar esse comando para criar um conector SFTP, forneça as seguintes informações.

  • O URL de um servidor SFTP remoto. Esse URL deve ser formatado como sftp://partner-SFTP-server-url, por exemplo, sftp://AnyCompany.com

  • A função de acesso. O nome do recurso da Amazon (ARN) do perfil do (IAM) AWS Identity and Access Management a ser usado.

    • Assegure que esta função forneça acesso de leitura e gravação ao diretório principal do local do arquivo usado na solicitação do StartFileTransfer.

    • Essa função deve dar permissão para secretsmanager:GetSecretValue para acessar o segredo.

      nota

      Na política, você deve especificar o ARN do segredo. O ARN contém o nome secreto, mas acrescenta ao nome seis caracteres alfanuméricos aleatórios. Um ARN para um segredo tem o seguinte formato.

      arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters
    • Certifique-se de que essa função contenha uma relação de confiança que permite que o conector acesse os recursos quando estiver atendendo ás solicitações de transferência dos seus usuários. Para obter informações sobre como estabelecer um relacionamento de confiança, consulte Estabelecer um relacionamento de confiança.

    { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-west-2:111122223333:secret:aws/transfer/SecretName-6RandomCharacters" } ] }
    nota

    Para a função de acesso, o exemplo concede acesso a um único segredo. Porém, é possível usar um caractere curinga, que pode poupar trabalho se você quiser reutilizar o mesmo perfil do IAM para vários usuários e segredos. Por exemplo, a declaração de recurso a seguir concede permissões para todos os segredos que têm nomes começando com aws/transfer.

    "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*"

    Você também pode armazenar segredos contendo suas credenciais de SFTP em outra Conta da AWS. Para obter detalhes sobre como ativar o acesso secreto entre contas, consulte Permissões para AWS Secrets Manager segredos para usuários em uma conta diferente.

  • (Opcional) Escolha a função do IAM para o conector usar para enviar eventos para seus CloudWatch registros. O exemplo de política a seguir lista as permissões necessárias para registrar eventos para conectores SFTP.

    { "Version":"2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/transfer/*" } ] }
  • Forneça as seguintes informações de configuração do SFTP.

    • O ARN de um segredo AWS Secrets Manager que contém a chave privada ou a senha do usuário SFTP.

    • A parte pública da chave do host que é usada para identificar o servidor externo. É possível fornecer várias chaves de host confiáveis, se quiser.

    A maneira mais fácil de fornecer as informações do SFTP é salvá-las em um arquivo. Por exemplo, copie o texto de exemplo a seguir em um arquivo chamado testSFTPConfig.json.

    // Listing for testSFTPConfig.json { "UserSecretId": "arn:aws::secretsmanager:us-east-2:123456789012:secret:aws/transfer/example-username-key", "TrustedHostKeys": [ "sftp.example.com ssh-rsa AAAAbbbb...EEEE=" ], "OrderedUserSecretVersionStages": ["AWSCURRENT", "AWSPREVIOUS"] }
    nota

    O parâmetro OrderedUserSecretVersionStages é opcional. Se você omitir esse parâmetro, o conector assumirá como padrão. ["AWSCURRENT"]

  • Especifique uma política de segurança para seu conector, digitando o nome da política de segurança.

nota

SecretIdPode ser o ARN inteiro ou o nome do segredo (example-username-keyna lista anterior).

Em seguida, execute o seguinte comando para criar o conector:

aws transfer create-connector --url "sftp://partner-SFTP-server-url" \ --access-role your-IAM-role-for-bucket-access \ --logging-role arn:aws:iam::your-account-id:role/service-role/AWSTransferLoggingAccess \ --sftp-config file:///path/to/testSFTPConfig.json \ --security-policy-name security-policy-name \ --maximum-concurrent-connections integer-from-1-to-5

Quando você descreve um conector do tipo de saída VPC, a resposta inclui os novos campos:

{ "Connector": { "AccessRole": "arn:aws:iam::123456789012:role/connector-role", "Arn": "arn:aws:transfer:us-east-1:123456789012:connector/c-1234567890abcdef0", "ConnectorId": "c-1234567890abcdef0", "Status": "ACTIVE", "EgressConfig": { "VpcLattice": { "ResourceConfigurationArn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-12345678", "PortNumber": 22 } }, "EgressType": "VPC", "ServiceManagedEgressIpAddresses": null, "SftpConfig": { "TrustedHostKeys": [ "ssh-rsa AAAAB3NzaC..." ], "UserSecretId": "aws/transfer/connector-secret" }, "Url": "sftp://my.sftp.server.com:22" } }

Observe que isso ServiceManagedEgressIpAddresses é nulo para conectores do tipo de saída VPC, pois o tráfego percorre sua VPC em vez da infraestrutura gerenciada. AWS