Amazon EFS 액세스 포인트 작업 - Amazon Elastic File System

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

Amazon EFS 액세스 포인트 작업

Amazon EFS 액세스 포인트는 EFS 파일 시스템에 대한 애플리케이션별 진입점으로, 공유 데이터 세트에 대한 애플리케이션 액세스를 더 쉽게 관리할 수 있도록 합니다. 액세스 포인트는 액세스 포인트를 통해 이루어지는 모든 파일 시스템 요청에 대해 사용자의 POSIX 그룹을 포함한 사용자 자격 증명을 적용할 수 있습니다. 또한 클라이언트가 지정된 디렉터리 또는 하위 디렉터리의 데이터에만 액세스할 수 있도록 파일 시스템에 대해 다른 루트 디렉터리를 적용할 수 있습니다.

AWS Identity and Access Management (IAM) 정책을 사용하여 특정 애플리케이션이 특정 액세스 포인트를 사용하도록 강제할 수 있습니다. IAM 정책을 액세스 포인트와 결합하면 애플리케이션의 특정 데이터 세트에 안전하게 액세스할 수 있습니다.

참고

액세스 포인트를 사용하려면 EFS 파일 시스템에 탑재 대상을 하나 이상 생성해야 합니다.

액세스 포인트 생성에 대한 자세한 내용은 액세스 포인트 생성 섹션을 참조하세요.

액세스 포인트 생성

AWS Management Console, AWS Command Line Interface (AWS CLI) 및 EFS API를 사용하여 기존 Amazon EFS 파일 시스템에 대한 액세스 포인트를 생성할 수 있습니다. Amazon EFS 파일 시스템은 최대 1,000개의 액세스 포인트를 가질 수 있습니다. 기존 액세스 포인트를 생성한 후에는 수정할 수 없습니다.

액세스 포인트를 생성하는 step-by-step 절차는 을 참조하십시오액세스 포인트 생성.

액세스 포인트를 사용하여 파일 시스템 탑재

액세스 포인트를 사용하여 파일 시스템을 탑재할 때 EFS 탑재 도우미를 사용합니다. 탑재 명령에는 다음 예제와 같이 파일 시스템 ID, 액세스 포인트 ID 및 tls 탑재 옵션을 포함합니다.

$ mount -t efs -o tls,iam,accesspoint=fsap-abcdef0123456789a fs-abc0123def456789a: /localmountpoint

액세스 포인트를 사용하여 파일 시스템을 탑재하는 방법에 대한 자세한 내용은 EFS 액세스 포인트를 사용한 탑재 섹션을 참조하세요.

액세스 포인트를 사용하여 사용자 자격 증명 적용

액세스 포인트를 사용하여 액세스 포인트를 통해 수행된 모든 파일 시스템 요청에 대해 사용자 및 그룹 정보를 적용할 수 있습니다. 이 기능을 활성화하려면 액세스 포인트를 생성할 때 적용할 운영 체제 자격 증명을 지정해야 합니다.

이 과정에서 다음을 제공합니다.

  • 사용자 ID - 사용자의 숫자 POSIX 사용자 ID입니다.

  • 그룹 ID - 사용자의 숫자 POSIX 그룹 ID입니다.

  • 보조 그룹 ID - 보조 그룹 ID 목록(선택 사항)입니다.

사용자 적용이 활성화되면 Amazon EFS가 NFS 클라이언트의 사용자 및 그룹 ID를 모든 파일 시스템 작업에 대한 액세스 포인트에 구성된 자격 증명으로 바꿉니다. 또한 사용자 적용은 다음과 같은 영향을 미칩니다.

  • 새 파일과 디렉터리의 소유자 및 그룹은 액세스 포인트의 사용자 ID 및 그룹 ID로 설정됩니다.

  • EFS는 파일 시스템 권한을 평가할 때 액세스 포인트의 사용자 ID, 그룹 ID 및 보조 그룹 ID를 고려하고 NFS 클라이언트의 ID는 무시합니다.

중요

사용자 자격 증명 적용에는 ClientRootAccess IAM 권한이 적용됩니다.

예를 들어 액세스 포인트 사용자 ID, 그룹 ID 또는 둘 다를 루트로 구성할 수 있습니다(즉, UID, GID 또는 둘 다를 0으로 설정). 이 경우 NFS 클라이언트에 ClientRootAccess IAM 권한을 부여해야 합니다.

액세스 포인트를 사용하여 루트 디렉터리 적용

액세스 포인트를 사용하여 파일 시스템의 루트 디렉터리를 재정의할 수 있습니다. 루트 디렉터리를 적용할 때 액세스 포인트를 사용하는 NFS 클라이언트는 파일 시스템의 루트 디렉터리 대신 액세스 포인트에 구성된 루트 디렉터리를 사용합니다.

액세스 포인트를 생성할 때 액세스 포인트 Path 속성을 설정하여 이 기능을 활성화합니다. Path 속성은 이 액세스 포인트를 통해 수행된 모든 파일 시스템 요청에 대한 파일 시스템의 루트 디렉터리 전체 경로입니다. 전체 경로의 길이는 100자를 초과할 수 없습니다. 최대 4개의 하위 디렉터리를 포함할 수 있습니다.

액세스 포인트에서 루트 디렉터리를 지정하면 이 디렉터리가 액세스 포인트가 탑재된 NFS 클라이언트에 대한 파일 시스템의 루트 디렉터리가 됩니다. 예를 들어 액세스 포인트의 루트 디렉터리가 /data인 경우 액세스 포인트를 사용하여 fs-12345678:/을 탑재하면 액세스 포인트를 사용하지 않고 fs-12345678:/data을 탑재하는 것과 같은 효과가 있습니다.

액세스 포인트에서 루트 디렉터리를 지정할 때 액세스 포인트의 사용자가 파일 시스템을 성공적으로 탑재할 수 있도록 디렉터리 권한이 구성되어 있는지 확인합니다. 특히 실행 비트가 액세스 포인트 사용자 또는 그룹이나 모든 사용자에 대해 설정되어 있는지 확인합니다. 예를 들어 디렉터리 권한 값이 755이면 디렉터리 사용자 소유자가 파일을 나열하고 파일을 생성하고 탑재할 수 있으며 다른 모든 사용자는 파일을 나열하고 탑재할 수 있습니다.

액세스 포인트에 대한 루트 디렉터리 생성

파일 시스템에 액세스 포인트에 대한 루트 디렉터리 경로가 없는 경우, Amazon EFS는 지정된 소유권 및 권한을 가진 액세스 포인트 루트 디렉터리를 자동으로 생성합니다. 생성 시 디렉터리 소유권 및 권한을 지정하지 않으면 Amazon EFS는 루트 디렉터리를 생성하지 않습니다. 따라서 Linux 호스트에서 파일 시스템을 탑재하지 않고도 특정 사용자 또는 애플리케이션에 대한 파일 시스템 액세스를 프로비저닝할 수 있습니다. 루트 디렉터리를 생성하려면, 액세스 포인트를 생성할 때 다음 속성을 사용하여 루트 디렉터리 소유권 및 권한을 구성해야 합니다.

  • OwnerUid – 루트 디렉터리 소유자로 사용할 숫자 POSIX 사용자 ID입니다.

  • OwnerGiD – 루트 디렉터리 소유자 그룹으로 사용할 숫자 POSIX 그룹 ID입니다.

  • Permissions – 디렉터리의 Unix 모드입니다. 일반적인 구성은 755입니다. 탑재할 수 있도록 실행 비트가 액세스 포인트 사용자에 대해 설정되어 있는지 확인합니다. 이 구성은 디렉터리 소유자에게 디렉터리에서 새 파일을 입력하고 나열하고 쓸 수 있는 권한을 부여하며, 다른 모든 사용자에게 파일을 입력하고 나열할 수 있는 권한을 부여합니다. Unix 파일 및 디렉터리 모드 작업에 대한 자세한 내용은 NFS (네트워크 파일 시스템) 수준에서 사용자, 그룹 및 권한 다루기 섹션을 참조하세요.

Amazon EFS는 디렉터리에 대해 ownGID 및 권한이 지정된 경우에만 액세스 포인트 루트 디렉터리를 생성합니다. OwnUid 이 정보를 제공하지 않으면 Amazon EFS는 루트 디렉터리를 생성하지 않습니다. 루트 디렉터리가 없으면 액세스 포인트를 사용하는 탑재 시도가 실패합니다.

액세스 포인트가 있는 파일 시스템을 탑재할 때, 액세스 포인트가 생성될 때 루트 디렉터리와 Permission이 지정되었으면 해당 디렉터리가 아직 존재하지 않는 경우 액세스 포인트의 루트 디렉터리가 생성됩니다. OwnerUid 탑재 전에 이미 액세스 포인트에 루트 디렉터리가 존재하는 경우 액세스 포인트에서 기존 권한을 덮어쓰지 않습니다. 루트 디렉터리를 삭제하면 다음에 액세스 포인트를 사용하여 파일 시스템을 탑재할 때 EFS에서 루트 디렉터리를 다시 만듭니다.

참고

액세스 포인트 루트 디렉터리의 소유권 및 권한을 지정하지 않으면 Amazon EFS는 루트 디렉터리를 생성하지 않습니다. 액세스 포인트를 탑재하려는 모든 시도가 실패합니다.

액세스 포인트 루트 디렉터리의 보안 모델

루트 디렉터리 재정의가 적용되면 Amazon EFS가 no_subtree_check 옵션이 활성화된 Linux NFS 서버처럼 동작합니다.

NFS 프로토콜에서 서버는 파일에 액세스할 때 클라이언트가 고유한 참조로 사용하는 파일 핸들을 생성합니다. EFS는 예측할 수 없고 EFS 파일 시스템과 관련된 파일 핸들을 안전하게 생성합니다. 루트 디렉터리 재정의가 적용되면 EFS는 지정된 루트 디렉터리 외부의 파일에 대한 파일 핸들을 공개하지 않습니다. 하지만 경우에 따라 사용자가 out-of-band 메커니즘을 사용하여 액세스 포인트 외부에 있는 파일에 대한 파일 핸들을 얻을 수 있습니다. 예를 들어 두 번째 액세스 포인트에 대한 액세스 권한이 있는 경우 이 작업을 수행할 수 있습니다. 이렇게 하면 파일에 대한 읽기 및 쓰기 작업을 수행할 수 있습니다.

파일 소유권 및 액세스 권한은 사용자의 액세스 포인트 루트 디렉터리 내/외부의 파일에 대한 액세스에 항상 적용됩니다.

IAM 정책에서 액세스 포인트 사용

IAM 정책을 사용하여 IAM 역할로 식별되는 특정 NFS 클라이언트가 특정 액세스 포인트에만 액세스 가능하도록 할 수 있습니다. 이렇게 하려면 elasticfilesystem:AccessPointArn IAM 조건 키를 사용합니다. AccessPointArn은 파일 시스템이 탑재된 액세스 포인트의 Amazon 리소스 이름(ARN)입니다.

다음 예에 나온 파일 시스템 정책은 IAM 역할 app1이 액세스 포인트 fsap-01234567을 사용하여 파일 시스템에 액세스하고 app2가 액세스 포인트 fsap-89abcdef를 사용하여 파일 시스템을 사용할 수 있도록 허용합니다.

{ "Version": "2012-10-17", "Id": "MyFileSystemPolicy", "Statement": [ { "Sid": "App1Access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/app1" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Condition": { "StringEquals": { "elasticfilesystem:AccessPointArn" : "arn:aws:elasticfilesystem:us-east-1:222233334444:access-point/fsap-01234567" } } }, { "Sid": "App2Access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/app2" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Condition": { "StringEquals": { "elasticfilesystem:AccessPointArn" : "arn:aws:elasticfilesystem:us-east-1:222233334444:access-point/fsap-89abcdef" } } } ] }