참고: Python 2.7은 2024년 1월 31일 지원 종료됩니다. 기존 Python 2.7 애플리케이션을 계속 실행하고 트래픽을 받을 수 있습니다. 그러나 지원 종료 날짜 이후에는 해당 런타임을 사용하는 애플리케이션의 재배포를 App Engine에서 차단할 수 있습니다.
지원되는 최신 Python 버전으로 마이그레이션하는 것이 좋습니다.
사용자 계정 또는 서비스 계정에서 사용할 수 있는 서비스와 작업은 역할에 따라 결정됩니다. App Engine에 대한 액세스 권한을 부여하는 역할 유형은 다음과 같습니다.
기본 역할 - 프로젝트의 모든 서비스와 리소스에 적용되며 여기에는 App Engine이 포함되나 이에 국한되지 않습니다. 예를 들어 편집자 역할이 있는 계정은 App Engine 설정과 Cloud Storage 설정을 변경할 수 있습니다.
사전 정의된 App Engine 역할 - App Engine에 대한 세분화된 액세스 권한을 제공합니다. Google Cloud 프로젝트의 각 서비스는 자체적인 사전 정의된 역할을 제공합니다. 예를 들어 App Engine 배포자 역할만 있는 계정은 App Engine 앱을 배포할 수 있지만 Cloud Storage에서 객체를 보거나 만들 수 없습니다. 이러한 계정이 Cloud Storage에서 객체를 만들거나 보려면 Cloud Storage의 사전 정의된 특정 역할이 필요합니다.
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 determine the services and actions available to user or service accounts within App Engine, including basic roles for all project services, predefined roles for specific App Engine access, and custom roles for tailored permissions."],["Basic roles like Owner, Editor, and Viewer apply broadly across all services in a project, allowing actions in App Engine as well as services like Cloud Storage."],["Predefined App Engine roles, such as Admin, Deployer, and Viewer, offer granular control, limiting access to App Engine-specific functionalities, and requiring additional roles for other services."],["The App Engine Deployer role is recommended for accounts solely responsible for deploying new app versions, and it requires the Service Account User role for impersonating the default service account, as well as other roles for `gcloud` commands usage."],["For separating deployment tasks from traffic routing, the App Engine Deployer role and App Engine Service Admin role can be assigned to different job functions, with the Deployer managing new versions and the Admin controlling traffic routing and existing service configurations."]]],[]]