App Engine Admin API는 액세스 제어에 Identity and Access Management(IAM)를 사용합니다.
App Engine Admin API의 액세스 제어는 프로젝트 수준에서 구성할 수 있습니다. Google Cloud 프로젝트 및 프로젝트 내의 리소스에 대한 액세스 권한은 사용자 계정, 도메인, 그룹 또는 서비스 계정에 부여할 수 있습니다. 예를 들면 다음과 같습니다.
- 프로젝트 내의 모든 리소스에 대한 액세스 권한을 개별 사용자 또는 서비스 계정에 부여합니다.
- 프로젝트 내의 리소스에 대한 부분 액세스 권한을 부여합니다. 예를 들어 리소스 읽기 전용 액세스 또는 새 버전 배포 액세스 권한을 부여하지만 이러한 버전의 트래픽 구성 액세스 권한은 제외합니다.
IAM과 그 기능에 대한 자세한 설명은 IAM 문서를 참조하세요.
모든 Admin API 메서드에는 호출자에게 필요 권한을 요구합니다. Admin API가 지원하는 모든 권한 및 역할 목록은 다음 섹션을 참조하세요.
권한 및 역할
이 섹션에서는 Admin API가 지원하는 권한과 역할을 요약합니다.
App Engine 역할에 대한 자세한 내용은 App Engine 액세스 제어를 참조하세요.
필수 권한
다음 표에서는 호출자가 각 메소드를 호출하는 데 필요한 권한 목록을 보여줍니다.
메소드 | 필수 권한 |
---|---|
apps.create |
요청된 Application 리소스에 대한 appengine.applications.create 권한 |
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 권한 |
역할
다음 표에서는 App Engine Admin API IAM 역할과 각 역할에 포함된 모든 권한 목록을 보여줍니다. 각 권한은 특정 리소스 유형에 적용할 수 있습니다.
역할 | 포함된 권한 |
---|---|
App Engine 관리자
모든 애플리케이션 구성 및 설정에 대한 읽기/쓰기/수정 액세스 |
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 배포자
모든 애플리케이션 구성과 설정에 대한 읽기 전용 액세스입니다. 새로운 버전 생성만 가능한 쓰기 액세스입니다. 트래픽을 수신하지 않는 버전을 삭제하는 경우를 제외하면 기존 버전을 수정할 수 없습니다. 버전에 대한 트래픽을 구성할 수 없습니다. |
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 서비스 관리자
모든 애플리케이션 구성과 설정에 대한 읽기 전용 액세스입니다. 트래픽 구성을 포함한 서비스 수준 및 버전 수준 설정에 대한 쓰기 액세스입니다. 앱 버전을 배포할 수 없습니다. |
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 뷰어
모든 애플리케이션 구성과 설정에 대한 읽기 전용 액세스입니다. |
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 코드 뷰어
모든 애플리케이션 구성, 설정, 배포된 소스 코드에 대한 읽기 전용 액세스입니다. |
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 서비스의 권한도 포함됩니다. 이러한 기본 역할에 대한 자세한 내용은 액세스 제어를 참조하세요.
커스텀 역할에 사용할 수 없는 권한
사전 정의된 IAM 역할 범위 이상의 액세스를 구성하려는 경우 커스텀 역할을 만들 수 있습니다. 그러나 다음 권한은 커스텀 역할에 사용할 수 없습니다.
appengine.applications.disable
appengine.applications.list
appengine.instances.update
appengine.operations.cancel
appengine.operations.delete
appengine.services.create
이러한 권한은 어떠한 작업에서도 필요 없습니다.
Google Cloud Console을 통한 액세스 제어
Google Cloud Console을 사용하여 Google Cloud 프로젝트의 액세스 제어를 관리할 수 있습니다.
프로젝트 전체 액세스 제어 설정
주 구성원에게 Google Cloud 프로젝트 및 리소스 액세스 권한을 부여하려면 액세스 권한 부여, 변경, 취소를 참조하세요.
서비스 계정 액세스 제어 설정
Google Cloud 프로젝트에서 서비스 계정을 만들어 앱에 Google Cloud 서비스에 대한 프로그래매틱 액세스 권한을 부여할 수 있습니다. 예를 들어 한 Google Cloud 프로젝트에서 App Engine Admin API를 사용하여 다른 Google Cloud 프로젝트로 HTTP 요청을 보낼 수 있도록 하려면 서비스 계정을 사용합니다.
서비스 계정을 만들고 액세스 권한을 부여하려면 다음 IAM 주제를 참조하세요.