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