IAM으로 액세스 제어

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

IAM 권한은 Google Cloud Managed Lustre 인스턴스 만들기와 같은 Google Cloud Managed Lustre 작업에 대한 액세스만 제어합니다. 파일 읽기 또는 쓰기와 같이 인스턴스의 파일 시스템 작업에 대한 액세스를 제어하려면 POSIX 파일 권한을 사용하세요.

권한 및 역할

Managed Lustre는 다음 권한을 사용합니다.

권한 설명
lustre.instances.create 새 인스턴스 만들기
lustre.instances.delete 인스턴스 삭제
lustre.instances.update 인스턴스 업데이트 삭제는 허용하지 않음
lustre.instances.get 인스턴스 설명
lustre.instances.list 모든 인스턴스 나열
lustre.instances.exportData Managed Lustre에서 Cloud Storage로 데이터 내보내기
lustre.instances.importData Cloud Storage에서 Managed Lustre로 데이터 가져오기
lustre.locations.get 위치 가져오기
lustre.locations.list 지원되는 모든 위치 나열
lustre.operations.list 작업 나열
lustre.operations.get 작업 가져오기
lustre.operations.cancel 작업 취소
lustre.operations.delete 작업 삭제

Google Cloud 개별 권한을 직접 부여하는 것은 지원하지 않으며, 권한이 포함된 역할을 부여해야 합니다. Managed Lustre의 사전 정의된 역할은 다음과 같습니다.

  • Managed Lustre 관리자 (roles/lustre.admin)
  • Managed Lustre 뷰어 (roles/lustre.viewer)

다음 표에는 Managed Lustre의 사전 정의된 역할에 의해 부여되는 권한과 기본 편집자 역할이 나와 있습니다.

기능 편집자 (roles/editor) Managed Lustre (roles/lustre.*)
admin viewer
인스턴스 만들기
인스턴스 삭제
인스턴스 업데이트
인스턴스 가져오기
인스턴스 나열
Cloud Storage에서 데이터 가져오기/내보내기
위치 가져오기
지원되는 위치 나열
장기 실행 작업 나열
작업 가져오기
작업 취소
작업 삭제

커스텀 역할

사용 가능한 사전 정의된 역할이 조직의 액세스 요구사항을 충족하지 않는 경우 커스텀 IAM 역할을 만들고 적용할 수 있습니다.

커스텀 역할을 만들 때는 올바른 권한이 함께 포함되도록 사전 정의된 역할을 함께 사용하는 것이 좋습니다.

Managed Lustre 서비스 에이전트

Managed Lustre는 서비스 에이전트 를 사용하여 other Google Cloud resources에 액세스하고 사용자 대신 작업을 수행합니다. 서비스 에이전트는 프로젝트에서 Managed Lustre 인스턴스를 처음 만들 때 자동으로 생성되는 Google 관리 서비스 계정입니다. 수동으로 만들 수도 있습니다.

서비스 에이전트에 권한을 부여하는 것은 특정 선택적 기능을 사용하는 경우에만 필요합니다. 이러한 기능이 없는 표준 인스턴스 생성 및 파일 시스템 작업에는 서비스 에이전트 구성이 필요하지 않습니다.

서비스 에이전트 권한이 필요한 기능

다음 기능을 사용하려면 서비스 에이전트에 IAM 역할을 부여해야 합니다.

기능 필요한 역할 대상 리소스 설명
고객 관리 암호화 키 (CMEK) roles/cloudkms.cryptoKeyEncrypterDecrypter Cloud KMS 키 서비스 에이전트가 키를 사용하여 저장 데이터를 암호화하고 복호화할 수 있게 합니다.
Cloud Storage에서 데이터 전송 roles/storage.objectViewer Cloud Storage 버킷 서비스 에이전트가 버킷의 객체를 읽고 인스턴스로 가져올 수 있게 합니다.
Cloud Storage 간에 데이터 전송 roles/storage.objectUser Cloud Storage 버킷 서비스 에이전트가 가져오기 및 내보내기 작업 중에 객체를 읽고 쓸 수 있게 합니다.

이러한 기능을 사용하지 않는 경우 이 섹션의 나머지 단계를 건너뛸 수 있습니다.

서비스 에이전트 ID 만들기 또는 가져오기

서비스 에이전트에 권한을 부여하려면 서비스 에이전트의 ID를 가져와야 합니다. 서비스 에이전트는 다음 형식을 사용합니다.

service-PROJECT_NUMBER@gcp-sa-lustre.

다음 옵션 중 하나를 사용하여 서비스 에이전트 ID를 만들거나 확인합니다.

  • Managed Lustre 인스턴스를 만들지 않은 경우: 다음 명령어를 실행하여 서비스 에이전트를 수동으로 만듭니다. services identity create

    gcloud beta services identity create \
      --service=lustre.googleapis.com \
      --project=PROJECT_NUMBER_OR_ID
    

    PROJECT_NUMBER_OR_ID를 Managed Lustre 인스턴스를 만들려는 프로젝트의 프로젝트 번호 또는 프로젝트 ID로 바꿉니다. 이 명령어는 다음과 유사한 출력을 반환합니다.

    Service identity created: service-1234567890@gcp-sa-lustre.
    
  • Managed Lustre 인스턴스를 이미 만든 경우: 서비스 에이전트 ID를 구성하려면 gcloud projects describe 명령어를 사용하여 프로젝트 번호를 가져옵니다.

    gcloud projects describe PROJECT_ID --format="value(projectNumber)"
    

    PROJECT_ID를 프로젝트 ID로 바꿉니다. 그런 다음 서비스 에이전트 이메일 주소에서 PROJECT_NUMBER를 대체합니다.

    service-PROJECT_NUMBER@gcp-sa-lustre.
    

서비스 에이전트에 권한 부여

서비스 에이전트 ID를 가져온 후 다음 문서를 참조하여 기능에 필요한 역할을 부여합니다.

추가 필수 Google Cloud 권한

lustre 권한 외에도 특정 작업을 수행하려면 다른 Google Cloud 서비스의 권한이 필요할 수 있습니다.

작업 권한
VPC 네트워크 만들기 VPC 네트워크 구성의 필수 권한 섹션을 참조하세요.
Compute Engine VM 만들기 Compute 인스턴스 관리자 (v1). (roles/compute.instanceAdmin.v1) 자세한 내용은 Compute Engine 문서를 참조하세요.
Google Kubernetes Engine 클러스터 만들기 및 관리 컨테이너 관리자. (roles/container.admin) 자세한 내용은 Google Kubernetes Engine 문서를 참조하세요.