기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SFTP 생성
이 절차에서는 콘솔 또는를 사용하여 AWS Transfer Family SFTP 커넥터를 생성하는 방법을 설명합니다 AWS CLI.
- Console
-
SFTP 커넥터를 생성하려면
-
https://console.aws.amazon.com/transfer/
AWS Transfer Family 콘솔을 엽니다. -
왼쪽 탐색 창에서 SFTP 커넥터를 선택한 다음 SFTP 커넥터 생성을 선택합니다.
-
커넥터 구성 섹션에서 다음 정보를 제공합니다:
-
URL에는 원격 SFTP 서버의 URL을 입력합니다. 이 URL은
sftp://
와 같은 형식(예:partner-SFTP-server-url
sftp://AnyCompany.com
)이어야 합니다.참고
경우에 따라 URL에 포트 번호를 제공할 수 있습니다. 형식은
sftp://
입니다. 기본 포트 번호(지정된 포트가 없는 경우)는 포트 22입니다.partner-SFTP-server-url
:port-number
-
액세스 역할에서 사용할 (IAM) 역할의 Amazon 리소스 이름 AWS Identity and Access Management (ARN)을 선택합니다.
-
이 역할이
StartFileTransfer
요청에서 사용된 파일 위치의 상위 디렉터리에 대한 읽기 및 쓰기 액세스 권한을 이 역할이 제공하는지 확인하세요. -
이 역할이
secretsmanager:GetSecretValue
에 대해 암호에 액세스할 수 있는 권한을 제공하는지 확인하세요.참고
정책에서 보안 암호의 ARN을 지정해야 합니다. ARN에는 보안 암호 이름이 포함되지만 이름에 임의의 영숫자 6자를 추가합니다. 보안 암호의 ARN 형식은 다음과 같습니다.
arn:aws:secretsmanager:
region
:account-id
:secret:aws/transfer/SecretName-6RandomCharacters
-
사용자의 이전 요청을 처리할 때 커넥터가 리소스에 액세스할 수 있도록 허용하는 신뢰 관계가 이 역할에 포함되어 있는지 확인하세요. 신뢰 관계 설정에 대한 자세한 내용은 신뢰 관계를 구축하기 위해을 참조하세요.
다음 예제에서는 Amazon S3
3의 amzn-s3-demo-bucket
과 Secrets Manager에 저장된 지정된 보안 암호에 액세스하는 데 필요한 권한을 부여합니다.{ "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:
region
:account-id
:secret:aws/transfer/SecretName-6RandomCharacters
" } ] }참고
액세스 역할의 경우, 예는 단일 암호에 대한 액세스 권한을 부여합니다. 하지만 와일드카드 문자를 사용하면 여러 사용자 및 암호에 대해 동일한 IAM 역할을 재사용하려는 경우 작업을 줄일 수 있습니다. 예컨대, 다음 리소스 명령문은
aws/transfer
으로 시작하는 이름을 가진 모든 암호에 대한 권한을 부여합니다."Resource": "arn:aws:secretsmanager:
region
:account-id
:secret:aws/transfer/*"SFTP 자격 증명이 포함된 암호를 다른 AWS 계정에 저장할 수도 있습니다. 교차 계정 보안 암호 액세스를 활성화하는 방법에 대한 자세한 내용은 다른 계정의 사용자에 대한 AWS Secrets Manager 보안 암호 권한을 참조하세요.
-
-
(옵션) 로깅 역할에서 커넥터가 CloudWatch 로그에 이벤트를 푸시하는 데 사용할 IAM 역할을 선택합니다. 다음 예제 정책은 SFTP 커넥터에 대한 이벤트를 로깅하는 데 필요한 권한을 나열합니다.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "SFTPConnectorPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/transfer/*" ] }] }
-
-
SFTP 구성 섹션에 다음 정보를 제공합니다.
-
커넥터 보안 인증 정보의 경우 드롭다운 목록에서 SFTP 사용자의 프라이빗 키 또는 암호가 포함된 AWS Secrets Manager 에서 암호의 명칭을 선택합니다. 암호를 생성하여 특정 방식으로 저장해야 합니다. 자세한 내용은 Secrets Manager에 SFTP 커넥터의 인증 자격 증명 저장 을 참조하세요.
-
(선택 사항) )
TrustedHostKeys
파라미터를 비워 두고 커넥터를 생성할 수 있습니다. 그러나 커넥터 구성에이 파라미터를 제공할 때까지 커넥터가 원격 서버로 파일을 전송할 수 없습니다. 커넥터를 생성할 때 신뢰할 수 있는 호스트 키(들)를 입력하거나 나중에TestConnection
콘솔 작업 또는 API 명령에서 반환된 호스트 키 정보를 사용하여 커넥터를 업데이트할 수 있습니다. 즉, 신뢰할 수 있는 호스트 키 텍스트 상자의 경우 다음 중 하나를 수행할 수 있습니다.-
커넥터를 생성할 때 신뢰할 수 있는 호스트 키(들)를 제공합니다. 외부 서버를 식별하는 데 사용되는 호스트 키의 퍼블릭 부분에 붙여 넣습니다. 신뢰 호스트 키 추가를 선택하여 키를 더 추가하면 키를 두 개 이상 추가할 수 있습니다. SFTP 서버에 대해
ssh-keyscan
명령을 사용하여 필요한 키를 검색할 수 있습니다. Transfer Family가 지원하는 신뢰 호스트 키의 형식 및 타입에 대한 자세한 설명은 SFTPConnectorConfig 섹션을 참조하세요. -
커넥터를 생성할 때 신뢰할 수 있는 호스트 키(들) 텍스트 상자를 비워 두고 나중에이 정보로 커넥터를 업데이트합니다. 커넥터를 생성할 때 호스트 키 정보가 없는 경우 지금은이 파라미터를 비워 두고 커넥터 생성을 진행할 수 있습니다. 커넥터를 생성한 후 새 커넥터의 ID를 사용하여 AWS CLI 또는 커넥터의 세부 정보 페이지에서
TestConnection
명령을 실행합니다. 성공하면TestConnection
가 필요한 호스트 키 정보를 반환합니다. 그런 다음 콘솔을 사용하여(또는UpdateConnector
AWS CLI 명령을 실행하여) 커넥터를 편집하고 실행 시 반환된 호스트 키 정보를 추가할 수 있습니다TestConnection
.
중요
를 실행하여 원격 서버의 호스트 키를 검색하는 경우 반환된 키에 대해 out-of-band 검증을 수행해야
TestConnection
합니다.새 키를 신뢰할 수 있는 것으로 수락하거나 연결하려는 원격 SFTP 서버의 소유자로부터 받은 이전에 알려진 지문으로 제시된 지문을 확인해야 합니다.
-
-
(선택 사항) 최대 동시 연결의 드롭다운 목록에서 커넥터가 원격 서버에 생성하는 동시 연결 수를 선택합니다. 콘솔의 기본 선택은 5입니다.
이 설정은 커넥터가 원격 서버와 동시에 설정할 수 있는 활성 연결 수를 지정합니다. 동시 연결을 생성하면 병렬 작업을 활성화하여 커넥터 성능을 향상시킬 수 있습니다.
-
-
암호화 알고리즘 옵션 섹션의 보안 정책 필드의 드롭다운 목록에서 보안 정책을 선택합니다. 보안 정책을 사용하면 커넥터가 지원하는 암호화 알고리즘을 선택할 수 있습니다. 사용 가능한 보안 정책 및 알고리즘에 대한 자세한 내용은 섹션을 참조하세요AWS Transfer Family SFTP 커넥터에 대한 보안 정책.
-
(옵션) 태그 섹션에서 키 및 값에 하나 이상의 태그를 키-값 쌍을 입력합니다.
-
모든 설정을 확인한 후 SFTP 커넥터 생성을 선택하여 SFTP 커넥터를 생성합니다. 커넥터가 성공적으로 생성되면 할당된 고정 IP 주소 목록과 연결 테스트 버튼이 있는 화면이 나타납니다. 버튼을 사용하여 새 커넥터의 구성을 테스트합니다.
새 SFTP 커넥터의 ID가 목록에 추가된 커넥터 페이지가 나타납니다. 커넥터에 대한 세부 정보를 보려면 SFTP 커넥터 세부 정보 보기 섹션을 참조하세요.
-
- CLI
-
커넥터를 생성할 때는 create-connector 명령을 사용합니다. 이 명령을 사용하여 SFTP 커넥터를 생성하려면 다음 정보를 제공해야 합니다.
-
원격 SFTP 서버의 URL입니다. 이 URL은
sftp://
와 같은 형식(예:partner-SFTP-server-url
sftp://AnyCompany.com
)이어야 합니다. -
액세스 역할입니다. 사용할 AWS Identity and Access Management (IAM) 역할의 Amazon 리소스 이름(ARN)을 선택합니다.
-
이 역할이
StartFileTransfer
요청에서 사용된 파일 위치의 상위 디렉터리에 대한 읽기 및 쓰기 액세스 권한을 이 역할이 제공하는지 확인하세요. -
이 역할이
secretsmanager:GetSecretValue
에 대해 암호에 액세스할 수 있는 권한을 제공하는지 확인하세요.참고
정책에서 보안 암호의 ARN을 지정해야 합니다. ARN에는 보안 암호 이름이 포함되지만 이름에 임의의 영숫자 6자를 추가합니다. 보안 암호의 ARN 형식은 다음과 같습니다.
arn:aws:secretsmanager:
region
:account-id
:secret:aws/transfer/SecretName-6RandomCharacters
-
사용자의 이전 요청을 처리할 때 커넥터가 리소스에 액세스할 수 있도록 허용하는 신뢰 관계가 이 역할에 포함되어 있는지 확인하세요. 신뢰 관계 설정에 대한 자세한 내용은 신뢰 관계를 구축하기 위해을 참조하세요.
다음 예제에서는 Amazon S3
3의 amzn-s3-demo-bucket
과 Secrets Manager에 저장된 지정된 보안 암호에 액세스하는 데 필요한 권한을 부여합니다.{ "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:
region
:account-id
:secret:aws/transfer/SecretName-6RandomCharacters
" } ] }참고
액세스 역할의 경우, 예는 단일 암호에 대한 액세스 권한을 부여합니다. 하지만 와일드카드 문자를 사용하면 여러 사용자 및 암호에 대해 동일한 IAM 역할을 재사용하려는 경우 작업을 줄일 수 있습니다. 예컨대, 다음 리소스 명령문은
aws/transfer
으로 시작하는 이름을 가진 모든 암호에 대한 권한을 부여합니다."Resource": "arn:aws:secretsmanager:
region
:account-id
:secret:aws/transfer/*"SFTP 자격 증명이 포함된 암호를 다른 AWS 계정에 저장할 수도 있습니다. 교차 계정 보안 암호 액세스를 활성화하는 방법에 대한 자세한 내용은 다른 계정의 사용자에 대한 AWS Secrets Manager 보안 암호 권한을 참조하세요.
-
-
(옵션) CloudWatch 로그에 이벤트를 푸시하는 데 사용할 커넥터의 IAM 역할을 선택합니다. 다음 예제 정책은 SFTP 커넥터에 대한 이벤트를 로깅하는 데 필요한 권한을 나열합니다.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "SFTPConnectorPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/transfer/*" ] }] }
-
다음 SFTP 구성 정보를 제공하세요.
-
SFTP 사용자의 프라이빗 키 또는 암호 AWS Secrets Manager 가 포함된의 보안 암호 ARN입니다.
-
외부 서버를 식별하는 데 사용되는 호스트 키의 공개 부분입니다. 원하는 경우 신뢰 호스트 키를 여러 개 제공할 수 있습니다.
SFTP 정보를 제공하는 가장 쉬운 방법은 SFTP 정보를 파일에 저장하는 것입니다. 예컨대, 다음 예 텍스트를
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=
" ] } -
-
커넥터의 보안 정책을 지정하고 보안 정책 이름을 입력합니다.
참고
SecretId
는 전체 ARN이거나 암호 이름(이전 목록의example-username-key
)일 수 있습니다.이제 다음 명령을 실행하여 커넥터를 생성합니다.
aws transfer create-connector --url "sftp://
partner-SFTP-server-url
" \ --access-roleyour-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-namesecurity-policy-name
--maximum-concurrent-connectionsinteger-from-1-to-5
-