UpdateUser - AWS Transfer Family

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

UpdateUser

사용자에게 새 속성을 할당합니다. 전달한 파라미터는 지정한 UserNameServerId의 홈 디렉터리, 역할, 정책 중 일부 또는 전부를 수정합니다.

응답은 업데이트된 사용자에 대해 ServerIdUserName을(를) 반환합니다.

콘솔에서 사용자를 만들거나 업데이트할 때 제한됨을 선택할 수 있습니다. 이렇게 하면 사용자가 홈 디렉터리 외부의 어떤 항목에도 액세스할 수 없습니다. 프로그래밍 방식으로 이 동작을 구성하는 방법은 사용자를 업데이트하는 것입니다. 로 설정하고 HomeDirectoryType with LOGICAL 를 root (/) HomeDirectoryMappings Entry 로 지정하고 홈 디렉토리로 지정합니다. Target

예를 들어, 사용자의 홈 디렉터리가 /test/admin-user 인 경우 다음 명령을 실행하면 콘솔의 구성에 Restricted 플래그가 선택된 것으로 표시되도록 사용자를 업데이트합니다.

aws transfer update-user --server-id <server-id> --user-name admin-user --home-directory-type LOGICAL --home-directory-mappings "[{\"Entry\":\"/\", \"Target\":\"/test/admin-user\"}]"

구문 요청

{ "HomeDirectory": "string", "HomeDirectoryMappings": [ { "Entry": "string", "Target": "string", "Type": "string" } ], "HomeDirectoryType": "string", "Policy": "string", "PosixProfile": { "Gid": number, "SecondaryGids": [ number ], "Uid": number }, "Role": "string", "ServerId": "string", "UserName": "string" }

요청 파라미터

모든 작업에서 사용하는 파라미터에 대한 자세한 내용은 범용 파라미터를 참조하세요.

요청은 JSON 형식으로 다음 데이터를 받습니다.

HomeDirectory

사용자가 클라이언트를 사용하여 서버에 로그인하는 경우 사용자를 위한 랜딩 디렉터리(폴더).

HomeDirectory의 예: /bucket_name/home/mydirectory

참고

HomeDirectory 파라미터는 HomeDirectoryType이(가) PATH(으)로 설정된 경우에만 사용합니다.

타입: 문자열

길이 제약: 최소 길이 0자. 최대 길이 1024자.

패턴: (|/.*)

필수 여부: 아니요

HomeDirectoryMappings

사용자에게 표시할 Amazon S3 또는 Amazon EFS 경로 및 키와 이러한 경로 및 키를 표시할 방법을 지정하는 논리적 디렉터리 매핑입니다. EntryTarget 쌍을 지정해야 합니다. 여기서 Entry은(는) 경로가 표시되는 방식을 보여주고 Target은(는) 실제 Amazon S3 또는 Amazon EFS 경로입니다. 대상만 지정하는 경우, 그대로 표시됩니다. 또한 AWS Identity and Access Management (IAM) 역할이 Target의 경로에 대한 액세스 권한을 제공하는지 확인해야 합니다. 이 값은 HomeDirectoryType이(가) LOGICAL로 설정된 경우에만 설정할 수 있습니다.

다음은 EntryTarget 쌍의 예입니다.

[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]

대부분의 경우 세션 정책 대신 이 값을 사용하여 사용자를 지정된 홈 디렉터리("chroot")로 제한할 수 있습니다. 이렇게 하려면 Entry을(를) '/'로 설정하고, Target을(를) HomeDirectory 파라미터 값으로 설정하면 됩니다.

다음은 chroot에 대한 EntryTarget 쌍의 예입니다.

[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]

타입: HomeDirectoryMapEntry 객체 배열

배열 멤버: 최소 항목 수는 1개. 최대 항목 수는 50000개입니다.

필수 항목 여부: 아니요

HomeDirectoryType

사용자가 서버에 로그인하는 경우 홈 디렉터리가 될 랜딩 디렉터리(폴더)의 타입입니다. PATH로 설정하면, 사용자는 파일 전송 프로토콜 클라이언트에서와 같이 절대 Amazon S3 버킷 또는 Amazon EFS 경로를 볼 수 있습니다. LOGICAL로 설정하면, HomeDirectoryMappings에서 Amazon S3 또는 Amazon EFS 경로를 사용자에게 표시할 방법에 대한 매핑을 제공해야 합니다.

참고

HomeDirectoryType이(가) LOGICAL인 경우, HomeDirectoryMappings 파라미터를 사용하여 매핑을 제공해야 합니다. 반면 HomeDirectoryType이(가) PATH인 경우, HomeDirectory파라미터를 사용하여 절대 경로를 제공하십시오. 템플릿에 HomeDirectory와(과) HomeDirectoryMappings을(를) 모두 포함할 수는 없습니다.

타입: 문자열

유효 값: PATH | LOGICAL

필수 여부: 아니요

Policy

여러 사용자에 대해 동일한 AWS Identity and Access Management (IAM) 역할을 사용할 수 있도록 한 사용자에 대한 세션 정책입니다. 이 정책은 Amazon S3 버킷의 부분에 대한 사용자의 액세스 범위를 축소합니다. 이 정책 내에서 사용할 수 있는 변수는 ${Transfer:UserName}, ${Transfer:HomeDirectory}${Transfer:HomeBucket}입니다.

참고

이 정책은 ServerId의 도메인이 Amazon S3인 경우에만 적용됩니다. Amazon EFS는 세션 정책을 사용하지 않습니다.

세션 정책의 경우 AWS Transfer Family는 정책의 Amazon 리소스 이름(ARN) 대신에 JSON blob으로 정책을 저장합니다. 정책을 JSON Blob으로 저장하고 Policy 인수로 전달합니다.

세션 정책의 예는 세션 정책 예를 참조하세요.

자세한 내용은 AWS보안 토큰 서비스 API 참조를 참조하십시오 AssumeRole.

유형: 문자열

길이 제약: 최소 길이 0자. 최대 길이 2048자.

필수 항목 여부: 아니요

PosixProfile

Amazon Elastic File System(Amazon EFS) 파일 시스템에 대한 사용자의 액세스를 제어하는 사용자 ID(Uid), 그룹 ID(Gid) 및 보조 그룹 ID(SecondaryGids)를 포함한 전체 POSIX 자격 증명을 지정합니다. 파일 시스템의 파일 및 디렉터리에 설정된 POSIX 권한에 따라 Amazon EFS 파일 시스템에서 파일을 송수신할 때 사용자에게 제공되는 액세스 수준이 결정됩니다.

타입: PosixProfile 객체

필수 여부: 아니요

Role

Amazon S3 버킷 또는 Amazon EFS 파일 시스템에 대한 사용자 액세스를 통제하는 AWS Identity and Access Management(IAM) 역할의 Amazon 리소스 이름(ARN)입니다. 이 역할에 연결된 정책은 Amazon S3 버킷 또는 Amazon EFS 파일 시스템에 대한 파일 송수신 시 사용자에게 제공할 액세스의 수준을 결정합니다. 또한 IAM 역할에는 사용자의 전송 요청을 처리할 때 서버가 해당 리소스에 액세스할 수 있도록 허용하는 신뢰 관계가 포함되어야 합니다.

타입: 문자열

길이 제약: 최소 길이는 20. 최대 길이는 2,048입니다.

패턴: arn:.*role/\S+

Required: No

ServerId

사용자가 할당된 Transfer Family 서버 인스턴스에 대한 시스템 할당 고유 식별자입니다.

유형: 문자열

길이 제약 조건: 고정 길이는 19입니다.

패턴: s-([0-9a-f]{17})

필수 항목 여부: 예

UserName

ServerId에서 지정된 바와 같이 사용자를 식별하고 서버와 연결되는 고유한 문자열입니다. 이 사용자 이름은 3~100자여야 합니다. a-z, A-Z, 0-9, _(밑줄), -(하이픈), .(마침표) 및 @ 기호를 유효한 문자로 사용할 수 있습니다. 사용자 이름은 하이픈, 마침표 및 @ 기호로 시작할 수 없습니다.

유형: 문자열

길이 제약: 최소 길이 3자. 최대 길이 100자.

패턴: [\w][\w@.-]{2,99}

필수 항목 여부: 예

응답 구문

{ "ServerId": "string", "UserName": "string" }

응답 요소

작업이 성공하면 서비스가 HTTP 200 응답을 반송합니다.

다음 데이터가 서비스에 의해 JSON 형식으로 반환됩니다.

ServerId

계정이 할당된 Transfer Family 서버 인스턴스에 대한 시스템 할당 고유 식별자입니다.

유형: 문자열

길이 제약 조건: 고정 길이는 19입니다.

패턴: s-([0-9a-f]{17})

UserName

요청에 지정된 서버 인스턴스에 할당된 사용자의 고유 식별자입니다.

유형: 문자열

길이 제약: 최소 길이 3자. 최대 길이 100자.

패턴: [\w][\w@.-]{2,99}

Errors

모든 작업에서 발생하는 흔한 오류에 대한 자세한 내용은 일반적인 오류 단원을 참조하십시오.

InternalServiceError

AWS Transfer Family 서비스에 오류가 발생하면 이 예외가 발생합니다.

HTTP 상태 코드: 500

InvalidRequestException

클라이언트가 잘못된 형식의 요청을 제출하면 이 예외가 발생합니다.

HTTP 상태 코드: 400

ResourceNotFoundException

AWSTransfer Family 서비스에서 리소스를 찾을 수 없는 경우 이 예외가 발생합니다.

HTTP 상태 코드: 400

ServiceUnavailableException

AWSTransfer Family 서비스를 이용할 수 없어 요청이 실패했습니다.

HTTP 상태 코드: 500

ThrottlingException

요청 제한 때문에 요청이 거부되었습니다.

HTTP 상태 코드: 400

예제

다음 예제에서는 Transfer Family 사용자를 업데이트합니다.

샘플 요청

{ "HomeDirectory": "/bucket2/documentation", "HomeDirectoryMappings": [ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ], "HomeDirectoryType:" "PATH", "Role": "AssumeRole", "ServerId": "s-01234567890abcdef", "UserName": "my_user" }

다음은 이 API 직접 호출에 대한 샘플 응답입니다.

샘플 응답

{ "ServerId": "s-01234567890abcdef", "UserName": "my_user" }

참고

이 API를 언어별 AWS SDK 중 하나로 사용하는 방법에 대한 자세한 설명은 다음을 참조하세요.