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: Configuração AWS Transfer Family aplicativo 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 permite que os usuários baixem de um bucket e façam 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ê é novo em AWS Transfer Family aplicativos da web, considere começar com Tutorial: 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 AWS Transfer Family aplicativo web. Note que AWS permite somente 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 de aplicativos web. Para obter mais informações sobre como configurar o IAM Identity Center e criar usuários, consulte Tutorial: 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 da Web.
-
Escolha Crie um aplicativo web.
Para acesso à autenticação, observe que o serviço encontra automaticamente o Centro de Identidade do AWS IAM instância que você configurou como pré-requisito.
-
Na Tipo de permissão painel, selecione Crie e use 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.
-
Na Unidades de aplicativos da Web painel, 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 da web diretamente do Aplicativos da Web liste a página depois de criá-la.
-
Escolha Próximo para abrir o Crie um aplicativo web página. 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 digitar nada no título da página, o padrão é Transferir aplicativo Web.
-
Para o logotipo, faça o upload de um arquivo de imagem. O tamanho máximo de upload da imagem do seu logotipo é de 2 MB.
-
Para o favicon, faça upload de um arquivo de imagem. O tamanho máximo de upload do seu favicon é de 2 MB.
-
-
Escolha Próximo, em seguida, escolha Crie um aplicativo web.
Etapa 2: configurar 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 política de confiança a seguir para ambas as 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 de IAM para bucket de download
Crie uma função do IAM com a política a seguir para acesso somente para 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
Substituir balde demonstração amzn-s3-1 com o 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
Substituir balde demonstração amzn-s3-2 com o nome real do seu bucket de upload.
Etapa 3: configurar as concessões de acesso do S3
-
Abra o console S3 em https://console.aws.amazon.com/s3/
. -
No painel de navegação, escolha Subsídios de acesso.
-
Clique 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 Próximo, em seguida, clique em Cancelar para concluir a criação da instância do S3 Access Grants sem prosseguir com as etapas adicionais.
Essa etapa cria a instância do S3 Access Grants. Agora você registrará locais e criará subsídios de acesso.
Etapa 4: registrar as localizações dos buckets do S3
Registre os dois buckets do S3 como locais com as concessões de acesso do S3:
-
No console do S3 Access Grants, navegue até Localizações e clique Registrar localização.
-
Abaixo Escopo de localização, escolha o bucket específico do S3 para downloads (amzn-s3-demo-bucket1).
-
Quando solicitado a escolher uma função do IAM, selecione a função 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 IAM de upload quando solicitado.
Etapa 5: criar concessões de acesso
Crie dois subsídios, um para cada local registrado:
-
No console do S3 Access Grants, navegue até Subsídios e clique Criar subsídio.
-
Em Localização, clique Pesquisar localização e selecione a localização do bucket de download (amzn-s3-demo-bucket1).
-
Em Subprefixo (opcional), insira
*para permitir o acesso a todo o bucket ou especificar um caminho comofolder1/folder2/*para restringir o acesso a um prefixo específico.Usando
*definirá o escopo da concessão paras3://bucket-name/*, 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 paras3://bucket-name/folder1/folder2/*. -
Abaixo Permissões e acesso, selecione Leia para o bucket de download.
-
Em Tipo de beneficiário, escolha Identidade de diretório do IAM Identity Center.
-
Para Tipo principal do IAM, selecione Usuário e insira a 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 do S3
Configure uma política CORS para os dois buckets do S3 para permitir o acesso por meio de seu 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é o Cross-origin compartilhamento de recursos (CORS) seção e clique Editar.
-
Adicione a seguinte configuração CORS, substituindo
WebAppEndpointcom seu real WebApp URL do endpoint:Você pode encontrar o URL do endpoint do seu aplicativo web no AWS Transfer Family console abaixo WebApps. Será 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 seu AWS Transfer Family URL do aplicativo web. Você pode encontrar esse URL no AWS Transfer Family console abaixo WebApps na Endpoint de acesso campo.
-
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ê 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 com sucesso AWS Transfer Family WebApp com 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, consulte Tutorial: Configurando um aplicativo web básico do Transfer Family.