액세스 제어

이 주제를 통해 Cloud Filestore 인스턴스 액세스를 제어하는 방법을 알아보세요.

Cloud Filestore는 Cloud Filestore 인스턴스 액세스 보호에 Kerberos를 지원하지 않습니다. 대신 아래에 설명된 Linux 및 Cloud Identity and Access Management(IAM) 옵션을 사용하세요.

Fileshare 내보내기 설정

Cloud Filestore 파일 공유에는 다음과 같은 고정된 /etc/exports 설정이 할당됩니다.

  • 파일 공유 연결이 허용되는 클라이언트를 식별하는 클라이언트 목록은 Cloud Filestore 인스턴스용으로 선택된 VPC 네트워크의 모든 내부 IP 주소로 구성됩니다. 내부 IP 주소는 RFC 1918에 따라 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 범위에 있는 주소입니다.
  • 파일 공유 읽기-쓰기가 되도록 rw 옵션이 사용됩니다.
  • 루트 사용자를 포함한 모든 사용자 및 그룹이 Cloud Filestore 인스턴스와 클라이언트에서 동일하도록 사용자 ID 매핑 옵션 no_root_squash가 사용됩니다.
  • 다른 모든 옵션은 /etc/exports 기본값을 사용합니다.

파일 공유 내보내기 설정은 변경할 수 없습니다.

파일 공유 권한

Cloud Filestore 인스턴스를 만들면 해당 인스턴스의 파일 공유에는 기본 Unix 권한 rwxr-xr-x, 8진수 표현으로 755가 설정됩니다. 이러한 권한은 Cloud Filestore 인스턴스에서는 연결된 클라이언트의 루트 사용자만 파일 공유의 읽기/쓰기 권한을 갖게 됨을 의미합니다. 다른 사용자는 기본적으로 읽기 액세스 권한만 갖지만 클라이언트 루트 사용자는 권한 및 소유자를 변경할 수 있습니다.

파일 공유의 액세스 구성

클라이언트에 Cloud Filestore 파일 공유를 마운트할 때 mount 명령어의 옵션과 /etc/fstab 파일의 설정을 사용하여 마운트된 파일 공유의 쓰기 및 파일 실행 가능 여부를 결정할 수 있습니다. 파일 공유를 마운트한 다음 chmod, setfacl과 같은 표준 Linux 명령어를 사용하여 파일 및 파일 공유 권한을 설정할 수 있습니다.

일관적 권한 설정

다음과 같은 경우 발생하는 문제로 인해 동일한 Cloud Filestore 인스턴스에 연결되는 모든 클라이언트의 각 사용자에게 일관적인 권한을 설정하는 것이 좋습니다.

  • 둘 이상의 클라이언트에서 파일 공유가 마운트되는 경우
  • 사용자에게 한 클라이언트의 루트 권한이 있지만 다른 클라이언트의 루트 권한은 없는 경우

사용자는 루트 액세스 권한을 가진 클라이언트에서 설정된 setuid 비트와 함께 파일을 업로드할 수 있으며, 이 경우 해당 사용자는 최소한 읽기 권한을 가진 다른 모든 클라이언트에서 루트로 파일을 실행할 수 있습니다. setuid 비트는 사용자가 파일 소유자의 권한을 사용하여(이 경우 루트) 파일을 실행하도록 허용하기 때문입니다.

IAM 역할 및 권한

Cloud Filestore 작업에 대한 액세스 권한을 부여하려면 사용자에게 Cloud Identity and Access Management(IAM) 역할을 부여합니다.

IAM 권한은 Cloud Filestore 인스턴스 만들기와 같은 Cloud Filestore 작업에 대한 액세스만 제어합니다. 읽기 또는 실행과 같은 Cloud Filestore 파일 공유의 작업에 대한 액세스는 Linux 권한에 의해 결정됩니다.

Cloud Filestore 역할 사용

Cloud Filestore Editor 및 Cloud Filestore Viewer 역할을 사용하여 사용자에게 Cloud Filestore 권한을 부여할 수 있습니다. 원하는 경우 이 목적을 위해 기본 역할을 사용할 수 있습니다.

다음 표에서 Cloud Filestore 역할과 연결된 Cloud Filestore 권한을 확인할 수 있습니다.

권한 작업 Cloud Filestore Editor 역할 Cloud Filestore Viewer 역할
file.locations.get 이 서비스에서 지원하는 특정 위치에 대한 정보를 가져옵니다.
file.locations.list 이 서비스에 지원되는 위치 정보를 나열합니다.
file.instances.create Cloud Filestore 인스턴스를 만듭니다.
file.instances.update Cloud Filestore 인스턴스를 업데이트합니다.
file.instances.delete Cloud Filestore 인스턴스를 삭제합니다.
file.instances.get 특정 Cloud Filestore 인스턴스에 대한 세부정보를 가져옵니다.
file.instances.list 프로젝트의 Cloud Filestore 인스턴스를 나열합니다.
file.operations.get Cloud Filestore 인스턴스 작업의 상태를 가져옵니다.
file.operations.list Cloud Filestore 인스턴스 작업을 나열합니다.
file.operations.cancel Cloud Filestore 인스턴스 작업을 취소합니다.
file.operations.delete Cloud Filestore 인스턴스 작업을 삭제합니다.

기본 역할 사용

Cloud Filestore 권한은 IAM 기본 역할인 소유자, 편집자, 뷰어와도 연결됩니다. Cloud Filestore 역할 외에 이러한 역할을 사용하여 사용자에게 Cloud Filestore 권한을 부여할 수 있습니다.

다음 표에서 기본 역할과 연결된 Cloud Filestore 권한을 볼 수 있습니다.

권한 작업 프로젝트 소유자 역할 프로젝트 편집자 역할 프로젝트 뷰어 역할
file.locations.get 이 서비스에서 지원하는 특정 위치에 대한 정보를 가져옵니다.
file.locations.list 이 서비스에 지원되는 위치 정보를 나열합니다.
file.instances.create Cloud Filestore 인스턴스를 만듭니다.
file.instances.update Cloud Filestore 인스턴스를 업데이트합니다.
file.instances.delete Cloud Filestore 인스턴스를 삭제합니다.
file.instances.get 특정 Cloud Filestore 인스턴스에 대한 세부정보를 가져옵니다.
file.instances.list 프로젝트의 Cloud Filestore 인스턴스를 나열합니다.
file.operations.get Cloud Filestore 인스턴스 작업의 상태를 가져옵니다.
file.operations.list Cloud Filestore 인스턴스 작업을 나열합니다.
file.operations.cancel Cloud Filestore 인스턴스 작업을 취소합니다.
file.operations.delete Cloud Filestore 인스턴스 작업을 삭제합니다.

커스텀 역할

사전 정의된 IAM 역할이 요구사항을 충족하지 않는 경우 지정하는 권한을 가진 커스텀 역할을 정의할 수 있습니다. 이를 지원하기 위해 IAM은 커스텀 역할을 제공합니다. Cloud Filestore의 커스텀 역할을 만들 때 역할이 프로젝트 리소스 쿼리 권한을 갖도록 resourcemanager.projects.getresourcemanager.projects.list를 모두 포함해야 합니다. 그렇지 않으면 GCP Console이 Cloud Filestore에 대해 올바르게 작동하지 않습니다.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Cloud Filestore 문서