App Engine์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ์—ญํ• 

์‚ฌ์šฉ์ž ๊ณ„์ • ๋˜๋Š” ์„œ๋น„์Šค ๊ณ„์ •์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์™€ ์ž‘์—…์€ ์—ญํ• ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. 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

(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

(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

(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

(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

(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

(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

(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

(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

(roles/appengine.serviceAgent)

Give App Engine Standard Envirnoment service account access to managed resources. Includes access to service accounts.

appengine.versions.delete

appengine.versions.get

appengine.versions.list

appengine.versions.update

artifactregistry.aptartifacts.create

artifactregistry.dockerimages.*

  • artifactregistry.dockerimages.get
  • artifactregistry.dockerimages.list

artifactregistry.files.download

artifactregistry.files.get

artifactregistry.files.list

artifactregistry.kfpartifacts.create

artifactregistry.locations.*

  • artifactregistry.locations.get
  • artifactregistry.locations.list

artifactregistry.mavenartifacts.*

  • artifactregistry.mavenartifacts.get
  • artifactregistry.mavenartifacts.list

artifactregistry.npmpackages.*

  • artifactregistry.npmpackages.get
  • artifactregistry.npmpackages.list

artifactregistry.packages.get

artifactregistry.packages.list

artifactregistry.projectsettings.get

artifactregistry.pythonpackages.*

  • artifactregistry.pythonpackages.get
  • artifactregistry.pythonpackages.list

artifactregistry.repositories.create

artifactregistry.repositories.downloadArtifacts

artifactregistry.repositories.get

artifactregistry.repositories.list

artifactregistry.repositories.listEffectiveTags

artifactregistry.repositories.listTagBindings

artifactregistry.repositories.readViaVirtualRepository

artifactregistry.repositories.uploadArtifacts

artifactregistry.tags.create

artifactregistry.tags.get

artifactregistry.tags.list

artifactregistry.tags.update

artifactregistry.versions.get

artifactregistry.versions.list

artifactregistry.yumartifacts.create

datastore.databases.get

datastore.entities.create

datastore.entities.delete

datastore.entities.get

datastore.entities.list

datastore.entities.update

datastore.indexes.list

datastore.namespaces.*

  • datastore.namespaces.get
  • datastore.namespaces.list

datastore.statistics.*

  • datastore.statistics.get
  • datastore.statistics.list

iam.serviceAccounts.getAccessToken

iam.serviceAccounts.getOpenIdToken

iam.serviceAccounts.signBlob

serviceusage.services.enable

serviceusage.services.get

storage.buckets.create

storage.buckets.get

App Engine์˜ ์‚ฌ์ „ ์ •์˜๋œ ์—ญํ• ์„ ํ†ตํ•ด ๋ณด๋‹ค ์„ธ๋ฐ€ํ•˜๊ฒŒ ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์—ญํ• ์€ App Engine์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ๋งŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์— Cloud Storage, Cloud SQL๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ์„œ๋น„์Šค๊ฐ€ ํฌํ•จ๋œ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ์„œ๋น„์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ์ถ”๊ฐ€ ์—ญํ• ์„ ํ• ๋‹นํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์ „ ์ •์˜๋œ App Engine ์—ญํ•  ๋น„๊ต

๋‹ค์Œ ํ‘œ๋ฅผ ํ†ตํ•ด ์‚ฌ์ „ ์ •์˜๋œ ๊ฐ App Engine ์—ญํ• ์˜ ๊ธฐ๋Šฅ์„ ์ข…ํ•ฉ์ ์œผ๋กœ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ App Engine ๊ด€๋ฆฌ์ž App Engine ์„œ๋น„์Šค ๊ด€๋ฆฌ์ž App Engine ๋ฐฐํฌ์ž App Engine ๋ทฐ์–ด App Engine ์ฝ”๋“œ ๋ทฐ์–ด
๋ชจ๋“  ์„œ๋น„์Šค, ๋ฒ„์ „, ์ธ์Šคํ„ด์Šค ๋‚˜์—ด ์˜ˆ ์˜ˆ ์˜ˆ ์˜ˆ ์˜ˆ
๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์„œ๋น„์Šค, ๋ฒ„์ „, ์ธ์Šคํ„ด์Šค ์„ค์ • ๋ณด๊ธฐ ์˜ˆ ์˜ˆ ์˜ˆ ์˜ˆ ์˜ˆ
๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰, ๋ถ€ํ•˜ ์ •๋ณด, ์˜ค๋ฅ˜ ์ •๋ณด ๋“ฑ ๋Ÿฐํƒ€์ž„ ์ธก์ •ํ•ญ๋ชฉ ๋ณด๊ธฐ ์˜ˆ ์˜ˆ ์˜ˆ ์˜ˆ ์˜ˆ
์•ฑ ์†Œ์Šค ์ฝ”๋“œ ๋ณด๊ธฐ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์˜ˆ
์•ฑ์˜ ์ƒˆ ๋ฒ„์ „ ๋ฐฐํฌ ์˜ˆ(์„œ๋น„์Šค ๊ณ„์ • ์‚ฌ์šฉ์ž ์—ญํ• ๋„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒฝ์šฐ) ์•„๋‹ˆ์š” ์˜ˆ(์„œ๋น„์Šค ๊ณ„์ • ์‚ฌ์šฉ์ž ์—ญํ• ๋„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒฝ์šฐ) ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
ํŠธ๋ž˜ํ”ฝ ๋ถ„ํ•  ๋˜๋Š” ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์˜ˆ ์˜ˆ ์•„๋‹ˆ์š”*** ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
๋ฒ„์ „ ์‹œ์ž‘ ๋ฐ ์ค‘์ง€ ์˜ˆ ์˜ˆ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
๋ฒ„์ „ ์‚ญ์ œ ์˜ˆ ์˜ˆ ์˜ˆ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
์ „์ฒด ์„œ๋น„์Šค ์‚ญ์ œ ์˜ˆ ์˜ˆ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
SSH๋กœ ๊ฐ€๋ณ€ํ˜• ํ™˜๊ฒฝ์˜ VM ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ ์˜ˆ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
์ธ์Šคํ„ด์Šค ์ข…๋ฃŒ ์˜ˆ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
App Engine ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์šฉ ์ค‘์ง€ ๋ฐ ๋‹ค์‹œ ์‚ฌ์šฉ ์„ค์ • ์˜ˆ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
login:admin ์ œํ•œ์ด ์žˆ๋Š” ํ•ธ๋“ค๋Ÿฌ ์•ก์„ธ์Šค(1์„ธ๋Œ€ ๋Ÿฐํƒ€์ž„๋งŒ) ์˜ˆ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
๋””์ŠคํŒจ์น˜ ๊ทœ์น™ ์—…๋ฐ์ดํŠธ ์˜ˆ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
DoS ์„ค์ • ์—…๋ฐ์ดํŠธ ์˜ˆ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
ํฌ๋ก  ์ผ์ • ์—…๋ฐ์ดํŠธ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
๊ธฐ๋ณธ ์ฟ ํ‚ค ๋งŒ๋ฃŒ ์—…๋ฐ์ดํŠธ ์˜ˆ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
๋ฆฌํผ๋Ÿฌ ์—…๋ฐ์ดํŠธ ์˜ˆ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”
Email API ์Šน์ธ๋œ ๋ฐœ์‹ ์ž ์—…๋ฐ์ดํŠธ ์˜ˆ ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š”

์—ญํ• ๋ณ„๋กœ ๋ถ€์—ฌ๋˜๋Š” ํŠน์ • IAM ๊ถŒํ•œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Admin API์˜ ์—ญํ•  ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์•ฑ์˜ ์ƒˆ ๋ฒ„์ „ ๋ฐฐํฌ๋งŒ ๋‹ด๋‹นํ•˜๋Š” ๊ณ„์ •์˜ ๊ฒฝ์šฐ ๋‹ค์Œ ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  • App Engine ๋ฐฐํฌ์ž ์—ญํ• (roles/appengine.deployer)
  • ์„œ๋น„์Šค ๊ณ„์ • ์‚ฌ์šฉ์ž ์—ญํ• (roles/iam.serviceAccountUser)

    ์„œ๋น„์Šค ๊ณ„์ • ์‚ฌ์šฉ์ž ์—ญํ• ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐํฌ ๊ณผ์ • ์ค‘์— ๊ณ„์ •์—์„œ ๊ธฐ๋ณธ App Engine ์„œ๋น„์Šค ๊ณ„์ •์„ ๊ฐ€์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ณ„์ •์ด ๋ฐฐํฌ์— gcloud ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ์—ญํ• ๋„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    • ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด ๊ด€๋ฆฌ์ž(roles/storage.objectAdmin)
    • Cloud Build ํŽธ์ง‘์ž(roles/cloudbuild.builds.editor)
  • Datastore์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•˜๊ฑฐ๋‚˜ ์ƒ‰์ธ์„ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด Cloud Datastore ์ƒ‰์ธ ๊ด€๋ฆฌ์ž ์—ญํ• (roles/datastore.indexAdmin)์„ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์‚ฌ์šฉ์ž ๊ณ„์ • ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฐฐํฌ ์—…๋ฌด์™€ ํŠธ๋ž˜ํ”ฝ ๋ผ์šฐํŒ… ์—…๋ฌด ๋ถ„๋ฆฌ

๋งŽ์€ ์กฐ์ง์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฒ„์ „์„ ๋ฐฐํฌํ•˜๋Š” ์ž‘์—…๊ณผ ์ƒˆ๋กœ ๋งŒ๋“  ๋ฒ„์ „์— ์œ ์ž…๋˜๋Š” ํŠธ๋ž˜ํ”ฝ์„ ๋Š˜๋ฆฌ๋Š” ์ž‘์—…์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์„œ๋กœ ๋‹ค๋ฅธ ์ง๋ฌด์— ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ํ• ๋‹นํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. App Engine ๋ฐฐํฌ์ž ์—ญํ• ๊ณผ App Engine ์„œ๋น„์Šค ๊ด€๋ฆฌ์ž ์—ญํ• ์„ ํ†ตํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—…๋ฌด๋ฅผ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • App Engine ๋ฐฐํฌ์ž ๋ฐ ์„œ๋น„์Šค ๊ณ„์ • ์‚ฌ์šฉ์ž ์—ญํ•  - ๊ณ„์ •์€ ์ƒˆ ๋ฒ„์ „ ๋ฐฐํฌ ๋ฐ ํŠธ๋ž˜ํ”ฝ์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ์ด์ „ ๋ฒ„์ „ ์‚ญ์ œ๋งŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—ญํ• ์ด ์žˆ๋Š” ๊ณ„์ •์€ ์›ํ•˜๋Š” ๋ฒ„์ „์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋””์ŠคํŒจ์น˜ ๊ทœ์น™ ๋˜๋Š” ์ธ์ฆ ๋„๋ฉ”์ธ๊ณผ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€ ์„ค์ •๋„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • App Engine ์„œ๋น„์Šค ๊ด€๋ฆฌ์ž ์—ญํ•  - ๊ณ„์ •์€ ์ƒˆ ๋ฒ„์ „์˜ ์•ฑ์„ ๋ฐฐํฌํ•˜๊ฑฐ๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€ ์„ค์ •์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ๊ณ„์ •์—๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„์ „ ๋ณ€๊ฒฝ์„ ๋น„๋กฏํ•œ ๊ธฐ์กด ์„œ๋น„์Šค์™€ ๋ฒ„์ „์˜ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. App Engine ์„œ๋น„์Šค ๊ด€๋ฆฌ์ž ์—ญํ• ์€ ์ƒˆ๋กœ ๋ฐฐํฌํ•œ ๋ฒ„์ „์œผ๋กœ ์œ ์ž…๋˜๋Š” ํŠธ๋ž˜ํ”ฝ์„ ๋Š˜๋ฆฌ๋Š” ์—…๋ฌด๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ์šด์˜/IT ๋ถ€์„œ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์ „ ์ •์˜๋œ ์—ญํ•  ์ œํ•œ์‚ฌํ•ญ

์‚ฌ์ „ ์ •์˜๋œ App Engine ์—ญํ• ์€ ๋‹ค์Œ ์ž‘์—…์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ทธ๋ฅผ ๋ณด๊ณ  ๋‹ค์šด๋กœ๋“œ
  • Google Cloud ์ฝ˜์†”์—์„œ Monitoring ์ฐจํŠธ ๋ณด๊ธฐ
  • ๊ฒฐ์ œ ์‚ฌ์šฉ ์„ค์ • ๋ฐ ์‚ฌ์šฉ ์ค‘์ง€
  • Cloud Security Scanner์—์„œ ๋ณด์•ˆ ์Šค์บ” ์‹คํ–‰
  • Datastore, ํƒœ์Šคํฌ ํ, Cloud Search, ๊ธฐํƒ€ Cloud Platform ์Šคํ† ๋ฆฌ์ง€ ์ œํ’ˆ์— ์ €์žฅ๋œ ๊ตฌ์„ฑ ๋˜๋Š” ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šค