사용자 계정 또는 서비스 계정에서 사용할 수 있는 서비스와 작업은 역할에 따라 결정됩니다. App Engine에 대한 액세스 권한을 부여하는 역할 유형은 다음과 같습니다.
기본 역할 - 프로젝트의 모든 서비스와 리소스에 적용되며 여기에는 App Engine이 포함되나 이에 국한되지 않습니다. 예를 들어 편집자 역할이 있는 계정은 App Engine 설정과 Cloud Storage 설정을 변경할 수 있습니다.
사전 정의된 App Engine 역할 - App Engine에 대한 세분화된 액세스 권한을 제공합니다. Google Cloud 프로젝트의 각 서비스는 자체적인 사전 정의된 역할을 제공합니다. 예를 들어 App Engine 배포자 역할만 있는 계정은 App Engine 앱을 배포할 수 있지만 Cloud Storage에서 객체를 보거나 만들 수 없습니다. 이러한 계정이 Cloud Storage에서 객체를 만들거나 보려면 Cloud Storage의 사전 정의된 특정 역할이 필요합니다.
복잡한 요구사항이 적은 소규모 프로젝트를 진행할 때는 기본 역할을 사용할 수 있습니다. 보다 세분화된 액세스 제어가 필요한 경우에는 사전 정의된 역할을 사용합니다.
기본 역할
기본 역할은 프로젝트의 모든 서비스와 리소스에 적용됩니다. 예를 들어 편집자 역할이 있는 계정은 App Engine 설정과 Cloud Storage 설정을 변경할 수 있습니다.
역할
Google Cloud 콘솔 권한
도구 권한
Owner
App Engine 애플리케이션을 만드는 데 필요합니다. 모든 뷰어 및 편집자 권한을 가지며 이외에도 배포된 소스 코드를 확인하고, 사용자를 초대하고, 사용자 역할을 변경하고, 애플리케이션을 삭제할 수 있습니다.
App Engine 애플리케이션을 만드는 데 필요합니다. 애플리케이션 코드를 배포하고 모든 구성을 업데이트할 수도 있습니다.
Editor
애플리케이션 정보를 확인하고 애플리케이션 설정을 수정합니다.
애플리케이션 코드를 배포하고 색인/큐/크론을 업데이트합니다.
Viewer
애플리케이션 정보를 확인합니다.
로그를 요청합니다.
사전 정의된 App Engine 역할
Role
Permissions
App Engine Admin
(roles/appengine.appAdmin)
Read/Write/Modify access to all application configuration and settings.
To deploy new versions, a principal must have the
Service Account User
(roles/iam.serviceAccountUser) role on the assigned App Engine
service account, and the Cloud Build Editor
(roles/cloudbuild.builds.editor), and Cloud Storage Object Admin
(roles/storage.objectAdmin) roles on the project.
Lowest-level resources where you can grant this role:
Project
appengine.applications.get
appengine.applications.listRuntimes
appengine.applications.update
appengine.instances.*
appengine.instances.delete
appengine.instances.enableDebug
appengine.instances.get
appengine.instances.list
appengine.memcache.addKey
appengine.memcache.flush
appengine.memcache.get
appengine.memcache.update
appengine.operations.*
appengine.operations.get
appengine.operations.list
appengine.runtimes.actAsAdmin
appengine.services.*
appengine.services.delete
appengine.services.get
appengine.services.list
appengine.services.update
appengine.versions.create
appengine.versions.delete
appengine.versions.get
appengine.versions.list
appengine.versions.update
artifactregistry.projectsettings.get
artifactregistry.repositories.deleteArtifacts
artifactregistry.repositories.downloadArtifacts
artifactregistry.repositories.uploadArtifacts
resourcemanager.projects.get
resourcemanager.projects.list
App Engine Creator
(roles/appengine.appCreator)
Ability to create the App Engine resource for the project.
Lowest-level resources where you can grant this role:
Project
appengine.applications.create
resourcemanager.projects.get
resourcemanager.projects.list
App Engine Viewer
(roles/appengine.appViewer)
Read-only access to all application configuration and settings.
Lowest-level resources where you can grant this role:
Project
appengine.applications.get
appengine.applications.listRuntimes
appengine.instances.get
appengine.instances.list
appengine.operations.*
appengine.operations.get
appengine.operations.list
appengine.services.get
appengine.services.list
appengine.versions.get
appengine.versions.list
artifactregistry.projectsettings.get
resourcemanager.projects.get
resourcemanager.projects.list
App Engine Code Viewer
(roles/appengine.codeViewer)
Read-only access to all application configuration, settings, and deployed
source code.
Lowest-level resources where you can grant this role:
Project
appengine.applications.get
appengine.applications.listRuntimes
appengine.instances.get
appengine.instances.list
appengine.operations.*
appengine.operations.get
appengine.operations.list
appengine.services.get
appengine.services.list
appengine.versions.get
appengine.versions.getFileContents
appengine.versions.list
artifactregistry.projectsettings.get
resourcemanager.projects.get
resourcemanager.projects.list
App Engine Managed VM Debug Access
(roles/appengine.debugger)
Ability to read or manage v2 instances.
appengine.applications.get
appengine.applications.listRuntimes
appengine.instances.*
appengine.instances.delete
appengine.instances.enableDebug
appengine.instances.get
appengine.instances.list
appengine.operations.*
appengine.operations.get
appengine.operations.list
appengine.services.get
appengine.services.list
appengine.versions.get
appengine.versions.list
resourcemanager.projects.get
resourcemanager.projects.list
App Engine Deployer
(roles/appengine.deployer)
Read-only access to all application configuration and settings.
To deploy new versions, you must also have the
Service Account User
(roles/iam.serviceAccountUser) role on the assigned App Engine
service account, and the Cloud
Build Editor (roles/cloudbuild.builds.editor), and Cloud Storage Object Admin
(roles/storage.objectAdmin) roles on the project.
Cannot modify existing versions other than deleting versions that are not receiving traffic.
Lowest-level resources where you can grant this role:
Project
appengine.applications.get
appengine.applications.listRuntimes
appengine.instances.get
appengine.instances.list
appengine.operations.*
appengine.operations.get
appengine.operations.list
appengine.services.get
appengine.services.list
appengine.versions.create
appengine.versions.delete
appengine.versions.get
appengine.versions.list
artifactregistry.projectsettings.get
artifactregistry.repositories.deleteArtifacts
artifactregistry.repositories.downloadArtifacts
artifactregistry.repositories.uploadArtifacts
resourcemanager.projects.get
resourcemanager.projects.list
App Engine Memcache Data Admin
(roles/appengine.memcacheDataAdmin)
Can get, set, delete, and flush App Engine Memcache items.
appengine.applications.get
appengine.memcache.addKey
appengine.memcache.flush
appengine.memcache.get
appengine.memcache.update
resourcemanager.projects.get
resourcemanager.projects.list
App Engine Service Admin
(roles/appengine.serviceAdmin)
Read-only access to all application configuration and settings.
Write access to module-level and version-level settings. Cannot deploy a new version.
Lowest-level resources where you can grant this role:
Project
appengine.applications.get
appengine.applications.listRuntimes
appengine.instances.delete
appengine.instances.get
appengine.instances.list
appengine.operations.*
appengine.operations.get
appengine.operations.list
appengine.services.*
appengine.services.delete
appengine.services.get
appengine.services.list
appengine.services.update
appengine.versions.delete
appengine.versions.get
appengine.versions.list
appengine.versions.update
artifactregistry.projectsettings.get
resourcemanager.projects.get
resourcemanager.projects.list
App Engine의 사전 정의된 역할을 통해 보다 세밀하게 액세스를 제어할 수 있습니다.
이 역할은 App Engine에 대한 액세스 권한만 제공합니다. 프로젝트에 Cloud Storage, Cloud SQL과 같은 다른 서비스가 포함된 경우 다른 서비스에 액세스할 수 있도록 추가 역할을 할당해야 합니다.
사전 정의된 App Engine 역할 비교
다음 표를 통해 사전 정의된 각 App Engine 역할의 기능을 종합적으로 비교할 수 있습니다.
많은 조직에서 애플리케이션 버전을 배포하는 작업과 새로 만든 버전에 유입되는 트래픽을 늘리는 작업을 분리하여 서로 다른 직무에 이러한 작업을 할당하려고 합니다. App Engine 배포자 역할과 App Engine 서비스 관리자 역할을 통해 다음과 같이 업무를 분리할 수 있습니다.
App Engine 배포자 및 서비스 계정 사용자 역할 - 계정은 새 버전 배포 및 트래픽을 제공하지 않는 이전 버전 삭제만 수행할 수 있습니다.
이러한 역할이 있는 계정은 원하는 버전으로 트래픽을 구성할 수 없으며 디스패치 규칙 또는 인증 도메인과 같은 애플리케이션 수준 설정도 변경할 수 없습니다.
App Engine 서비스 관리자 역할 - 계정은 새 버전의 앱을 배포하거나 애플리케이션 수준 설정을 변경할 수 없습니다. 하지만 이러한 계정에는 트래픽을 제공할 수 있는 버전 변경을 비롯한 기존 서비스와 버전의 속성을 변경할 수 있는 권한이 있습니다. App Engine 서비스 관리자 역할은 새로 배포한 버전으로 유입되는 트래픽을 늘리는 업무를 담당하는 운영/IT 부서에 적합합니다.
사전 정의된 역할 제한사항
사전 정의된 App Engine 역할은 다음 작업에 대한 액세스 권한을 부여하지 않습니다.
애플리케이션 로그를 보고 다운로드
Google Cloud 콘솔에서 Monitoring 차트 보기
결제 사용 설정 및 사용 중지
Cloud Security Scanner에서 보안 스캔 실행
Datastore, 태스크 큐, Cloud Search, 기타 Cloud Platform 스토리지 제품에 저장된 구성 또는 데이터에 액세스
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-03-06(UTC)"],[[["Roles define the access levels for user and service accounts in App Engine, including basic, predefined, and custom options."],["Basic roles provide broad access across all project services, while predefined App Engine roles offer granular access specifically within App Engine."],["Predefined roles, such as App Engine Deployer, Admin, and Viewer, grant varying levels of permissions, from deploying apps to read-only access."],["For deploying new versions, the recommended setup includes the App Engine Deployer role, and Service Account User role, along with additional roles if using the gcloud commands, in order to impersonate the default App Engine service account during deployment."],["Separation of deployment and traffic management can be achieved using App Engine Deployer roles for deployments and App Engine Service Admin roles for controlling traffic and existing service settings."]]],[]]