アクセス制御オプション

すべての Google Cloud Platform Console プロジェクトには、デフォルトで単一のユーザー(オリジナルのプロジェクト作成者)が設定されています。その他のユーザーは、プロジェクト チームのメンバーとして追加されるまで、そのプロジェクトにアクセスできず、Google Cloud Platform リソースにもアクセスできません。このページでは、ユーザーをプロジェクトに追加するためのさまざまな方法について説明します。

また、Deployment Manager を通じて他の Cloud Platform API の認証を行い、ユーザーに代わってリソースを作成できるようにする方法についても説明します。

はじめに

ユーザーのアクセス制御

プロジェクトに対するアクセス権をユーザーに付与して、各ユーザーが構成ファイルやデプロイを作成できるようにするには、ユーザーをプロジェクト チームメンバーに追加して、Identity and Access Management(IAM)の正しい役割を許可します。IAM では、定義済みの役割と基本の役割の 2 種類の役割がサポートされます。

チームメンバーを追加する方法については、チームメンバーを追加するをご覧ください。

定義済みの役割

事前定義された役割は、関連する一連の権限を付与します。次の表は、Deployment Manager で使用可能な定義済みの役割を示しています。

役割 含まれている権限 リソースタイプ
roles/deploymentmanager.viewer deploymentmanager.deployments.get デプロイ
deploymentmanager.manifests.get マニフェスト
deploymentmanager.manifests.list プロジェクト
deploymentmanager.resources.get リソース
deploymentmanager.resources.list プロジェクト
deploymentmanager.types.list プロジェクト
deploymentmanager.operations.get オペレーション
deploymentmanager.operations.list プロジェクト
roles/deploymentmanager.editor deploymentmanager.viewer のすべての権限と以下の権限:
deploymentmanager.deployments.cancelPreview デプロイ
deploymentmanager.deployments.create プロジェクト
deploymentmanager.deployments.delete デプロイ
deploymentmanager.deployments.stop デプロイ
deploymentmanager.deployments.update デプロイ
roles/deploymentmanager.typeViewer deploymentmanager.types.list プロジェクト
deploymentmanager.typeProviders.get タイプ プロバイダ
deploymentmanager.typeProviders.list プロジェクト
deploymentmanager.compositeTypes.get 複合タイプ
deploymentmanager.compositeTypes.list プロジェクト
roles/deploymentmanager.typeEditor deploymentmanager.typeViewer のすべての権限と以下の権限:
deploymentmanager.typeProviders.create プロジェクト
deploymentmanager.typeProviders.delete タイプ プロバイダ
deploymentmanager.typeProviders.update タイプ プロバイダ
deploymentmanager.compositeTypes.create プロジェクト
deploymentmanager.compositeTypes.delete 複合タイプ
deploymentmanager.compositeTypes.update 複合タイプ

API メソッドを呼び出すには、特定の権限が必要です。次の表で、目的の API メソッドを呼び出すのに必要な権限を確認してください。

メソッド 必要な権限 このメソッドの呼び出しが許可される役割
deployments.cancelPreview deploymentmanager.deployments.cancelPreview
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.delete deploymentmanager.deployments.delete
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.get deploymentmanager.deployments.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
deployments.insert deploymentmanager.deployments.create
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.list deploymentmanager.deployments.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
deployments.patch deploymentmanager.deployments.update
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.stop deploymentmanager.deployments.stop
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.update deploymentmanager.deployments.update
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
manifests.get deploymentmanager.manifests.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
manifests.list deploymentmanager.manifests.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
resources.get deploymentmanager.resources.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
resources.list deploymentmanager.resources.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
types.list deploymentmanager.types.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
compositeTypes.delete deploymentmanager.compositeTypes.delete
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
compositeTypes.get deploymentmanager.compositeTypes.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
compositeTypes.insert deploymentmanager.compositeTypes.create
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
compositeTypes.list deploymentmanager.compositeTypes.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
compositeTypes.patch deploymentmanager.compositeTypes.patch
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
compositeTypes.list deploymentmanager.compositeTypes.update
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
typeProviders.delete deploymentmanager.typeProviders.delete
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
typeProviders.get deploymentmanager.typeProviders.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
typeProviders.insert deploymentmanager.typeProviders.create
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
typeProviders.list deploymentmanager.typeProviders.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
typeProviders.patch deploymentmanager.typeProviders.patch
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
typeProviders.update deploymentmanager.typeProviders.update
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer

基本の役割

IAM の基本の役割は、従来のプロジェクト オーナー、編集者、閲覧者の各役割に直接対応付けられています。これらの役割は、アクセス可能なサービスの範囲が定義済みの役割よりも広くなります。通常は、可能な限り定義済みの役割を使用することが求められます。ただし、IAM がまだサポートされていない一部のケースでは、正しい権限を許可するために、基本の役割を使用する必要があります。

基本の役割の詳細については、基本の役割のドキュメントをご覧ください。

Deployment Manager のアクセス制御

他の Google Cloud Platform リソースを作成する際、Deployment Manager は、Google API サービス アカウントの認証情報を使用して他の API を認証します。Google API サービス アカウントは、内部 Google プロセスをユーザーに代わって実行するよう特別に設計されています。このサービス アカウントは、次のメールを使用して識別できます。

[PROJECT_NUMBER]@cloudservices.gserviceaccount.com

Google API サービス アカウントは、プロジェクトに対する編集権限が自動的に付与され、Google Cloud Platform Console の IAM セクションにリスト表示されます。このサービス アカウントは、常にプロジェクトと一緒に存在し、プロジェクトを削除した場合にのみ削除されます。Deployment Manager やその他のサービス(マネージド インスタンス グループなど)はこのサービス アカウントを利用してリソースの作成、削除、管理を行うため、このアカウントの権限を変更することはおすすめしません。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Deployment Manager のドキュメント