이 페이지에서는 Identity and Access Management(IAM)를 사용하여 Vertex AI 리소스에 대한 액세스를 관리하는 방법을 설명합니다. Vertex AI Workbench 인스턴스에 대한 액세스를 관리하려면 Vertex AI Workbench 인스턴스 액세스 제어를 참고하세요.
개요
Vertex AI는 IAM을 사용하여 리소스에 대한 액세스를 관리합니다. 리소스의 액세스 제어를 계획할 때는 다음 사항을 고려하세요.
프로젝트 수준 또는 리소스 수준에서 액세스를 관리할 수 있습니다. 프로젝트 수준 액세스 권한은 해당 프로젝트의 모든 리소스에 적용됩니다. 특정 리소스에 대한 액세스 권한은 해당 리소스에만 적용됩니다. 프로젝트 수준 액세스와 리소스 수준 액세스 비교를 참고하세요.
주 구성원에게 IAM 역할을 할당하여 액세스 권한을 부여합니다. 사전 정의된 역할은 액세스를 더 쉽게 설정하는 데 사용할 수 있지만, 커스텀 역할은 내가 직접 만들 수 있으므로 필요한 권한으로만 액세스를 제한할 수 있으므로 권장됩니다. IAM 역할을 참고하세요.
IAM 역할
Vertex AI에서 사용할 수 있는 다양한 IAM 역할 유형이 있습니다.
커스텀 역할을 사용하면 특정 권한 집합을 선택하고, 해당 권한을 사용하여 고유한 역할을 만들고, 조직의 사용자에게 역할을 부여할 수 있습니다.
사전 정의된 역할을 사용하면 프로젝트 수준에서 Vertex AI 리소스에 대한 관련 권한 집합을 부여할 수 있습니다.
기본 역할 (소유자, 편집자, 뷰어)은 프로젝트 수준에서 Vertex AI 리소스에 대한 액세스 제어를 제공하며 모든 Google Cloud 서비스에 공통으로 적용됩니다.
Vertex AI 프로젝트에서 이러한 역할을 추가, 업데이트 또는 삭제하려면 액세스 권한 부여, 변경, 취소에 관한 문서를 참고하세요.
커스텀 역할
커스텀 역할을 사용하면 특정 권한 집합을 선택하고, 해당 권한을 사용하여 고유한 역할을 만들고, 조직의 사용자에게 역할을 부여할 수 있습니다. 자세한 내용은 IAM 맞춤 역할 이해를 참조하세요.
커스텀 역할을 사용하여 최소 권한의 권한 부여
사전 정의된 역할에는 필요한 것보다 더 많은 권한이 포함되어 있는 경우가 많습니다. 커스텀 역할을 만들어 주 구성원에게 필요한 특정 권한만 부여할 수 있습니다.
예를 들어 aiplatform.endpoints.predict
권한으로 맞춤 역할을 만든 다음 엔드포인트의 서비스 계정에 역할을 할당할 수 있습니다. 이렇게 하면 서비스 계정에 예측을 위해 엔드포인트를 호출할 수 있는 권한이 부여되지만 엔드포인트를 제어할 수 있는 권한은 부여되지 않습니다.
Vertex AI의 사전 정의된 역할
Role | Permissions |
---|---|
Vertex AI Administrator( Grants full access to all resources in Vertex AI |
|
Colab Enterprise Admin( Admin role of using colab enterprise. |
|
Colab Enterprise User( User role of using colab enterprise. |
|
Vertex AI Feature Store EntityType owner( Provides full access to all permissions for a particular entity type resource. Lowest-level resources where you can grant this role:
|
|
Vertex AI Platform Express Admin Beta( Grants admin access to Vertex AI Express |
|
Vertex AI Platform Express User Beta( Grants user access to Vertex AI Express |
|
Vertex AI Feature Store Admin( Grants full access to all resources in Vertex AI Feature Store Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Data Viewer( This role provides permissions to read Feature data. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Data Writer( This role provides permissions to read and write Feature data. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Instance Creator( Administrator of Featurestore resources, but not the child resources under Featurestores. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Resource Viewer( Viewer of all resources in Vertex AI Feature Store but cannot make changes. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store User Beta( Deprecated. Use featurestoreAdmin instead. |
|
Vertex AI Migration Service User( Grants access to use migration service in Vertex AI |
|
Notebook Executor User Beta( Grants users full access to schedules and notebook execution jobs. |
|
Notebook Runtime Admin( Grants full access to all runtime templates and runtimes in Notebook Service. |
|
Notebook Runtime User( Grants users permissions to create runtime resources using a runtime template and manage the runtime resources they created. |
|
Vertex AI Tensorboard Web App User Beta( Grants access to the Vertex AI TensorBoard web app. |
|
Vertex AI User( Grants access to use all resource in Vertex AI |
|
Vertex AI Viewer( Grants access to view all resource in Vertex AI |
|
기본 역할
이전의 Google Cloud 기본 역할은 모든 Google Cloud 서비스에 공통적으로 적용됩니다. 이러한 역할은 소유자, 편집자, 뷰어입니다.
프로젝트 수준 액세스와 리소스 수준 액세스 비교
프로젝트 수준 또는 리소스 수준에서 액세스를 관리할 수 있습니다. 폴더 또는 조직 수준에서 액세스를 관리할 수도 있습니다.
대부분의 Vertex AI 리소스는 프로젝트, 폴더, 조직에서만 액세스를 제어할 수 있습니다. 개별 리소스에 대한 액세스 권한은 엔드포인트나 피처스토어와 같은 특정 리소스 유형에 대해서만 부여할 수 있습니다.
사용자는 액세스할 수 있는 모든 리소스에 대한 제어 권한을 공유합니다. 예를 들어 사용자가 모델을 등록하면 프로젝트의 다른 모든 승인된 사용자는 모델에 액세스하고, 변경하고, 삭제할 수 있습니다.
프로젝트 수준에서 리소스에 대한 액세스 권한을 부여하려면 주 구성원 (사용자, 그룹 또는 서비스 계정)에 역할을 하나 이상 할당합니다.
리소스 수준에서 액세스 권한을 부여할 수 있는 Vertex AI 리소스의 경우 해당 리소스에 IAM 정책을 설정합니다. 정책은 어떤 역할이 어떤 주 구성원에 할당되는지 정의합니다.
리소스 수준에서 정책을 설정해도 프로젝트 수준 정책에는 영향을 미치지 않습니다. 리소스는 상위 항목에서 모든 정책을 상속합니다. 이 두 가지 세부사항 수준을 사용하여 권한을 맞춤설정할 수 있습니다. 예를 들어 프로젝트의 모든 리소스를 읽을 수 있도록 프로젝트 수준에서 사용자에게 읽기 권한을 부여한 다음 리소스 수준에서 리소스별로 쓰기 권한을 부여할 수 있습니다.
모든 Vertex AI 사전 정의된 역할 및 리소스가 리소스 수준 정책을 지원하는 것은 아닙니다. 어떤 리소스에서 어떤 역할을 사용할 수 있는지 확인하려면 사전 정의된 역할 표를 참고하세요.
지원되는 리소스
Vertex AI는 Vertex AI Feature Store 피처스토어 및 항목 유형 리소스를 지원합니다. 자세한 내용은 Vertex AI Feature Store 리소스에 대한 액세스 제어를 참조하세요.
리소스에 대한 액세스 권한을 부여하거나 취소한 후 변경사항이 전파되려면 시간이 걸립니다. 자세한 내용은 액세스 변경 전파를 참조하세요.
리소스, 서비스 계정, 서비스 에이전트
Vertex AI 서비스는 종종 학습 데이터를 읽는 학습 작업을 실행하거나 모델 가중치를 읽는 머신러닝 (ML) 모델을 제공하는 등 작업을 실행하는 장기 실행 리소스를 관리합니다. 이러한 독립형 리소스는 작업을 실행할 때 자체 리소스 ID를 갖습니다. 이 ID는 리소스를 만든 주 구성원의 ID와 다릅니다. 리소스 ID에 부여된 권한은 리소스를 만든 사용자의 권한이 아니라 리소스 ID가 액세스할 수 있는 데이터 및 기타 리소스를 정의합니다.
기본적으로 Vertex AI 리소스는 Vertex AI에서 관리하는 서비스 계정을 리소스 ID로 사용합니다. 이러한 서비스 계정을 Vertex AI 서비스 에이전트라고 하며 리소스가 생성된 프로젝트에 연결됩니다. 특정 Vertex AI 권한이 있는 사용자는 Vertex AI 서비스 에이전트를 사용하는 리소스를 만들 수 있습니다. 일부 서비스의 경우 리소스에 연결할 서비스 계정을 지정할 수 있습니다. 리소스는 이 서비스 계정을 사용하여 다른 리소스 및 서비스에 액세스합니다. 서비스 계정에 대해 자세히 알아보려면 서비스 계정을 참고하세요.
Vertex AI는 호출되는 API에 따라 서로 다른 서비스 에이전트를 사용합니다. 각 서비스 에이전트는 연결된 프로젝트에 대한 특정 IAM 권한을 보유합니다. 이러한 권한은 리소스 ID가 작업을 실행하는 데 사용되며, 프로젝트의 모든 Cloud Storage 리소스 및 BigQuery 데이터에 대한 읽기 전용 액세스 권한이 포함될 수 있습니다.
서비스 계정
서비스 계정은 사용자가 아닌 애플리케이션 또는 가상 머신(VM) 인스턴스에서 사용하는 특별 계정입니다. 서비스 계정에 권한을 만들고 할당하여 리소스 또는 애플리케이션에 대한 특정 권한을 제공할 수 있습니다.
서비스 계정을 사용하여 커스텀 학습 컨테이너 또는 커스텀 학습 모델에 대한 온라인 예측을 제공하는 컨테이너에 사용할 수 있는 권한을 맞춤설정하는 방법은 커스텀 서비스 계정 사용을 읽어보세요.
서비스 계정은 이메일 주소로 식별됩니다.
서비스 에이전트
서비스 에이전트는 자동으로 제공됩니다. 서비스가 사용자를 대신하여 리소스에 액세스할 수 있도록 합니다.
서비스 에이전트가 생성되면 서비스 에이전트에게 프로젝트에 대한 사전 정의된 역할이 부여됩니다. 다음 표에는 Vertex AI 서비스 상담사, 이메일 주소, 각 역할이 나와 있습니다.
이름 | 연결 대상: | 이메일 주소 | 역할 |
---|---|---|---|
Vertex AI 서비스 에이전트 | Vertex AI 기능 | service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com |
roles/aiplatform.serviceAgent |
Vertex AI 커스텀 코드 서비스 에이전트 |
커스텀 학습 코드 Vertex AI의 Ray 애플리케이션 코드 |
service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com |
roles/aiplatform.customCodeServiceAgent |
Vertex AI 확장 프로그램 서비스 에이전트 | Vertex 확장 프로그램 | service-PROJECT_NUMBER@gcp-sa-vertex-ex.iam.gserviceaccount.com |
roles/aiplatform.extensionServiceAgent |
Cloud AI Platform Notebooks 서비스 계정 | Vertex AI Workbench 기능 | service-PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com |
roles/notebooks.serviceAgent |
커스텀 학습 코드를 실행하여 커스텀 학습 모델을 학습시키는 경우에만 Vertex AI 커스텀 코드 서비스 에이전트가 생성됩니다.
서비스 상담사 역할 및 권한
Vertex AI 서비스 에이전트에 부여되는 다음 역할 및 권한을 참고하세요.
역할 | 권한 |
---|---|
Vertex AI 서비스 에이전트( 작동하는 데 필요한 권한을 Vertex AI에 부여합니다. |
|
Vertex AI 커스텀 코드 서비스 에이전트( Vertex AI 커스텀 코드에 적절한 권한을 부여합니다. |
|
AI Platform Notebooks 서비스 에이전트( 사용자 프로젝트의 메모장 인스턴스를 관리할 수 있도록 메모장 서비스 에이전트에 대한 액세스 권한을 제공합니다. |
|
Vertex AI 서비스 에이전트에 다른 리소스에 대한 액세스 권한 부여
간혹 Vertex AI 서비스 에이전트에 추가 역할을 부여해야 하는 경우가 있습니다. 예를 들어 Vertex AI가 다른 프로젝트의 Cloud Storage 버킷에 액세스해야 하는 경우 서비스 에이전트에 하나 이상의 추가 역할을 부여해야 합니다.
BigQuery의 역할 추가 요구사항
다음 표에서는 BigQuery 테이블용 Vertex AI 서비스 에이전트 또는 다른 프로젝트의 뷰 또는 외부 데이터 소스가 지원하는 데 필요한 추가 역할을 설명합니다.
홈 프로젝트라는 용어는 Vertex AI 데이터 세트 또는 모델이 있는 프로젝트를 의미합니다. 다른 프로젝트라는 용어는 다른 모든 프로젝트를 의미합니다.
테이블 유형 | 테이블 프로젝트 | 데이터 소스 프로젝트 | 추가할 역할 |
---|---|---|---|
기본 BigQuery 테이블 | 홈 프로젝트 | 해당 사항 없음 | 없음 |
기본 BigQuery 테이블 | 다른 프로젝트 | 해당 사항 없음 | 다른 프로젝트의 경우 BigQuery Data Viewer . 자세히 알아보기 |
BigQuery 뷰 | 홈 프로젝트 | 해당 사항 없음 | 없음 |
BigQuery 뷰 | 다른 프로젝트 | 해당 사항 없음 | 다른 프로젝트의 경우 BigQuery Data Viewer . 자세히 알아보기 |
Bigtable 기반의 외부 BigQuery 데이터 소스 | 홈 프로젝트 | 홈 프로젝트 | 홈 프로젝트의 경우 Bigtable Reader . 자세히 알아보기 |
Bigtable 기반의 외부 BigQuery 데이터 소스 | 홈 프로젝트 | 다른 프로젝트 | 다른 프로젝트의 경우 Bigtable Reader . 자세히 알아보기 |
Bigtable 기반의 외부 BigQuery 데이터 소스 | 다른 프로젝트 | 다른 프로젝트 | 다른 프로젝트의 경우 BigQuery Reader 및 Bigtable Reader . 자세히 알아보기 |
Cloud Storage 기반의 외부 BigQuery 데이터 소스 | 홈 프로젝트 | 홈 프로젝트 | 없음 |
Cloud Storage 기반의 외부 BigQuery 데이터 소스 | 홈 프로젝트 | 다른 프로젝트 | 다른 프로젝트의 경우 Storage Object Viewer . 자세히 알아보기 |
Cloud Storage 기반의 외부 BigQuery 데이터 소스 | 다른 프로젝트 | 다른 프로젝트 | 다른 프로젝트의 경우 Storage Object Viewer 및 BigQuery Data Viewer . 자세히 알아보기 |
Google 스프레드시트 기반의 외부 BigQuery 데이터 소스 | 홈 프로젝트 | 해당 사항 없음 | 스프레드시트 파일을 Vertex AI 서비스 계정과 공유합니다. 자세히 알아보기 |
Google 스프레드시트 기반의 외부 BigQuery 데이터 소스 | 다른 프로젝트 | 해당 사항 없음 | 다른 프로젝트의 경우 BigQuery Reader . 스프레드시트 파일을 Vertex AI 서비스 계정과 공유합니다. |
Cloud Storage의 역할 추가 요구사항
다른 프로젝트의 Cloud Storage 버킷 데이터에 액세스하는 경우 해당 프로젝트의 Vertex AI에 Storage > Storage Object Viewer
역할을 부여해야 합니다. 자세히 알아보기
가져오기 작업을 위해 로컬 컴퓨터에서 데이터를 수신하기 위해 Cloud Storage 버킷을 사용할 때 버킷이 Google Cloud 프로젝트와 다른 프로젝트에 있으면 Storage > Storage Object Creator
역할을 해당 프로젝트의 Vertex AI에 부여해야 합니다. 자세히 알아보기
홈 프로젝트의 리소스에 Vertex AI에 대한 액세스 권한 부여
홈 프로젝트에서 Vertex AI의 서비스 에이전트에 추가 역할을 부여하려면 다음 안내를 따르세요.
홈 프로젝트에서 Google Cloud Console의 IAM 페이지로 이동합니다.
Google 제공 역할 부여 포함 체크박스를 선택합니다.
권한을 부여할 서비스 에이전트를 결정하고 연필 아이콘을 클릭합니다.
Principal:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com를 사용하여 Vertex AI 서비스 에이전트를 찾습니다.
서비스 계정에 필수 역할을 부여하고 변경사항을 저장합니다.
다른 프로젝트의 리소스에 Vertex AI에 대한 액세스 권한 부여
다른 프로젝트에서 데이터 소스나 대상을 사용할 때는 해당 프로젝트에 Vertex AI 서비스 계정 권한을 부여해야 합니다. 첫 번째 비동기 작업 (예: 엔드포인트 만들기)을 시작하면 Vertex AI 서비스 계정이 생성됩니다. 이 안내에 따라 gcloud CLI를 사용하여 Vertex AI 서비스 계정을 명시적으로 만들 수도 있습니다. 이 gcloud 명령어는 기본 서비스 계정과 커스텀 코드 서비스 계정을 모두 만들지만 응답에는 기본 서비스 계정만 반환됩니다.
다른 프로젝트의 Vertex AI에 권한을 추가하려면 다음 안내를 따르세요.
홈 프로젝트(Vertex AI를 사용 중인 프로젝트)에서 Google Cloud Console의 IAM 페이지로 이동합니다.
Google 제공 역할 부여 포함 체크박스를 선택합니다.
권한을 부여할 서비스 에이전트를 확인하고 이메일 주소(주 구성원 아래에 나열)를 복사합니다.
Principal:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com를 사용하여 Vertex AI 서비스 에이전트를 찾습니다.
프로젝트를 권한을 부여해야 하는 프로젝트로 변경합니다.
추가를 클릭하고 새 주 구성원에 이메일 주소를 입력합니다.
모든 필수 역할을 추가하고 저장을 클릭합니다.
Google Sheets에 대한 액세스 권한 제공
Google 스프레드시트 기반의 외부 BigQuery 데이터 소스를 사용하는 경우 스프레드시트를 Vertex AI 서비스 계정과 공유해야 합니다. 첫 번째 비동기 작업 (예: 엔드포인트 만들기)을 시작하면 Vertex AI 서비스 계정이 생성됩니다. 이 안내에 따라 gcloud CLI를 사용하여 Vertex AI 서비스 계정을 명시적으로 만들 수도 있습니다.
Vertex AI가 스프레드시트 파일에 액세스하도록 승인하려면 다음 안내를 따르세요.
Google Cloud Console의 IAM 페이지로 이동합니다.
이름이
Vertex AI Service Agent
인 서비스 계정을 찾고 주 구성원 아래에 나열된 이메일 주소를 복사합니다.스프레드시트 파일을 열고 이 이메일 주소와 공유합니다.
다음 단계
- IAM 자세히 알아보기
- 특정 IAM 권한 및 해당 권한이 지원하는 작업 알아보기
- 팀 프로젝트를 설정하는 권장 방법에 대한 자세한 내용은 팀 프로젝트 설정을 참고하세요.
- Vertex AI 개요 보기