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á.
Tutorial: Configurando um aplicativo AWS Transfer Family web com acesso seletivo a vários buckets
Este tutorial orienta você na configuração de um aplicativo web Transfer Family com permissões específicas de bucket do Amazon S3 para um único usuário. Você aprenderá a configurar uma solução que permita aos usuários fazer o download de um bucket e fazer o upload para outro, mantendo a segurança. Este é um tutorial avançado que se baseia nos conceitos abordados no tutorial básico. Se você é novato em aplicativos AWS Transfer Family da web, considere começar comTutorial: Configurando um aplicativo web básico do Transfer Family.
Pré-requisitos
Antes de iniciar este tutorial, será necessário:
-
O IAM Identity Center está configurado na mesma região do seu aplicativo AWS Transfer Family web. Observe que AWS permite apenas uma instância do IAM Identity Center por AWS conta para todas as regiões.
-
Pelo menos um usuário configurado no IAM Identity Center.
-
Dois buckets S3: um para downloads e outro para uploads.
nota
Este tutorial compartilha muitos pré-requisitos com o tutorial básico do aplicativo web. Para obter mais informações sobre como configurar o IAM Identity Center e criar usuários, consulteTutorial: Configurando um aplicativo web básico do Transfer Family.
Etapa 1: criar um aplicativo web Transfer Family
Para criar um aplicativo web Transfer Family
-
Faça login no Console de gerenciamento da AWS e abra o AWS Transfer Family console em https://console.aws.amazon.com/transfer/
. -
No painel de navegação esquerdo, escolha Aplicativos Web.
-
Escolha Criar aplicativo web.
Para acesso à autenticação, observe que o serviço encontra automaticamente a AWS IAM Identity Center instância que você configurou como pré-requisito.
-
No painel Tipo de permissão, selecione Criar e usar uma nova função de serviço. O serviço cria a função de portador de identidade para você. Uma função de portador de identidade inclui a identidade de um usuário autenticado em suas sessões.
-
No painel Unidades do aplicativo Web, aceite o valor padrão de 1 ou ajuste para um valor maior, se necessário.
-
Adicione uma tag para ajudar você a organizar seus aplicativos da web. Para o tutorial, insira Nome para a chave e Aplicativo Web Tutorial para o valor.
dica
Você pode editar o nome do aplicativo Web diretamente da página da lista de aplicativos Web depois de criá-lo.
-
Escolha Avançar para abrir a página Design do aplicativo web. Nessa tela, forneça as seguintes informações.
Opcionalmente, você pode fornecer um título para seu aplicativo web. Você também pode fazer upload de arquivos de imagem para seu logotipo e favicon.
-
Para o título da página, personalize o título da guia do navegador que seus usuários veem quando se conectam ao aplicativo web. Se você não inserir nada para o título da página, o padrão será Transfer Web App.
-
Para o logotipo, faça o upload de um arquivo de imagem. O tamanho máximo do arquivo para a imagem do seu logotipo é de 50 KB.
-
Para o favicon, faça upload de um arquivo de imagem. O tamanho máximo do arquivo para seu favicon é 20 KB.
-
-
Escolha Avançar e, em seguida, escolha Criar aplicativo web.
Etapa 2: configurar as funções do IAM para acesso ao S3
Você precisa criar duas funções do IAM: uma com acesso somente para download ao primeiro bucket e outra com acesso somente para upload ao segundo bucket.
Política de confiança para ambas as funções
Use a seguinte política de confiança para as duas funções do IAM:
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AccessGrantsTrustPolicy", "Effect": "Allow", "Principal": { "Service": "access-grants.s3.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity", "sts:SetContext" ] } ] }
Política do IAM para bucket de download
Crie uma função do IAM com a política a seguir para acesso somente de leitura ao seu bucket de download:
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ObjectLevelReadPermissions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectVersionAcl", "s3:ListMultipartUploadParts", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*", "arn:aws:s3:::amzn-s3-demo-bucket1" ] } ] }
Importante
Substitua amzn-s3-demo-bucket1 pelo nome real do seu bucket de download.
Política do IAM para bucket de upload
Crie outra função do IAM com a seguinte política para acesso de gravação ao seu bucket de upload:
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ObjectLevelWritePermissions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectVersionAcl", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:AbortMultipartUpload", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket2/*", "arn:aws:s3:::amzn-s3-demo-bucket2" ] } ] }
Importante
Substitua amzn-s3-demo-bucket2 pelo nome real do seu bucket de upload.
Etapa 3: configurar o S3 Access Grants
-
Abra o console S3 em. https://console.aws.amazon.com/s3/
-
No painel de navegação, escolha Access Grants.
-
Clique em Criar instância do S3 Access Grants.
-
Selecione a opção Adicionar instância do IAM Identity Center e insira o ARN da instância do centro de identidade.
-
Clique em Avançar e depois em Cancelar para concluir a criação da instância do S3 Access Grants sem prosseguir com etapas adicionais.
Essa etapa cria a instância S3 Access Grants. Agora você registrará locais e criará concessões de acesso.
Etapa 4: registrar os locais dos buckets do S3
Registre os dois buckets do S3 como locais com o S3 Access Grants:
-
No console do S3 Access Grants, navegue até Localizações e clique em Registrar localização.
-
Em Escopo de localização, escolha o bucket S3 específico para downloads (amzn-s3-demo-bucket1).
-
Quando solicitado a escolher uma função do IAM, selecione a função do IAM de download que você criou anteriormente.
-
Conclua o processo de registro.
-
Repita o processo para registrar o bucket de upload (amzn-s3-demo-bucket2), selecionando a função de upload do IAM quando solicitado.
Etapa 5: criar concessões de acesso
Crie duas bolsas, uma para cada local registrado:
-
No console do S3 Access Grants, navegue até Grants e clique em Create grant.
-
Em Localização, clique em Procurar localização e selecione a localização do bucket de download (amzn-s3-demo-bucket1).
-
Em Subprefixo (opcional), insira
*para permitir o acesso ao bucket inteiro ou especifique um caminho, como restringirfolder1/folder2/*o acesso a um prefixo específico.O uso
*definirá o escopo da concessãos3://bucket-name/*como, permitindo acesso a todo o bucket. Para permitir o acesso somente a um prefixo específico, insira um caminho comofolder1/folder2/*, que definirá o escopo da concessão como.s3://bucket-name/folder1/folder2/* -
Em Permissões e acesso, selecione Ler para o bucket de download.
-
Em Tipo de beneficiário, escolha Identidade do diretório no IAM Identity Center.
-
Para o tipo principal do IAM, selecione Usuário e insira o ID de usuário do seu usuário do IAM Identity Center.
-
Conclua o processo de criação do subsídio.
-
Repita o processo para criar uma concessão para o bucket de upload (amzn-s3-demo-bucket2), mas selecione Read-write para as permissões.
Etapa 6: Configurar a política CORS para buckets S3
Configure uma política de CORS para os dois buckets do S3 para permitir o acesso por meio de: AWS Transfer Family WebApp
-
Abra o console do S3 e navegue até seu bucket de download (amzn-s3-demo-bucket1).
-
Selecione a guia Permissões.
-
Role para baixo até a seção Compartilhamento de recursos de origem cruzada (CORS) e clique em Editar.
-
Adicione a seguinte configuração de CORS,
WebAppEndpointsubstituindo-a pela URL real do WebApp endpoint:Você pode encontrar a URL do endpoint do seu aplicativo web no AWS Transfer Family console abaixo WebApps. Ele terá uma aparência semelhante a https://webapp-***************.transfer-webapp.us-west-2.on.aws.
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET", "PUT", "POST", "DELETE", "HEAD" ], "AllowedOrigins": [ "https://WebAppEndpoint" ], "ExposeHeaders": [ "last-modified", "content-length", "etag", "x-amz-version-id", "content-type", "x-amz-request-id", "x-amz-id-2", "date", "x-amz-cf-id", "x-amz-storage-class", "access-control-expose-headers" ], "MaxAgeSeconds": 3000 } ] -
Clique em Salvar alterações.
-
Repita o processo para seu bucket de upload (amzn-s3-demo-bucket2).
Etapa 7: testar a configuração
-
Abra o URL do seu aplicativo AWS Transfer Family web. Você pode encontrar esse URL no AWS Transfer Family console, abaixo WebApps do campo Endpoint do Access.
-
Faça login usando as credenciais de usuário do IAM Identity Center que você configurou com concessões de acesso.
-
Depois de fazer login, você deve ver os dois locais do S3 na página inicial.
-
Navegue até o bucket de download (amzn-s3-demo-bucket1) e verifique se você pode baixar arquivos, mas não fazer upload.
-
Navegue até o bucket de upload (amzn-s3-demo-bucket2) e verifique se você pode fazer upload de arquivos.
Conclusão
Você configurou AWS Transfer Family WebApp com sucesso o acesso seletivo ao bucket do S3 para um único usuário. Essa configuração permite que o usuário faça o download de um bucket e faça o upload para outro, mantendo a segurança por meio de funções do IAM e concessões de acesso do S3.
Essa abordagem pode ser estendida a vários usuários criando concessões adicionais no S3 Access Grants para cada usuário, permitindo um controle granular sobre as permissões de acesso ao bucket. Para obter informações sobre a configuração básica do aplicativo web, consulteTutorial: Configurando um aplicativo web básico do Transfer Family.