Configurando e usando conectores SFTP - 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á.

Configurando e usando conectores SFTP

O objetivo de um conector é estabelecer uma relação entre seu AWS armazenamento e o servidor SFTP de um parceiro. É possível enviar arquivos do Amazon S3 para um destino externo de propriedade do parceiro. É possível também usar um conector SFTP para recuperar arquivos do servidor SFTP de um parceiro.

Este tutorial ilustra como configurar um conector SFTP com os tipos de saída gerenciado e VPC_LATTICE e, em seguida, transferir arquivos entre o armazenamento do Amazon S3 e um servidor SFTP.

Um conector SFTP recupera as credenciais do SFTP AWS Secrets Manager para se autenticar em um servidor SFTP remoto e estabelecer uma conexão. O conector envia ou recupera arquivos do servidor remoto e armazena os arquivos no Amazon S3. Você pode escolher entre saída gerenciada por serviço (usando infraestrutura AWS gerenciada) ou saída de VPC (roteamento por sua VPC usando acesso a recursos entre VPCs). Uma função do IAM é usada para permitir acesso ao bucket do Amazon S3 e às credenciais armazenadas no Secrets Manager. E você pode fazer login na Amazon CloudWatch.

Um diagrama de arquitetura de como o conector SFTP interage com o Secrets Manager, o Amazon S3, os logs CloudWatch , as funções do IAM e o servidor SFTP remoto.

A postagem de blog a seguir fornece uma arquitetura de referência para criar um fluxo de trabalho de MFT usando conectores SFTP, incluindo criptografia de arquivos usando PGP antes de enviá-los para um servidor SFTP remoto usando conectores SFTP: Arquitetando transferências de arquivos gerenciadas seguras e compatíveis com conectores SFTP e criptografia PGP. AWS Transfer Family

Tipos de saída do conector

Os conectores SFTP oferecem suporte a dois tipos de saída que determinam como seu conector roteia o tráfego para servidores SFTP remotos:

  • SERVICE_MANAGED (padrão): usa a infraestrutura gerenciada pela AWS Transfer Family com endereços IP estáticos para conexões de saída.

  • VPC: roteia o tráfego pela sua VPC usando o acesso a recursos entre VPCs, permitindo a conectividade privada de endpoints e o uso de seus próprios gateways NAT.

Este tutorial aborda os dois tipos de saída. Escolha o tipo de saída de VPC quando precisar:

  • Conecte-se a servidores SFTP privados em sua VPC (endereços IP privados)

  • Conecte-se a servidores SFTP locais via Direct Connect ou VPN

  • Direcione o tráfego de endpoints públicos por meio de sua VPC para controles de segurança

  • Use seus próprios endereços IP elásticos para conexões de saída

Etapa 1: criar os recursos de suporte necessários

Você pode usar conectores SFTP para copiar arquivos entre o Amazon S3 e qualquer servidor SFTP remoto. Para este tutorial, estamos usando um AWS Transfer Family servidor como nosso servidor SFTP remoto. Precisamos criar e configurar os seguintes recursos:

Para conectores do tipo de saída VPC, você também precisa de:

Crie buckets do Amazon S3

Como criar um bucket do Amazon S3
  1. Faça login no AWS Transfer Family console em https://console.aws.amazon.com/s3/.

  2. Escolha uma região e insira um nome.

    Para este tutorial, nosso bucket está dentro US East (N. Virginia) us-east-1 e o nome ésftp-server-storage-east.

  3. Aceite os padrões e escolha Create bucket.

Para obter detalhes completos sobre a criação de buckets do Amazon S3, consulte Como faço para criar um bucket S3? no Guia do usuário do Amazon Simple Storage Service.

Crie uma função do IAM com as permissões necessárias

Para a função de acesso, crie uma política com as seguintes permissões.

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

Substitua os itens da seguinte forma:

  • Paraamzn-s3-demo-bucket, o tutorial usasftp-server-storage-east.

  • Pararegion, o tutorial usaus-east-1.

  • Paraaccount-id, use seu Conta da AWS ID.

  • PoisSecretName-6RandomCharacters, somos a using sftp-connector1 favor do nome (você terá seus próprios seis caracteres aleatórios para seu segredo).

Você também deve garantir que essa função contenha uma relação de confiança que permita que o conector acesse seus recursos ao atender às solicitações de transferência de seus usuários. Para obter informações sobre como estabelecer um relacionamento de confiança, consulte Estabelecer um relacionamento de confiança.

nota

Para ver os detalhes da função que estamos usando no tutorial, consulteFunção combinada de usuário e acesso.

Crie e armazene um segredo em AWS Secrets Manager

Precisamos armazenar um segredo no Secrets Manager para armazenar as credenciais do usuário para seu conector SFTP. Você pode usar uma senha, chave privada SSH ou ambas. Para o tutorial, estamos usando uma chave privada.

nota

Quando você armazena segredos no Secrets Manager, você Conta da AWS incorre em cobranças. Para obter mais informações sobre preços consulte AWS Secrets Manager Pricing.

Antes de iniciar o procedimento para armazenar o segredo, recupere e formate sua chave privada. A chave privada deve corresponder à chave pública configurada para o usuário no servidor SFTP remoto. Para nosso tutorial, a chave privada deve corresponder à chave pública armazenada para nosso usuário de teste no servidor SFTP Transfer Family que estamos usando como servidor remoto.

Para fazer isso, execute o seguinte comando:

jq -sR . path-to-private-key-file

Por exemplo, se seu arquivo de chave privada estiver localizado em~/.ssh/sftp-testuser-privatekey, o comando será o seguinte.

jq -sR . ~/.ssh/sftp-testuser-privatekey

Isso gera a chave no formato correto (com caracteres de nova linha incorporados) na saída padrão. Copie esse texto em algum lugar, pois você precisa colá-lo no procedimento a seguir (na etapa 6).

É possível usar o Secrets Manager para armazenar as credenciais do usuário para um conector SFTP.
  1. Faça login no Console de gerenciamento da AWS e abra o AWS Secrets Manager console em https://console.aws.amazon.com/secretsmanager/.

  2. No painel de navegação à esquerda, selecione Segredos.

  3. Na página Segredos, escolha Armazenar um novo segredo.

  4. Na página Escolher tipo de segredo, em Tipo de segredo, escolha Outro tipo de segredo.

  5. Na seção Pares de chave/valor, escolha a guia Chave/valor.

    • Chave — EnterUsername.

    • valor — Insira o nome do nosso usuário,sftp-testuser.

  6. Para inserir a chave, recomendamos que você use a guia Texto simples.

    1. Escolha Adicionar linha e, em seguida, insiraPrivateKey.

    2. Escolha a guia Texto simples. O campo agora contém o seguinte texto:

      {"Username":"sftp-testuser","PrivateKey":""}
    3. Cole o texto da sua chave privada (salvo anteriormente) entre aspas duplas vazias (“”).

      Sua tela deve ter a seguinte aparência (os dados principais estão esmaecidos).

      O segredo em texto simples, mostrando o nome do usuário e a chave privada.
  7. Escolha Próximo.

  8. Na página Configurar segredo, insira um nome para seu segredo. Neste tutorial, nomeamos o segredoaws/transfer/sftp-connector1.

  9. Escolha Próximo e aceite os padrões na página Configurar alternância. Em seguida, escolha Próximo.

  10. Na página Revisão, escolha Armazenar para criar e armazenar o segredo.

Crie um gateway de recursos (somente tipo de saída de VPC)

Para conectores do tipo de saída VPC, você precisa criar um Resource Gateway em sua VPC. O Resource Gateway serve como ponto de entrada para o acesso a recursos entre VPCs.

Para criar um Resource Gateway
  1. Execute o comando a seguir para criar um Resource Gateway (substitua o ID da VPC e a sub-rede pelos seus IDs valores):

    aws vpc-lattice create-resource-gateway \ --name my-sftp-resource-gateway \ --vpc-identifier vpc-12345678 \ --subnet-ids subnet-12345678 subnet-87654321
    nota

    Os gateways de recursos exigem sub-redes em pelo menos duas zonas de disponibilidade.

  2. Anote o ID do Resource Gateway da resposta para uso na próxima etapa.

Crie uma configuração de recursos (somente tipo de saída de VPC)

Crie uma configuração de recursos que aponte para seu servidor SFTP. Isso pode ser um endereço IP privado para servidores em sua VPC ou um nome DNS público para servidores externos. Para obter mais informações sobre configurações de recursos, consulte Configurações de recursos no Guia do usuário do Amazon VPC Lattice.

Para criar uma configuração de recursos
  1. Para um servidor SFTP privado, execute:

    aws vpc-lattice create-resource-configuration \ --name my-sftp-resource-config \ --port-ranges 22 \ --type SINGLE \ --resource-gateway-identifier rgw-12345678 \ --resource-configuration-definition ipResource={ipAddress="10.0.1.100"}
  2. Para um servidor SFTP público (somente nome DNS), execute:

    aws vpc-lattice create-resource-configuration \ --name my-public-sftp-resource-config \ --port-ranges 22 \ --type SINGLE \ --resource-gateway-identifier rgw-12345678 \ --resource-configuration-definition dnsResource={domainName="sftp.example.com"}
    nota

    Os endpoints públicos devem usar nomes DNS, não endereços IP.

  3. Observe o ARN de configuração de recursos da resposta para uso ao criar o conector.

Etapa 2: criar e testar um conector SFTP

Nesta seção, criamos um conector SFTP que usa todos os recursos que criamos anteriormente. Consulte mais detalhes em Criação de conectores SFTP.

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, em seguida, escolha Criar conector SFTP.

  3. Para Tipo de saída, escolha uma das seguintes opções:

    • Serviço gerenciado (padrão): usa a infraestrutura gerenciada pela AWS Transfer Family com endereços IP estáticos para conexões de saída.

    • VPC Lattice: roteia o tráfego pela sua VPC usando o acesso a recursos entre VPC. Escolha essa opção para conectividade de endpoint privado ou para usar seus próprios gateways NAT.

    Importante

    Você não pode alterar o tipo de saída depois de criar o conector. Escolha com cuidado com base em seus requisitos de conectividade.

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

    • Para o URL, insira o URL do servidor SFTP remoto. Para o tutorial, inserimos a URL do servidor Transfer Family que estamos usando como servidor SFTP remoto.

      sftp://s-1111aaaa2222bbbb3.server.transfer.us-east-1.amazonaws.com

      1111aaaa2222bbbb3Substitua pelo ID do servidor Transfer Family.

    • Para a função Access, insira a função que criamos anteriormente,sftp-connector-role.

    • Para ARN de configuração de recursos (somente tipo de saída de rede VPC), insira o ARN da configuração de recursos que você criou anteriormente:

      arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/rcfg-12345678
    • Para a função Logging, escolha uma função que inclua uma política de confiança transfer.amazonaws.com no elemento Principal.

      Dica: Além de adicionar a Transfer Family como uma entidade confiável, você pode adicionar a política AWSTransferLoggingAccess AWS gerenciada à função. Essa política é descrita detalhadamente em AWSTransferLoggingAccess.

    O console do conector SFTP Transfer Family, mostrando as configurações do Connector.
  5. No painel Configuração do SFTP, forneça as seguintes informações:

    • Para credenciais do Connector, escolha o nome do seu recurso do Secrets Manager que contém as credenciais SFTP. Para o tutorial, escolhaaws/transfer/sftp-connector1.

    • Para chaves de host confiáveis, cole na parte pública da chave de host. Você pode recuperar essa chave executando ssh-keyscan para o seu servidor SFTP. Para obter detalhes sobre como formatar e armazenar a chave de host confiável, consulte a documentação do tipo de SftpConnectorConfigdados.

    • Em Máximo de conexões simultâneas, selecione um valor inteiro de 1 a 5: o valor padrão é 5.

    O console do conector SFTP Transfer Family, mostrando as configurações do SFTP.
  6. Depois de confirmar todas as configurações, escolha Criar conector para criar o conector SFTP.

Você também pode criar conectores usando o. AWS Command Line Interface

  • Para criar um conector SFTP com saída gerenciada pelo serviço, execute o seguinte comando:

    aws transfer create-connector \ --url "sftp://s-1111aaaa2222bbbb3.server.transfer.us-east-1.amazonaws.com" \ --access-role "arn:aws::iam::account-id:role/sftp-connector-role" \ --sftp-config UserSecretId="aws/transfer/sftp-connector1",TrustedHostKeys="ssh-rsa AAAAB3NzaC..."
  • Para criar um conector SFTP com saída baseada em VPC, execute o seguinte comando:

    aws transfer create-connector \ --url "sftp://my.sftp.server.com:22" \ --access-role "arn:aws::iam::account-id:role/sftp-connector-role" \ --sftp-config UserSecretId="aws/transfer/sftp-connector1",TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn="arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/rcfg-12345678",PortNumber=22}

Depois de criar um conector SFTP, recomendamos que você o teste antes de tentar transferir qualquer arquivo usando o novo conector.

nota

Para conectores do tipo de saída VPC, a resolução do DNS pode levar alguns minutos após a criação. Durante esse período, o status do conector será PENDING e TestConnection retornará “Conector não disponível”. Aguarde até que o status se torne ACTIVE antes de tentar transferir arquivos.

Test a connector using the console
Para testar um conector SFTP
  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 selecione um conector.

  3. No menu Ações, selecione Testar conexões.

    O console do Transfer Family, mostrando um conector SFTP selecionado, e a ação Testar conexão destacada.

O sistema retorna uma mensagem indicando se o teste foi aprovado ou reprovado. Se o teste falhar, o sistema enviará uma mensagem de erro com base no motivo pelo qual o teste falhou.

O painel de conexão de teste do conector SFTP mostrando um teste bem-sucedido.
O painel de conexão de teste do conector SFTP mostrando uma falha no teste: a mensagem de erro indica que a função de acesso do conector está incorreta.
Test a connector using the CLI

Para testar um conector usando o AWS Command Line Interface, execute o seguinte comando em um prompt de comando (connector-idsubstitua pelo ID real do conector):

aws transfer test-connection --connector-id c-connector-id

Se o teste for bem-sucedido, as seguintes linhas serão retornadas:

{ "Status": "OK", "StatusMessage": "Connection succeeded" }

Se o teste não for bem-sucedido, você receberá uma mensagem de erro descritiva, por exemplo:

{ "Status": "ERROR", "StatusMessage": "Unable to assume the configured access role" }

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

{ "Connector": { "AccessRole": "arn:aws:iam::219573224423:role/sftp-connector-role", "Arn": "arn:aws:transfer:us-east-1:219573224423:connector/c-5dfa309ccabf40759", "ConnectorId": "c-5dfa309ccabf40759", "Status": "ACTIVE", "EgressConfig": { "ResourceConfigurationArn": "arn:aws:vpc-lattice:us-east-1:025066256552:resourceconfiguration/rcfg-079259b27a357a190" }, "EgressType": "VPC", "ServiceManagedEgressIpAddresses": null, "SftpConfig": { "TrustedHostKeys": [ "ssh-rsa AAAAB3NzaC..." ], "UserSecretId": "aws/transfer/sftp-connector1" }, "Url": "sftp://my.sftp.server.com:22" } }

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

Etapa 3: Enviar e recuperar arquivos usando o conector SFTP

Para simplificar, presumimos que você já tenha arquivos em seu bucket do Amazon S3.

nota

O tutorial está usando buckets do Amazon S3 para locais de armazenamento de origem e destino. Se o seu servidor SFTP não usa o armazenamento Amazon S3, onde quer que você sftp-server-storage-east veja os comandos a seguir, você pode substituir o caminho por um caminho para locais de arquivos acessíveis a partir do seu servidor SFTP.

  • Enviamos um arquivo chamado SEND-to-SERVER.txt do armazenamento Amazon S3 para o servidor SFTP.

  • Recuperamos um arquivo chamado RETRIEVE-to-S3.txt do servidor SFTP para o armazenamento Amazon S3.

nota

Nos comandos a seguir, connector-id substitua pelo ID do conector.

Primeiro, enviamos um arquivo do nosso bucket Amazon S3 para o servidor SFTP remoto. Em um prompt de comando, execute o seguinte comando:

aws transfer start-file-transfer --connector-id c-connector-id --send-file-paths "/sftp-server-storage-east/SEND-to-SERVER.txt" / --remote-directory-path "/sftp-server-storage-east/incoming"

Seu sftp-server-storage-east balde agora deve ficar assim.

O bucket do servidor SFTP com o arquivo recém-transferido.

Se você não vê o arquivo conforme o esperado, verifique seus CloudWatch registros.

Para verificar seus CloudWatch registros
  1. Abra o CloudWatch console da Amazon em https://console.aws.amazon.com/cloudwatch/

  2. Selecione Grupos de registros no menu de navegação à esquerda.

  3. Insira o ID do conector na barra de pesquisa para encontrar seus registros.

  4. Selecione o fluxo de log que é retornado da pesquisa.

  5. Expanda a entrada de registro mais recente.

Se for bem-sucedida, a entrada do registro terá a seguinte aparência:

{ "operation": "SEND", "timestamp": "2023-12-18T15:26:57.346283Z", "connector-id": "connector-id", "transfer-id": "transfer-id", "file-transfer-id": "transfer-id/file-transfer-id", "url": "sftp://server-id.server.transfer.us-east-1.amazonaws.com", "file-path": "/sftp-server-storage-east/SEND-to-SERVER.txt", "status-code": "COMPLETED", "start-time": "2023-12-18T15:26:56.915864Z", "end-time": "2023-12-18T15:26:57.298122Z", "account-id": "account-id", "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id", "remote-directory-path": "/sftp-server-storage-east/incoming" }

Se a transferência do arquivo falhar, a entrada do registro conterá uma mensagem de erro que especifica o problema. As causas comuns de erros são problemas com as permissões do IAM e caminhos de arquivo incorretos.

Em seguida, recuperamos um arquivo do servidor SFTP em um bucket do Amazon S3. Em um prompt de comando, execute o seguinte comando:

aws transfer start-file-transfer --connector-id c-connector-id --retrieve-file-paths "/sftp-server-storage-east/RETRIEVE-to-S3.txt" --local-directory-path "/sftp-server-storage-east/incoming"

Se a transferência for bem-sucedida, seu bucket do Amazon S3 conterá o arquivo transferido, conforme mostrado aqui.

O bucket do Amazon S3 com o arquivo recém-transferido.

Se for bem-sucedida, a entrada do registro terá a seguinte aparência:

{ "operation": "RETRIEVE", "timestamp": "2023-12-18T15:36:40.017800Z", "connector-id": "c-connector-id", "transfer-id": "transfer-id", "file-transfer-id": "transfer-id/file-transfer-id", "url": "sftp://s-server-id.server.transfer.us-east-1.amazonaws.com", "file-path": "/sftp-server-storage-east/RETRIEVE-to-S3.txt", "status-code": "COMPLETED", "start-time": "2023-12-18T15:36:39.727626Z", "end-time": "2023-12-18T15:36:39.895726Z", "account-id": "account-id", "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/c-connector-id", "local-directory-path": "/sftp-server-storage-east/incoming" }

Solução de problemas de conectores do tipo de saída VPC

Se você estiver enfrentando problemas com conectores do tipo de saída VPC, verifique o seguinte:

  • O status do conector é PENDENTE: a resolução de DNS para conectores VPC pode levar vários minutos. Aguarde até que o status fique ATIVO antes de tentar as conexões.

  • Tempos limite de conexão: verifique se os grupos de segurança permitem tráfego na porta 22 entre as sub-redes do Resource Gateway e o servidor SFTP de destino.

  • Erros de configuração de recursos: certifique-se de que sua configuração de recursos aponte para o endereço IP ou nome DNS correto e que o Resource Gateway esteja na mesma VPC que seu servidor SFTP (para endpoints privados). Consulte mais informações em Resource configurations no Guia do usuário da Amazon VPC Lattice.

  • Problemas de endpoints públicos: para endpoints públicos, verifique se você está usando um nome DNS, não um endereço IP, em sua configuração de recursos. Verifique se sua VPC tem um gateway NAT para acesso externo à Internet.

  • Disponibilidade de AZ: os Resource Gateways exigem sub-redes em pelo menos duas zonas de disponibilidade. Nem todos AZs oferecem suporte ao VPC Lattice - verifique o compatível AZs em sua região.

Considerações de custo para o tipo de saída de VPC:

  • A VPC Lattice cobra 0,006/GB pelo processamento de dados como provedor de recursos (cobrado diretamente pela VPC Lattice)

  • AWS O Transfer Family absorve os custos do consumidor de recursos de 0,01/GB (primeiro 1 PB)

  • Para endpoints públicos via VPC, taxas adicionais de NAT Gateway e transferência de dados podem ser aplicadas

  • Nenhuma cobrança adicional da Transfer Family além da taxa padrão de processamento de dados de 0,40 USD/GB

Procedimentos para criar um servidor Transfer Family para usar como seu servidor SFTP remoto

A seguir, descrevemos as etapas para criar um servidor Transfer Family que sirva como seu servidor SFTP remoto para este tutorial. Observe o seguinte:

  • Usamos um servidor Transfer Family para representar um servidor SFTP remoto. Os usuários típicos do conector SFTP têm seu próprio servidor SFTP remoto. Consulte Crie um servidor SFTP Transfer Family e um usuário.

  • Como estamos usando um servidor Transfer Family, também estamos usando um usuário de SFTP gerenciado pelo serviço. E, para simplificar, combinamos as permissões que esse usuário precisa para acessar o servidor Transfer Family com as permissões necessárias para usar nosso conector. Novamente, a maioria dos casos de uso do conector SFTP tem um usuário SFTP separado que não está associado a um servidor Transfer Family. Consulte Crie um servidor SFTP Transfer Family e um usuário.

  • Para o tutorial, como estamos usando o armazenamento Amazon S3 para nosso servidor SFTP remoto, precisamos criar um segundo bucket,sftp-server-storage-east, para que possamos transferir arquivos de um bucket para outro.

Crie um servidor SFTP Transfer Family e um usuário

A maioria dos usuários não precisará criar um servidor SFTP Transfer Family e um usuário, pois você já tem um servidor SFTP com usuários e pode usar esse servidor para transferir arquivos de e para. No entanto, para este tutorial, para simplificar, estamos usando um servidor Transfer Family para funcionar como o servidor SFTP remoto.

Siga o procedimento descrito em Criar um servidor habilitado para SFTP para criar um servidor e Etapa 3: Adicionar um usuário gerenciado de serviço adicionar um usuário. Estes são os detalhes do usuário que estamos usando para o tutorial:

  • Crie seu usuário gerenciado por serviços,. sftp-testuser

    • Defina o diretório inicial como /sftp-server-storage-east/sftp-testuser

    • Ao criar o usuário, você armazena uma chave pública. Posteriormente, ao criar o segredo no Secrets Manager, você precisará fornecer a chave privada correspondente.

  • Função:sftp-connector-role. Para o tutorial, estamos usando a mesma função do IAM para nosso usuário SFTP e para acessar o conector SFTP. Ao criar conectores para sua organização, você pode ter funções de usuário e de acesso separadas.

  • Chave do host do servidor: você precisa usar a chave do host do servidor ao criar o conector. Você pode recuperar essa chave executando ssh-keyscan para o seu servidor. Por exemplo, se o ID do servidor for s-1111aaaa2222bbbb3 e o endpoint estiver dentrous-east-1, o comando a seguir recuperará a chave do host do servidor:

    ssh-keyscan s-1111aaaa2222bbbb3.server.transfer.us-east-1.amazonaws.com

    Copie esse texto em algum lugar, pois você precisa colá-lo no Etapa 2: criar e testar um conector SFTP procedimento.

Função combinada de usuário e acesso

Para o tutorial, estamos usando uma única função combinada. Usamos essa função tanto para nosso usuário de SFTP quanto para acessar o conector. O exemplo a seguir contém os detalhes dessa função, caso você queira realizar as tarefas do tutorial.

O exemplo a seguir concede as permissões necessárias para acessar nossos dois buckets no Amazon S3 e o segredo aws/transfer/sftp-connector1 chamado armazenado no Secrets Manager. Para o tutorial, essa função é nomeadasftp-connector-role.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::sftp-server-storage-east", "arn:aws:s3:::sftp-server-storage-east" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": [ "arn:aws:s3:::sftp-server-storage-east/*", "arn:aws:s3:::sftp-server-storage-east/*" ] }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:aws/transfer/sftp-connector1-6RandomCharacters" } ] }

Para obter detalhes completos sobre a criação de funções para Transfer Family, siga o procedimento descrito em Criação de um perfil de usuário Para criar uma função.