이 문서에서는 Identity and Access Management (IAM)를 사용하여 Knowledge Catalog (이전의 Dataplex Universal Catalog) 리소스의 액세스 제어를 관리하는 방법을 설명합니다. IAM은 리소스 수준에서 Google Cloud Knowledge Catalog 리소스에 대한 액세스를 제어합니다. 콘솔, Google Cloud CLI, 클라이언트 라이브러리 또는 API를 사용하여 특정 리소스(예: 항목 그룹 및 항목)를 관리할 수 있는 주 구성원을 제어할 수 있습니다. Google Cloud
IAM에 대한 자세한 내용은 IAM 문서를 참고하세요.
IAM 개요
새 Google Cloud 프로젝트를 만들면 원래 프로젝트 생성자에게 소유자 역할이 부여됩니다. 특정 작업을 실행하기 위해 API를 사용 설정할 때 다른 Google 관리형 서비스 계정이 있을 수도 있고 생성될 수도 있습니다. 하지만 다른 개별 사용자는 Knowledge Catalog 리소스를 비롯해 프로젝트 및 프로젝트 리소스에 액세스할 수 없습니다. 이 액세스 권한은 사용자를 프로젝트 구성원으로 명시적으로 추가하거나 특정 리소스에 역할을 부여한 경우에만 부여됩니다.
IAM을 사용하면 특정 Google Cloud 리소스에 대한 세부적인 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있습니다. IAM을 사용하면 리소스에 필요한 액세스 권한만 부여하여 보안을 위한 최소 권한의 원칙을 채택할 수 있습니다.
IAM을 사용하면 어떤 리소스에 대해 누구(주 구성원)에게 어떤 액세스 권한(역할)이 있는지 제어할 수 있습니다.
주 구성원
주 구성원은 Google 계정(최종 사용자의 경우), 서비스 계정(앱 및 가상 머신의 경우), Google 그룹 또는 Google Workspace나 Cloud ID 도메인일 수 있습니다. 이러한 주 구성원은 리소스에 액세스할 수 있습니다. 역할을 부여할 때는 정책 바인딩 참조에 설명된 대로 식별자를 사용하여 주 구성원을 식별합니다.
자세한 내용은 IAM 개요: 주 구성원을 참고하세요.
서비스 에이전트
Knowledge Catalog는 Google Cloud 관리 서비스 계정인 서비스 에이전트를 사용하여 리소스에 액세스합니다. 서비스 에이전트는 Google에서 관리하는 서비스 계정으로, 서비스가 Google Cloud 프로젝트의 리소스에 액세스하도록 허용합니다. 이는 애플리케이션 또는 워크로드를 나타내기 위해 만들고 사용하는 사용자 관리형 서비스 계정과 다릅니다.
서비스 에이전트는 Dataplex API를 사용 설정할 때 생성됩니다. 이메일 ID로 서비스 에이전트를 식별할 수 있습니다.
service-CUSTOMER_PROJECT_NUMBER@gcp-sa-dataplex.
여기서 CUSTOMER_PROJECT_NUMBER는 Dataplex API를 사용 설정한 프로젝트의 프로젝트 번호입니다.
서비스 에이전트가 Knowledge Catalog 리소스를 관리하려면 프로젝트에 Dataplex 서비스 에이전트 (roles/dataplex.serviceAgent) 역할이 필요합니다. API를 사용 설정하면 시스템에서 이 역할을 자동으로 부여합니다. 이 역할을 취소하면 Knowledge Catalog가 제대로 작동하지 않을 수 있습니다.
Knowledge Catalog에서 다른 프로젝트의 리소스 (예: 애셋으로 연결하거나 데이터 프로필을 스캔하려는 Cloud Storage 버킷 또는 BigQuery 데이터 세트)에 액세스해야 하는 경우 이러한 리소스가 포함된 프로젝트에서 이 서비스 에이전트에 필요한 권한을 부여해야 합니다.
애셋 연결을 위해 서비스 에이전트에 권한을 부여하는 방법에 대한 자세한 내용은 데이터 애셋 관리를 참고하세요.
데이터 프로파일링을 위해 서비스 에이전트에 권한을 부여하는 방법에 대한 자세한 내용은 데이터 프로필 스캔 만들기 및 사용을 참고하세요.
데이터 스캔의 실행 ID
기본적으로 Knowledge Catalog는 서비스 에이전트를 사용하여 데이터 품질 및 데이터 프로필 스캔을 실행합니다. 하지만 이 동작을 재정의하고 맞춤 서비스 계정 또는 자체 최종 사용자 인증 정보 (EUC)를 사용하여 스캔을 실행하도록 선택할 수 있습니다.
스캔의 실행 ID에 맞춤 서비스 계정을 지정하면 서비스 에이전트가 대상 서비스 계정을 가장하고 작업을 실행하기 위해 대상 서비스 계정에 서비스 계정 토큰 생성자(roles/iam.serviceAccountTokenCreator) 역할 또는 iam.serviceAccounts.getAccessToken 권한이 필요합니다. 자세한 내용은 데이터 품질 및 데이터 프로파일링의 실행
ID 문서를 참고하세요.
리소스
Knowledge Catalog에서 액세스 권한을 부여할 수 있는 리소스에는 프로젝트, 항목 그룹, 항목, 항목 링크, 관점 유형, 항목 유형, 항목 링크 유형이 포함됩니다.
일부 API 메서드에는 여러 리소스에 대한 권한이 필요합니다. 예를 들어 항목에 관점을 연결하려면 항목과 관점 유형 모두에 대한 권한이 필요합니다.
역할
역할은 주 구성원이 리소스에서 수행할 수 있는 작업을 결정하는 권한 모음입니다. 주 구성원에게 역할을 부여하면 역할에 포함된 모든 권한을 부여하게 됩니다
주 구성원에게 하나 이상의 역할을 부여할 수 있습니다.
다른 Google Cloud 제품과 마찬가지로 Knowledge Catalog는 세 가지 유형의 역할을 지원합니다.
기본 역할: IAM 도입 전에 있었던 높은 권한이 있는 역할 (소유자, 편집자, 뷰어)입니다. 기본 역할에 대한 자세한 내용은 기본 역할을 참고하세요.
사전 정의된 역할: 특정 Google Cloud리소스에 대한 세분화된 액세스 권한을 제공합니다. 사전 정의된 역할에 대한 자세한 내용은 사전 정의된 역할을 참고하세요. Knowledge Catalog IAM 역할 문서에는 Knowledge Catalog 사전 정의된 역할이 자세히 설명되어 있습니다.
맞춤 역할: 필요한 특정 권한만 부여하여 최소 권한의 원칙을 적용할 수 있습니다. 맞춤 역할에 대한 자세한 내용은 맞춤 역할을 참고하세요.
예를 들어 Dataplex 뷰어 (roles/dataplex.viewer) 사전 정의된 역할은 Knowledge Catalog 리소스에 대한 읽기 전용 액세스를 제공합니다. 이 역할을 가진 주 구성원은 항목 그룹, 항목, 항목 링크, 관점 유형, 항목 유형, 항목 링크 유형을 볼 수 있지만 이를 만들거나, 업데이트하거나, 삭제할 수는 없습니다.
반대로 Dataplex 관리자 (roles/dataplex.admin)는 Knowledge Catalog 리소스를 관리할 수 있는 광범위한 액세스 권한을 부여합니다.
역할 할당에 대한 자세한 내용은 액세스 권한 부여, 변경, 취소를 참고하세요.
특정 작업에 필요한 권한을 확인하려면 Knowledge Catalog 역할 및 Knowledge Catalog 권한의 참조 페이지를 확인하세요.
예를 들어 프로젝트 리소스의 경우 Google 계정에 roles/dataplex.admin 역할을 할당할 수 있습니다. 그러면 해당 계정이 프로젝트에 있는 Knowledge Catalog 리소스는 관리할 수 있어도 다른 리소스는 관리할 수 없습니다. 또한 IAM을 사용하여 프로젝트 팀 구성원에게 부여된 기본 역할을 관리할 수 있습니다.
리소스의 IAM 정책
IAM 정책을 사용하면 프로젝트 수준에서 역할을 관리하는 대신 이러한 리소스에 대한 IAM 역할을 관리할 수 있습니다. 이렇게 하면 공동작업자에게 작업에 필요한 특정 리소스에 대해서만 액세스 권한을 부여하는 최소 권한의 원칙을 유연하게 적용할 수 있습니다.
리소스는 상위 리소스의 정책을 상속합니다. 프로젝트 수준에서 정책을 설정하면 모든 하위 리소스가 정책을 상속합니다. 리소스에 실제로 적용되는 정책은 해당 리소스에 설정된 정책과 계층 구조의 상위 리소스에서 상속된 정책의 통합된 정책입니다. 자세한 내용은 IAM 정책 계층 구조를 참고하세요.
Google Cloud 콘솔, Identity and Access Management API 또는 gcloud CLI를 사용하여 IAM 정책을 가져오고 설정할 수 있습니다.
- Google Cloud 콘솔의 경우 Google Cloud 콘솔을 사용하여 액세스 제어를 참고하세요.
- API의 경우 API를 통한 액세스 제어를 참고하세요.
- gcloud CLI의 경우 gcloud CLI를 사용한 액세스 제어 를 참고하세요.
다음 단계
- IAM 역할 자세히 알아보기
- IAM 권한 자세히 알아보기
- Knowledge Catalog 보안 자세히 알아보기