이 문서에서는 프로젝트 IAM 관리자에게 리소스 액세스를 요청하는 데 필요한 Identity and Access Management (IAM) 역할 및 권한을 간략하게 설명합니다. Google Distributed Cloud (GDC) 에어 갭에서 가상 머신 (VM)에 대한 작업을 수행하려면 필요한 IAM 역할 및 권한이 있어야 합니다.
이 문서는 GDC 환경에서 VM을 만들고 관리하는 플랫폼 관리자 또는 애플리케이션 운영자 그룹의 개발자를 대상으로 합니다. 자세한 내용은 GDC 에어 갭 문서의 대상 그룹을 참고하세요.
IAM 정보
Distributed Cloud는 특정 Distributed Cloud 리소스에 대한 세분화된 액세스를 위해 Identity and Access Management (IAM)를 제공하며 다른 리소스에 대한 원치 않는 액세스를 방지합니다. IAM은 최소 권한의 원칙 보안 원칙에 따라 작동하며 IAM 역할 및 권한을 사용하여 특정 리소스에 대한 권한이 있는 사용자를 제어합니다.
시작하기 전에
gdcloud CLI 명령어를 사용하려면
gdcloud 명령줄 인터페이스 (CLI)
섹션의 필수 단계를 완료하세요. Google Distributed Cloud 에어 갭의 모든 명령어는 gdcloud 또는 kubectl CLI를 사용하며 운영체제 (OS) 환경이 필요합니다.
kubeconfig 파일 경로 가져오기
Management API 서버에 대해 명령어를 실행하려면 다음 리소스가 있어야 합니다.
로그인하고 생성합니다. Management API 서버의 kubeconfig 파일이 없는 경우 kubeconfig 파일을 생성합니다.
Management API 서버의 kubeconfig 파일 경로를 사용하여 이 안내의
MANAGEMENT_API_SERVER를 바꿉니다.
IAM 역할 요청
프로젝트 IAM 관리자에게 문의하여 프로젝트에 다음 역할을 요청하세요.
가상 머신 프로젝트 관리자 (project-vm-admin): 프로젝트 네임스페이스에서 VM을 만들고, 수정하고, 나열하고, 삭제합니다.
가상 머신 이미지 프로젝트 관리자 (project-vm-image-admin): 프로젝트 네임스페이스에서 VM 이미지를 만들고, 나열하고, 삭제합니다.
모든 VM 역할은 VM이 있는 프로젝트의 네임스페이스에 바인딩되어야 합니다.
애플리케이션 운영자 (AO)의 사전 정의된 모든 역할 목록은 역할 설명을 참고하세요.
VM 리소스에 대한 액세스 권한을 부여하거나 받으려면 프로젝트 리소스에 대한 액세스 권한 부여를 참고하세요.
VM 리소스에 대한 사용자 액세스 권한 확인
다음 단계에 따라 로그인하여 VM 리소스 및 워크로드에 대한 액세스 권한을 확인합니다.
콘솔
- 로그인하여 권한을 요청하거나 확인하는 사용자로 GDC 콘솔에 액세스합니다.
- GDC 콘솔 홈 화면에서 조직 및 프로젝트 이름을 확인하여 올바른 프로젝트에 있는지 확인합니다.
- 탐색 메뉴에서 가상 머신 > 인스턴스 를 클릭합니다.
- 프로젝트에서 VM을 만들 수 있는 액세스 권한이 있는지 확인하려면 인스턴스 만들기 를 클릭합니다.
- VM 생성을 진행할 수 있는 경우 VM을 만들 수 있는 권한이 있는 것입니다.
- 인스턴스 만들기 버튼을 사용할 수 없거나 권한 부족을 나타내는 오류 메시지가 표시되면 프로젝트 IAM 관리자에게 문의하여 VM이 있는 프로젝트의 네임스페이스에서 가상 머신 프로젝트 관리자 (
project-vm-admin) 역할을 요청하세요.
- 이미지를 보고 만들 수 있는지 확인하려면 가상 머신 > 가져오기 > 이미지 만들기를 클릭합니다.
- 이미지 가져오기를 진행할 수 있는 경우
VirtualMachineImageImport리소스를 만들 수 있는 권한이 있는 것입니다. - 가져오기 또는 이미지 만들기 옵션을 사용할 수 없거나 권한 오류가 발생하면 프로젝트 IAM 관리자에게 문의하여 VM이 있는 프로젝트의 네임스페이스에서 가상 머신 이미지 프로젝트 관리자 (
project-vm-image-admin) 역할을 요청하세요.
- 이미지 가져오기를 진행할 수 있는 경우
CLI
kubectl명령어를 사용하여 본인 또는 사용자가 가상 머신을 만들 수 있는지 확인합니다.kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ auth can-i create virtualmachines.virtualmachine.gdc.goog다음 정의를 사용하여 변수를 바꿉니다.
변수 대체 MANAGEMENT_API_SERVERgdcloud auth login의 시스템 kubeconfig 파일입니다.PROJECTVM 이미지를 만드는 프로젝트 이름입니다. - 출력이
yes이면 프로젝트PROJECT에서 VM을 만들 수 있는 권한이 있는 것입니다. - 출력이
no이면 권한이 없는 것입니다. 프로젝트 IAM 관리자에게 문의하여 VM이 있는 프로젝트의 네임스페이스에서 가상 머신 프로젝트 관리자 (project-vm-admin) 역할을 요청하세요.
- 출력이
프로젝트 수준 VM 이미지에 액세스할 수 있는지 확인합니다.
kubectl명령어를 실행하여 프로젝트 수준에서VirtualMachineImage리소스를 만들고 사용할 수 있는지 확인합니다.kubectl --kubeconfig MANAGEMENT_API_SERVER auth can-i get virtualmachineimages.virtualmachine.gdc.goog -n PROJECT \ kubectl --kubeconfig MANAGEMENT_API_SERVER auth can-i create virtualmachineimageimports.virtualmachine.gdc.goog -n PROJECT다음 정의를 사용하여 변수를 바꿉니다.
변수 대체 MANAGEMENT_API_SERVERManagement API 서버 kubeconfig경로입니다.PROJECTVM 이미지를 만드는 프로젝트 이름입니다. - 출력이
yes이면 프로젝트 PROJECT에서 커스텀 VM 이미지 에 액세스할 수 있는 권한이 있는 것입니다. - 출력이
no이면 권한이 없는 것입니다. 프로젝트 IAM 관리자에게 문의하여 VM이 있는 프로젝트의 네임스페이스에서 가상 머신 이미지 프로젝트 관리자(project-vm-image-admin) 역할을 요청하세요.
- 출력이