フィードバックを送信
App Engine へのアクセスを許可するロール
bookmark_border bookmark
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
ロールにより、ユーザー アカウントやサービス アカウントに使用できるサービスとアクションが決まります。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
アプリケーション情報の表示、アプリケーション設定の編集。
アプリケーション コードのデプロイ、インデックス / キュー / cron の更新。
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:
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:
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:
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:
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:
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:
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 コード閲覧者
すべてのサービス、バージョン、インスタンスの一覧取得
○
○
○
○
○
アプリケーション、サービス、バージョン、インスタンスのすべての設定の表示
○
○
○
○
○
リソース使用量、負荷情報、エラー情報などのランタイム指標の表示
○
○
○
○
○
アプリのソースコードの表示
×
×
×
×
○
アプリの新しいバージョンのデプロイ
○(サービス アカウント ユーザーのロールも付与する場合)
×
○(サービス アカウント ユーザーのロールも付与する場合)
×
×
トラフィックの分割または移行
○
○
×***
×
×
バージョンの開始と停止
○
○
×
×
×
バージョンの削除
○
○
○
×
×
サービス全体の削除
○
○
×
×
×
SSH を使用したフレキシブル環境の VM インスタンスへの接続
○
×
×
×
×
インスタンスのシャットダウン
○
×
×
×
×
App Engine アプリケーションの無効化と再有効化
○
×
×
×
×
login:admin 制限のあるハンドラへのアクセス(第 1 世代 ランタイムのみ)
○
×
×
×
×
ディスパッチ ルールの更新
○
×
×
×
×
DoS 設定の更新
○
×
×
×
×
cron スケジュールの更新
×
×
×
×
×
デフォルトの Cookie の有効期限の更新
○
×
×
×
×
リファラーの更新
○
×
×
×
×
Email API の承認済み送信者の更新
○
×
×
×
×
各ロールで付与される特定の IAM 権限について詳しくは、Admin API のロール のセクションをご覧ください。
アプリケーションのデプロイに推奨されるロール
アプリの新しいバージョンのデプロイのみを担うアカウントには、次のロールを付与することをおすすめします。
App Engine デプロイ担当者のロール(roles/appengine.deployer
)
サービス アカウント ユーザー ロール(roles/iam.serviceAccountUser
)
サービス アカウント ユーザー ロール を使用すると、そのアカウントは、デプロイ プロセスの間、デフォルトの App Engine サービス アカウントの権限を借用できます。
アカウントで gcloud
コマンドを使用してデプロイする場合は、次のロールも追加します。
Storage オブジェクト管理者(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 サービス管理者のロールは、この分離を次のように実現しています。
App Engine デプロイ担当者とサービス アカウント ユーザーのロール - アカウントで行えることは、新しいバージョンのデプロイと、トラフィックを処理していない古いバージョンの削除に制限されています。これらのロールを持つアカウントでは、任意のバージョンへのトラフィックを構成することも、アプリケーション レベルの設定(ディスパッチ ルールや認証ドメインなど)を変更することもできません。
App Engine サービス管理者のロール - アカウントでは、アプリの新しいバージョンをデプロイすることも、アプリケーション レベルの設定を変更することもできません。ただし、このアカウントには、トラフィックを処理できるバージョンの変更など、既存のサービスやバージョンのプロパティを変更する権限があります。App Engine サービス管理者のロールは、新しくデプロイしたバージョンへのトラフィックを増やす作業を担当する運用部門や IT 部門に適しています。
注 : App Engine デプロイ担当者ロールを持つアカウントは、(--version
フラグを使用して)同じ名前で新しいバージョンをデプロイすることによって、トラフィックを処理しているバージョンを上書きできます。
事前定義ロールの制限事項
いずれの App Engine の事前定義ロールによっても、以下のことを行うためのアクセス権を付与することはできません。
アプリケーション ログの表示とダウンロード
Google Cloud コンソールでのモニタリング グラフの表示
課金の有効化と無効化
Cloud Security Scanner でのセキュリティ スキャンの実行
Datastore、Task Queues、Cloud Search などの Cloud Platform ストレージ プロダクトに保存した構成やデータへのアクセス
フィードバックを送信
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンス により使用許諾されます。コードサンプルは Apache 2.0 ライセンス により使用許諾されます。詳しくは、Google Developers サイトのポリシー をご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-03-06 UTC。
ご意見をお聞かせください
[[["わかりやすい","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 grant broad access across all project services, while predefined App Engine roles offer granular, service-specific permissions like deploying apps or viewing settings."],["App Engine offers a variety of predefined roles like App Engine Admin, Deployer, and Viewer, each providing a distinct set of capabilities and access levels."],["For deploying new versions, it's recommended to use the App Engine Deployer role along with the Service Account User role, and additional roles for `gcloud` use."],["Separation of duties can be achieved by assigning the App Engine Deployer role for deployments and the App Engine Service Admin role for managing traffic routing."]]],[]]