개발자 기기 플랫폼과 Cloud Storage 버킷 공유

많은 Google Cloud 서비스와 마찬가지로 개발자 기기 플랫폼에는 전용 서비스 에이전트가 있습니다. 이 페이지에서는 DDP 서비스 에이전트의 작동 방식, 수행할 수 있는 작업, 리소스를 공유하는 방법을 설명합니다.

권한

프로젝트에 DDP를 처음 사용하는 경우 시스템에서 service-PROJECT_ID@gcp-sa-devicerun.이라는 서비스 에이전트 유형 서비스 계정을 만듭니다.

Device Run API(devicerun.googleapis.com)를 사용 설정하면Google Cloud 에서 서비스 에이전트를 자동으로 프로비저닝하고 프로젝트 수준에서 roles/devicerun.serviceAgent 역할을 할당합니다.

이 서비스 에이전트에는 개발자 기기 플랫폼이 실행되는 Google Cloud 프로젝트에 대한 권한이 부여됩니다. 서비스 에이전트는 사용자 대신 다음 작업을 실행하기 위해 사용자 대신 자체 사용자 인증 정보를 사용합니다.

  • Cloud Storage 버킷 및 객체 읽기 및 쓰기
  • Cloud Storage 입력 파일을 내부 시스템에 다운로드
  • 내부 시스템에서 Cloud Storage 출력 버킷으로 파일 업로드

즉, Cloud Storage 버킷과 파일에 액세스할 수 있지만 해당 버킷이 DDP에서 사용되는 프로젝트와 다른 Google Cloud 프로젝트에 속할 수 있습니다. 개별 버킷에 추가 액세스 제어가 있을 수도 있습니다.

따라서 개발자 기기 플랫폼 서비스 에이전트가 이러한 리소스에 액세스하지 못할 수 있습니다. 여기의 안내에 따라 특정 버킷에 대한 액세스 권한을 DDP 서비스 에이전트와 공유하세요.

액세스 권한 공유

DDP 지원 프로젝트에서 테스트와 함께 파일을 포함하는 방법은 기기 실행을 참고하세요. Cloud Storage 버킷이 DDP 프로젝트와 다른Google Cloud 프로젝트에 있고 기기 실행이 이러한 파일을 읽을 수 있도록 하려면 여기에 설명된 대로 DDP 요청이 시작된 프로젝트의 서비스 에이전트에 roles/storage.objectViewer를 부여해야 합니다.

서비스 에이전트에 스토리지 객체 뷰어 권한 부여: 파일이 포함된 Cloud Storage 버킷에 DDP 서비스 에이전트의 Storage Object Viewer (roles/storage.objectViewer) 역할이 있는지 확인합니다.

gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
  --member="serviceAccount:service-PROJECT_ID@gcp-sa-devicerun." \  --role="roles/storage.objectViewer"

유효성 검사

이제 워크플로로 돌아가 Device Run이 필수 파일에 액세스할 수 있는지 확인합니다. 서비스 에이전트가 지정된 파일에 액세스할 수 없으면 테스트가 시작되지 않습니다.

증빙 서류