Admin API의 액세스 제어

Google App Engine Admin API는 액세스 제어에 Google Cloud ID 및 Access Management(IAM)를 사용합니다.

Google App Engine Admin API의 액세스 제어는 프로젝트 수준에서 구성할 수 있습니다. GCP 프로젝트와 프로젝트 내의 리소스 액세스 권한을 사용자 계정, 도메인, 그룹, 서비스 계정에 부여할 수 있습니다. 예를 들면 다음과 같습니다.

  • 프로젝트의 내의 모든 리소스에 대한 액세스 권한을 개별 구성원 또는 서비스 계정의 모든 구성원에게 부여합니다.
  • 프로젝트 구성원에게 부여되는 권한을 제한하기 위해 전체 프로젝트가 아닌 역할별로 액세스 권한을 부여합니다. 예를 들어 리소스 읽기 전용 액세스 또는 새 버전 배포 액세스 권한을 부여하지만 이러한 버전의 트래픽 구성 액세스 권한은 제외합니다.

IAM 및 기능에 대한 자세한 설명은 Google Cloud ID and Access Management 문서를 참조하세요.

모든 Admin API 메소드에는 호출자에게 필요 권한을 요구합니다. Admin API IAM이 지원하는 모든 권한 및 역할 목록은 다음 섹션을 참조하세요.

권한 및 역할

이 섹션에서는 Admin API IAM이 지원하는 권한과 역할을 요약합니다.

App Engine 역할에 대한 자세한 내용은 App Engine 액세스 제어를 참조하세요.

필수 권한

다음 표에서는 호출자가 각 메소드를 호출하는 데 필요한 권한 목록을 보여줍니다.

메소드 필수 권한
apps.create 요청한 Application 리소스에 대한 appengine.applications.create. GCP 프로젝트에 대한 Owner 역할 권한이 필요합니다.
apps.get 요청한 Application 리소스에 대한 appengine.applications.get
apps.patch 요청한 Application 리소스에 대한 appengine.applications.update
apps.repair 요청한 Application 리소스에 대한 appengine.applications.update
apps.authorizedCertificates.create 요청한 Application 리소스에 대한 appengine.applications.update
apps.authorizedCertificates.delete 요청한 Application 리소스에 대한 appengine.applications.update
apps.authorizedCertificates.get 요청한 Application 리소스에 대한 appengine.applications.get
apps.authorizedCertificates.list 요청한 Application 리소스에 대한 appengine.applications.get
apps.authorizedCertificates.patch 요청한 Application 리소스에 대한 appengine.applications.update
apps.authorizedDomains.list 요청한 Application 리소스에 대한 appengine.applications.get
apps.domainMappings.create 요청한 Application 리소스에 대한 appengine.applications.update
apps.domainMappings.delete 요청한 Application 리소스에 대한 appengine.applications.update
apps.domainMappings.get 요청한 Application 리소스에 대한 appengine.applications.get
apps.domainMappings.list 요청한 Application 리소스에 대한 appengine.applications.get
apps.domainMappings.patch 요청한 Application 리소스에 대한 appengine.applications.update
apps.locations.get 요청한 Application 리소스에 대한 appengine.applications.get
apps.locations.list 요청한 Application 리소스에 대한 appengine.applications.get
apps.operations.get 요청한 Application 리소스에 대한 appengine.applications.get
apps.operations.list 요청한 Application 리소스에 대한 appengine.applications.get
apps.services.delete 요청한 Service 리소스에 대한 appengine.services.delete
apps.services.get 요청한 Service 리소스에 대한 appengine.services.get
apps.services.list 요청한 Application 리소스에 대한 appengine.services.list
apps.services.patch 요청한 Service 리소스에 대한 appengine.services.update
apps.services.versions.create 요청한 Service 리소스에 대한 appengine.versions.create
apps.services.versions.delete 요청한 Version 리소스에 대한 appengine.versions.delete
apps.services.versions.get 요청한 Version 리소스에 대한 appengine.versions.get
apps.services.versions.list 요청한 Service 리소스에 대한 appengine.versions.list
apps.services.versions.patch 요청한 Version 리소스에 대한 appengine.versions.update
apps.services.versions.instances.debug 요청한 Instance 리소스에 대한 appengine.instances.enableDebug
apps.services.versions.instances.delete 요청한 Instance 리소스에 대한 appengine.instances.delete
apps.services.versions.instances.get 요청한 Instance 리소스에 대한 appengine.instances.get
apps.services.versions.instances.list 요청한 Version 리소스에 대한 appengine.instances.list

역할

다음 표에서는 Google App Engine Admin API IAM 역할과 각 역할에 포함되는 모든 권한 목록을 보여줍니다. 모든 권한은 특정 리소스 유형에 적용할 수 있습니다.

역할 포함된 권한

App Engine 관리자

/roles/appengine.appAdmin

모든 애플리케이션 구성 및 설정에 대한 읽기/쓰기/수정 액세스입니다.

appengine.applications.disable

appengine.applications.get
appengine.applications.update
appengine.instances.delete
appengine.instances.enableDebug
appengine.instances.get
appengine.instances.list
appengine.instances.update

appengine.operations.cancel

appengine.operations.delete

appengine.operations.get
appengine.operations.list
appengine.runtimes.actAsAdmin
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
resourcemanager.projects.get
resourcemanager.projects.list

App Engine 배포자

/roles/appengine.deployer

모든 애플리케이션 구성과 설정에 대한 읽기 전용 액세스입니다.

새로운 버전 생성만 가능한 쓰기 액세스입니다. 트래픽을 수신하지 않는 버전을 삭제하는 경우를 제외하면 기존 버전을 수정할 수 없습니다. 버전의 트래픽을 구성할 수 없습니다.

appengine.applications.get
appengine.instances.get
appengine.instances.list
appengine.operations.get
appengine.operations.list
appengine.services.create

appengine.services.get
appengine.services.list
appengine.versions.create
appengine.versions.delete
appengine.versions.get
appengine.versions.list
resourcemanager.projects.get
resourcemanager.projects.list

App Engine 서비스 관리자

/roles/appengine.serviceAdmin

모든 애플리케이션 구성과 설정에 대한 읽기 전용 액세스입니다.

트래픽 구성을 포함한 서비스 수준 및 버전 수준 설정에 대한 쓰기 액세스입니다. 앱 버전을 배포할 수 없습니다.

appengine.applications.get
appengine.instances.delete
appengine.instances.get
appengine.instances.list
appengine.operations.get
appengine.operations.list
appengine.services.delete
appengine.services.get
appengine.services.list
appengine.services.update
appengine.versions.delete
appengine.versions.get
appengine.versions.list
appengine.versions.update
resourcemanager.projects.get
resourcemanager.projects.list

App Engine 뷰어

/roles/appengine.appViewer

모든 애플리케이션 구성과 설정에 대한 읽기 전용 액세스입니다.

appengine.applications.get
appengine.instances.get
appengine.instances.list
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 코드 뷰어

/roles/appengine.codeViewer

모든 애플리케이션 구성, 설정, 배포된 소스 코드에 대한 읽기 전용 액세스입니다.

appengine.applications.get
appengine.instances.get
appengine.instances.list
appengine.operations.get
appengine.operations.list
appengine.services.get
appengine.services.list
appengine.versions.get
appengine.versions.getFileContents
appengine.versions.list
resourcemanager.projects.get
resourcemanager.projects.list

roles/owner, roles/editor, roles/viewer 역할에는 다른 Google Cloud Platform 서비스의 권한도 포함됩니다. 이러한 기본 역할에 대한 자세한 내용은 액세스 제어를 참조하세요.

커스텀 역할에 사용할 수 없는 권한

사전 정의된 IAM 역할 범위 이상의 액세스를 구성하려는 경우 커스텀 역할을 만들 수 있습니다. 그러나 다음 권한은 커스텀 역할에 사용할 수 없습니다.

  • appengine.applications.disable
  • appengine.applications.list
  • appengine.instances.update
  • appengine.operations.cancel
  • appengine.operations.delete
  • appengine.services.create

이러한 권한은 어떠한 작업에서도 필요 없습니다.

GCP 콘솔을 통한 액세스 제어

GCP 콘솔을 사용하여 GCP 프로젝트의 액세스 제어를 관리할 수 있습니다.

프로젝트 전체 액세스 제어 설정

구성원에게 GCP 프로젝트 및 리소스 액세스 권한을 부여하려면 프로젝트 구성원에 대한 액세스 권한 부여, 변경, 취소를 참조하세요.

서비스 계정 액세스 제어 설정

GCP 프로젝트에 서비스 계정을 만들어 GCP 서비스 대상 앱 프로그래매틱 액세스 권한을 부여할 수 있습니다. 예를 들어 서비스 계정을 사용하여 하나의 GCP 프로젝트에서 다른 GCP 프로젝트로 Google App Engine Admin API를 사용하여 HTTP 요청을 보내도록 허용할 수 있습니다.

서비스 계정을 만들고 액세스 권한을 부여하려면 다음 IAM 주제를 참조하세요.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

App Engine Admin API