기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사전 정의된 단계 사용
워크플로를 만들 때 이 항목에 설명된 다음과 같은 사전 정의된 단계 중 하나를 추가하도록 선택할 수 있습니다. 또한 사용자 지정 파일 처리 단계 추가를 선택할 수도 있습니다. 자세한 내용은 사용자 지정 파일 처리 단계 사용를 참조하세요.
파일 복사
파일 복사 단계는 업로드된 파일의 사본을 새 Amazon S3 위치에 생성합니다. 현재는 Amazon S3에서만 파일 복사 단계를 사용할 수 있습니다.
다음 파일 복사 단계는 file-test
대상 버킷의 test
폴더에 파일을 복사합니다.
파일 복사 단계가 워크플로의 첫 단계가 아닌 경우 파일 위치를 지정할 수 있습니다. 파일 위치를 지정하면 이전 단계에서 사용한 파일 또는 업로드된 원본 파일을 복사할 수 있습니다. 이 기능을 사용하면 파일 보관 및 기록 보존을 위해 원본 파일을 그대로 유지하면서 원본 파일의 사본을 여러 개 만들 수 있습니다. 예는 태그 및 삭제 워크플로 예시를 참조하세요.
버킷 및 키 세부 정보 제공
파일 복사 단계의 대상 버킷 이름과 키를 제공해야 합니다. 키는 경로 이름 또는 파일 이름일 수 있습니다. 키를 경로 이름으로 취급할지 파일 이름으로 처리할지는 키 끝에 슬래시(/
) 문자를 사용하는지 여부에 따라 결정됩니다.
마지막 문자가 /
인 경우 파일은 폴더에 복사되며 이름은 변경되지 않습니다. 최종 문자가 영숫자인 경우 업로드한 파일의 이름이 키 값으로 바뀝니다. 이 경우 해당 이름의 파일이 이미 있는 경우 기존 항목 덮어쓰기 필드의 설정에 따라 동작이 달라집니다.
-
기존 파일 덮어쓰기를 선택하면 기존 파일이 처리 중인 파일로 대체됩니다.
-
기존 항목 덮어쓰기를 선택하지 않은 경우 아무 일도 일어나지 않고 워크플로 처리가 중지됩니다.
작은 정보
동일한 파일 경로에서 동시 쓰기를 실행하면 파일을 덮어쓸 때 예상치 못한 동작이 발생할 수 있습니다.
예를 들어 키 값이 test/
인 경우 업로드한 파일이 test
폴더에 복사됩니다. 키 값이 test/today
인 경우(및 기존 파일 덮어쓰기가 선택된 경우) 업로드하는 모든 파일이 test
폴더에 today
(으)로 이름이 지정된 파일에 복사되고 이후의 각 파일은 이전 파일을 덮어씁니다.
참고
Amazon S3는 버킷과 객체를 지원하며 계층 구조가 없습니다. 하지만 객체 키 이름에 접두사와 구분 기호를 사용하여 계층 구조를 나타내고 폴더와 비슷한 방식으로 데이터를 구성할 수 있습니다.
파일 복사 단계에서 이름이 지정된 변수를 사용하세요.
파일 복사 단계에서 변수를 사용하여 파일을 사용자별 폴더에 동적으로 복사할 수 있습니다. 현재는 ${transfer:UserName}
또는 ${transfer:UploadDate}
를 변수로 사용하여 파일을 업로드하는 특정 사용자의 대상 위치 또는 현재 날짜를 기준으로 파일을 복사할 수 있습니다.
다음 예에서는 사용자가 파일을 richard-roe
업로드하면 파일이 file-test2/richard-roe/processed/
폴더에 복사됩니다. 사용자가mary-major
파일을 업로드하면 파일이 file-test2/mary-major/processed/
폴더에 복사됩니다.
마찬가지로 ${transfer:UploadDate}
를 변수로 사용하여 현재 날짜의 이름이 지정된 대상 위치에 파일을 복사할 수 있습니다. 다음 예에서 2022년 2월 1일에 대상을 ${transfer:UploadDate}/processed
으로 설정하면 업로드된 파일이 file-test2/2022-02-01/processed/
폴더에 복사됩니다.
이 두 변수를 함께 사용하여 기능을 조합하여 사용할 수도 있습니다. 예:
-
대상 키 접두사를
folder/${transfer:UserName}/${transfer:UploadDate}/
(으)로 설정하면 중첩된 폴더가 생성됩니다. 예:folder/marymajor/2023-01-05/
. -
대상 키 접두사를
folder/${transfer:UserName}-${transfer:UploadDate}/
(으)로 설정하여 두 변수를 연결할 수 있습니다. 예:folder/marymajor-2023-01-05/
.
IAM 복사 단계에 대한 권한
복사 단계를 성공적으로 수행하려면 워크플로의 실행 역할에 다음 권한이 포함되어 있어야 합니다.
{ "Sid": "ListBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::
destination-bucket-name
" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::destination-bucket-name
/*" }
참고
이 s3:ListBucket
권한은 기존 항목 덮어쓰기를 선택하지 않은 경우에만 필요합니다. 이 권한은 버킷을 검사하여 같은 이름의 파일이 이미 존재하는지 확인합니다. 기존 파일 덮어쓰기를 선택한 경우 워크플로에서 파일을 확인할 필요 없이 그냥 쓰기만 하면 됩니다.
Amazon S3 파일에 태그가 있는 경우 IAM 정책에 하나 또는 두 개의 권한을 추가해야 합니다.
-
버전이 지정되지 않은 Amazon S3 파일에
s3:GetObjectTagging
을 추가합니다. -
버전이 지정된 Amazon S3 파일에
s3:GetObjectVersionTagging
을 추가합니다.
파일 복호화
AWS 스토리지 블로그에는 PGP 및 를 사용하여 파일을 암호화 및 복호화하고 파일을 암호화 및 복호화 AWS Transfer Family
워크플로에서 PGP복호화 사용
Transfer Family에는 Pretty Good Privacy(PGP) 복호화에 대한 지원이 내장되어 있습니다. SFTP, FTPS또는 를 통해 Amazon Simple Storage Service(Amazon S3) 또는 Amazon Elastic File System(Amazon)FTP에 업로드된 파일에 PGP복호화를 사용할 수 있습니다EFS.
PGP 복호화를 사용하려면 파일 복호화에 사용할 PGP 프라이빗 키를 생성하고 저장해야 합니다. 그런 다음 사용자는 Transfer Family 서버에 파일을 업로드하기 전에 해당 PGP 암호화 키를 사용하여 파일을 암호화할 수 있습니다. 암호화된 파일을 받은 후 워크플로에서 해당 파일을 복호화할 수 있습니다. 자세한 자습서는 파일 복호화를 위한 관리형 워크플로 설정를 참조하세요.
워크플로에서 PGP복호화를 사용하려면
-
워크플로를 호스팅할 Transfer Family 서버를 식별하거나 새 서버를 생성합니다. PGP 키를 올바른 보안 암호 이름으로 에 저장하려면 먼저 서버 ID AWS Secrets Manager 가 있어야 합니다.
-
PGP 키를 필요한 보안 암호 이름으로 AWS Secrets Manager 에 저장합니다. 세부 정보는 PGP 키 관리을 참조하세요. 워크플로는 Secrets Manager의 보안 암호 이름을 기반으로 복호화에 사용할 올바른 PGP 키를 자동으로 찾을 수 있습니다.
참고
Secrets Manager에 암호를 저장하면 AWS 계정 에 요금이 발생합니다. 요금에 대한 자세한 내용은 AWS Secrets Manager 요금
을 참조하세요. -
PGP 키 페어를 사용하여 파일을 암호화합니다. (지원되는 클라이언트 목록은 지원되는 PGP 클라이언트를 참조하세요.) 명령줄을 사용하는 경우 다음 명령을 실행하세요. 이 명령을 사용하려면 PGP 키 페어
를 생성하는 데 사용한 이메일 주소로 를 바꿉니다.username@example.com
를 암호화할 파일의 이름으로 바꿉니다.testfile.txt
gpg -e -r
username@example.com
testfile.txt
-
암호화된 파일을 Transfer Family 서버에 업로드합니다.
-
워크플로에서 복호화 단계를 구성합니다. 자세한 내용은 복호화 단계 추가를 참조하세요.
복호화 단계 추가
복호화 단계는 워크플로의 EFS 일부로 Amazon S3 또는 Amazon에 업로드된 암호화된 파일을 복호화합니다. 복호화 구성에 대한 자세한 내용은 워크플로에서 PGP복호화 사용을 참조하세요.
워크플로의 복호화 단계를 생성할 때는 복호화한 파일의 대상을 지정해야 합니다. 대상 위치에 파일이 이미 있는 경우 기존 파일을 덮어쓸지 여부도 선택해야 합니다. Amazon Logs를 사용하여 복호화 워크플로 결과를 모니터링하고 각 파일에 대한 감사 CloudWatch 로그를 실시간으로 가져올 수 있습니다.
해당 단계에서 파일 복호화 타입을 선택하면 파라미터 구성 페이지가 나타납니다. PGP 복호화 파라미터 구성 섹션의 값을 입력합니다.
사용 가능한 옵션은 다음과 같습니다.
-
단계 이름 - 단계를 설명하는 이름을 입력합니다.
-
파일 위치 - 파일 위치를 지정하여 이전 단계에서 사용한 파일 또는 업로드된 원본 파일을 복호화할 수 있습니다.
참고
이 단계가 워크플로의 첫 번째 단계인 경우에는 이 파라미터를 사용할 수 없습니다.
-
복호화된 파일의 대상 - 복호화된 EFS 파일의 대상으로 Amazon S3 버킷 또는 Amazon 파일 시스템을 선택합니다.
-
Amazon S3를 선택하는 경우 대상 버킷 이름과 대상 키 접두사를 제공해야 합니다. 사용자 이름을 기준으로 대상 키 접두사를 파라미터화하려면 대상 키 접두사에
${transfer:UserName}
을 입력합니다. 마찬가지로 업로드 날짜별로 대상 키 접두사를 파라미터화하려면 대상 키 접두사에${Transfer:UploadDate}
를 입력합니다. -
Amazon 을 선택한 경우 대상 파일 시스템과 경로를 제공해야 EFS합니다.
참고
여기서 선택하는 스토리지 옵션은 이 워크플로가 연결된 Transfer Family 서버에서 사용하는 스토리지 시스템과 일치해야 합니다. 그렇지 않으면 이 워크플로를 실행하려고 시도하는 동안 오류가 발생합니다.
-
-
기존 파일 덮어쓰기 - 파일을 업로드했는데 같은 파일 이름을 가진 파일이 대상에 이미 있는 경우 동작은 이 파라미터의 설정에 따라 달라집니다.
-
기존 파일 덮어쓰기를 선택하면 기존 파일이 처리 중인 파일로 대체됩니다.
-
기존 항목 덮어쓰기를 선택하지 않은 경우 아무 일도 일어나지 않고 워크플로 처리가 중지됩니다.
작은 정보
동일한 파일 경로에서 동시 쓰기를 실행하면 파일을 덮어쓸 때 예상치 못한 동작이 발생할 수 있습니다.
-
다음 스크린샷은 파일 복호화 단계에서 선택할 수 있는 옵션의 예를 보여줍니다.
IAM 복호화 단계에 대한 권한
복호화 단계를 성공적으로 수행하려면 워크플로의 실행 역할에 다음 권한이 포함되어 있어야 합니다.
{ "Sid": "ListBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::
destination-bucket-name
" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::destination-bucket-name
/*" }, { "Sid": "Decrypt", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", ], "Resource": "arn:aws:secretsmanager:region
:account-id
:secret:aws/transfer/*" }
참고
이 s3:ListBucket
권한은 기존 항목 덮어쓰기를 선택하지 않은 경우에만 필요합니다. 이 권한은 버킷을 검사하여 같은 이름의 파일이 이미 존재하는지 확인합니다. 기존 파일 덮어쓰기를 선택한 경우 워크플로에서 파일을 확인할 필요 없이 그냥 쓰기만 하면 됩니다.
Amazon S3 파일에 태그가 있는 경우 IAM 정책에 하나 또는 두 개의 권한을 추가해야 합니다.
-
버전이 지정되지 않은 Amazon S3 파일에
s3:GetObjectTagging
을 추가합니다. -
버전이 지정된 Amazon S3 파일에
s3:GetObjectVersionTagging
을 추가합니다.
파일 태그 지정
추가 다운스트림 처리를 위해 인입 파일에 태그를 지정하려면 태그 단계를 사용하세요. 인입 파일에 할당하려는 태그의 값을 입력합니다. 현재 태그 작업은 Transfer Family 서버 스토리지로 Amazon S3를 사용하는 경우에만 지원됩니다.
다음 태그 단계 예에서는 각각 scan_outcome
및 clean
를 태그 키와 값으로 할당합니다.
태그 단계를 성공적으로 수행하려면 워크플로의 실행 역할에 다음 권한이 포함되어 있어야 합니다.
{ "Sid": "Tag", "Effect": "Allow", "Action": [ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/*" ] }
참고
워크플로에 복사 또는 복호화 단계 전에 실행되는 태그 단계가 포함된 경우 IAM 정책에 하나 또는 두 개의 권한을 추가해야 합니다.
-
버전이 지정되지 않은 Amazon S3 파일에
s3:GetObjectTagging
을 추가합니다. -
버전이 지정된 Amazon S3 파일에
s3:GetObjectVersionTagging
을 추가합니다.
파일 삭제
이전 워크플로 단계에서 처리된 파일을 삭제하거나 원래 업로드된 파일을 삭제하려면 파일 삭제 단계를 사용하세요.
삭제 단계를 성공적으로 수행하려면 워크플로의 실행 역할에 다음 권한이 포함되어 있어야 합니다.
{ "Sid": "Delete", "Effect": "Allow", "Action": [ "s3:DeleteObjectVersion", "s3:DeleteObject" ], "Resource": "arn:aws:secretsmanager:
region
:account-ID
:secret:aws/transfer/*" }
워크플로에 명명된 변수
복사 및 복호화 단계의 경우 변수를 사용하여 작업을 동적으로 수행할 수 있습니다. 현재 는 다음과 같은 명명된 변수를 AWS Transfer Family 지원합니다.
-
업로드하는 사용자를 기준으로
${transfer:UserName}
을 사용하여 대상으로 파일을 복사하거나 암호를 해독합니다. -
현재 날짜를 기준으로
${transfer:UploadDate}
를 사용하여 대상으로 파일을 복사하거나 암호를 해독합니다.
태그 및 삭제 워크플로 예시
다음 예는 데이터 분석 플랫폼과 같은 다운스트림 애플리케이션에서 처리해야 하는 수신 파일에 태그를 지정하는 워크플로를 보여줍니다. 인입 파일에 태그를 지정한 후 워크플로는 원래 업로드된 파일을 삭제하여 스토리지 비용을 절약합니다.