Identity and Access Management(IAM)를 사용하면 구체적인 Firebase 및 Google 리소스에 더욱 세분화된 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있습니다. IAM은 최소 권한의 보안 원칙을 채택하여 리소스에 대해 필요한 액세스 권한만 부여할 수 있게 해줍니다.
IAM에 대한 자세한 내용은 Google Cloud IAM 문서를 참조하세요.
Firebase IAM 개요
Firebase는 Firebase 프로젝트와 프로젝트 구성원 전용의 추가 IAM 옵션을 제공합니다.
인증된 프로젝트 구성원이 Firebase에서 작업을 요청하면 IAM은 이 프로젝트 구성원이 리소스에 요청한 작업을 수행할 수 있는 권한이 있는지 확인하여 승인합니다. 프로젝트 구성원이 요청을 수행할 수 있는지 여부는 프로젝트 구성원에게 할당된 역할에 따라 다릅니다. 각 역할은 권한의 모음이며 프로젝트 구성원에게 역할을 할당하면 해당 역할의 모든 권한을 해당 구성원에게 부여하는 것입니다.
프로젝트 구성원
Firebase IAM을 사용하여 프로젝트 구성원에게 역할과 그 역할에 내재된 권한을 할당합니다. 프로젝트 구성원의 유형은 다음 중 하나일 수 있습니다.
- Google 계정
- 서비스 계정
- Google 그룹
역할
권한은 역할을 통해 프로젝트 구성원에게 부여됩니다. 역할은 권한 모음입니다. 프로젝트 구성원에게 역할을 할당하면 역할에 포함된 모든 권한이 프로젝트 구성원에게 부여됩니다.
Firebase IAM은 다음과 같은 역할 유형을 지원합니다.
기본 역할: 기본 소유자, 편집자, 뷰어 역할(이전의 '기본' 역할)입니다.
사전 정의된 역할: 기본 역할보다 더욱 세부적으로 액세스를 제어할 수 있는 선별된 Firebase별 역할입니다. Firebase는 다음을 제공합니다.
Firebase 수준 역할: 모든 Firebase 제품에 대한 전체 읽기/쓰기 또는 읽기 전용 액세스 권한을 부여하는 역할입니다.
제품 카테고리 역할: 제품 그룹에 대한 전체 읽기/쓰기 또는 읽기 전용 액세스 권한을 부여하는 역할입니다. Google Analytics 및 일반 제품 카테고리를 중심으로 구성됩니다.
제품 수준 역할: 특정 Firebase 제품에 대한 전체 읽기/쓰기 또는 읽기 전용 액세스 권한을 부여하는 역할입니다.
커스텀 역할: 조직의 구체적인 요구에 맞춰 특정 권한을 보유하도록 완전히 맞춤설정된 역할입니다.
프로젝트 구성원과 구성원 역할 관리
프로젝트 구성원과 구성원 역할 보기
Firebase 콘솔의 > 프로젝트 설정의 사용자 및 권한 탭에서 여러 프로젝트 구성원과 구성원 역할을 볼 수 있습니다. 다음에 유의하세요.- Firebase 콘솔에는 기본 역할(소유자, 편집자, 뷰어) 또는 사전 정의된 Firebase 역할이 할당된 프로젝트 구성원만 나열됩니다. 이 탭에 나열된 프로젝트 구성원만 Firebase 콘솔에서 Firebase 프로젝트에 액세스할 수 있습니다.
- Firebase 콘솔에는 서비스 계정인 프로젝트 구성원이 나열되지 않습니다. 이러한 프로젝트 구성원은 Google Cloud 콘솔의 IAM 페이지에 표시됩니다.
프로젝트 구성원에게 역할 할당
각 프로젝트 구성원에게 할당된 역할을 관리하려면 Firebase 프로젝트의 소유자이거나 resourcemanager.projects.setIamPolicy
권한이 있는 역할을 할당받아야 합니다.
다음 위치에서 역할을 할당하고 관리할 수 있습니다.
- Firebase 콘솔은 > 프로젝트 설정의 사용자 및 권한 탭에서 프로젝트 구성원에게 역할을 할당할 수 있는 간단한 방법을 제공합니다. Firebase 콘솔에서 기본 역할(소유자, 편집자, 뷰어), Firebase 관리자/뷰어 역할, 또는 사전 정의된 Firebase 제품 카테고리 역할을 아무거나 할당할 수 있습니다.
- Google Cloud 콘솔은 IAM 페이지에서 프로젝트 구성원에게 역할을 할당할 수 있는 다양한 도구 모음을 제공합니다. 또한 Cloud 콘솔에서 커스텀 역할을 만들고 관리할 수 있을 뿐만 아니라 서비스 계정에 프로젝트에 대한 액세스 권한을 부여할 수 있습니다.
Google Cloud 콘솔에서는 프로젝트 구성원을 주 구성원이라고 합니다.
프로젝트 소유자가 더 이상 소유자의 작업을 수행할 수 없으며(예: 직원 퇴사) 프로젝트가 Google Cloud 조직을 통해 관리되지 않는 경우(다음 단락 참조) Firebase 지원팀에 문의하여 Firebase 프로젝트에 대한 액세스 권한을 요청하는 방법을 확인하세요.
Firebase 프로젝트가 Google Cloud 조직에 속한 경우 소유자가 없을 수 있습니다. Firebase 프로젝트의 소유자를 찾을 수 없으면 Google Cloud 조직의 관리자에게 프로젝트의 소유자를 할당해 달라고 요청하세요.