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.mirrors.create 새 미러 만들기
lustre.mirrors.delete 미러 삭제
lustre.mirrors.update 미러 업데이트
lustre.mirrors.get 거울 설명
lustre.mirrors.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.*)
관리자(roles/lustre.admin) 뷰어(roles/lustre.viewer)
인스턴스 만들기
인스턴스 삭제하기
인스턴스 업데이트
인스턴스 가져오기
인스턴스 나열
Cloud Storage에서 데이터 가져오기/내보내기
Cloud Storage 미러 구성
위치 가져오기
지원되는 위치 나열
장기 실행 작업 나열
작업 가져오기
작업 취소
작업 삭제

커스텀 역할

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

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

Managed Lustre 서비스 에이전트

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

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

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

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

기능 필요한 역할 대상 리소스 설명
고객 관리 암호화 키(CMEK) roles/cloudkms.cryptoKeyEncrypterDecrypter Cloud KMS 키 서비스 에이전트가 키를 사용하여 저장 데이터를 암호화하고 복호화할 수 있습니다.
Cloud Storage 미러 storage.buckets.get, storage.buckets.update, storage.objects.get, storage.objects.list을 부여하는 커스텀 역할 Cloud Storage 버킷 서비스 에이전트가 Pub/Sub 알림을 만들고 버킷의 객체를 인스턴스에 미러링할 수 있습니다.
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 문서를 참고하세요.