問題タブ [google-cloud-iam]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-apps-script - Google スプレッドシートでスクリプトを実行すると権限エラーが発生する
Google スプレッドシートを入力として使用するプログラムを開発しています。スプレッドシートの値が読み取られ、処理され、結果が Web ページに表示されます。
ユーザーがサインアップすると、サービス アカウントを使用してテンプレートからスプレッドシートのクローンが作成されます。テンプレートには、ユーザーがスプレッドシートに値を導入するのを支援するために使用したいスクリプトがいくつか含まれています。
しかし、スクリプトは所有者としてサービス アカウントを持っているようで、Google によるとサービス アカウントに属するスクリプトは実行できません。
エラーメッセージは次のとおりです。
Google Apps Script: サービス アカウントが所有しているため、スクリプトを実行できません。実行する前に、プロジェクトを有効なアカウントにコピーまたは転送してください。
スプレッドシートの所有権をサービス アカウントから gmail ユーザーに譲渡します。そのユーザーがスクリプトを作成すると、スクリプトは完全に実行されますが、テンプレートから継承されたスクリプトはまだ所有者としてサービス アカウントを持っているようで、実行できません。
私の質問は...どうすればプロジェクト (スクリプト) の所有権をサービス アカウントから別のユーザーに移すことができますか?
私はそれをグーグルで検索し、開発者のGoogleスプレッドシートサイトで検索しましたが、答えが見つかりませんでした
api - 権限 Cloud Resource Manager API
開発者コンソールからプロジェクトを作成、編集、および削除する必要があるアプリケーションを開発しています。
この目的のためにCloud Resource Manager APIを使用しています。
API へのリクエストには OAuth 2.0 が必要なので、OAuth2.0 サーバー ツー サーバー(Two-Legged OAuth または 2LO)を使用しています。
認証トークンを取得したら、新しいプロジェクトを作成するために API にリクエストを行います。許可がないと言われました: The caller has no permissions
.
ただし、すべてのプロジェクトのリストを要求すると、正しい応答が得られます。
許可を得るにはどうすればよいですか?
OAuth 2.0 サーバー ツー サーバーを使用するすべての手順に従い、仕事用の Google アカウントを持っています。サービス アカウントには所有者の役割とドメインの委任があります。
ありがとう!!
google-bigquery - GCP で IoT を実装する方法: プロジェクトごとのクラウド プロジェクトとサービス アカウントの両方の制限は何ですか? 彼らは何人まで増やすことができますか?
要するに、プロジェクトごとのクラウド プロジェクトとサービス アカウントの両方の制限はどれくらいですか? どうすればそれらを増やすことができますか? アーキテクチャはまったく良いアイデアですか?
私は、顧客ごとに少数のデバイスと数百の顧客を持ち、現場で数万の計画されたデバイスを使用して IoT アプリケーションを開発しています。すべてのデバイスは、少なくとも 100Hz のサンプル レートで、デバイスごとに 1 つのデータセット (またはテーブル) を使用して、継続的に (24 時間 365 日) 測定データを直接 BigQuery にストリーミングします。
もちろん、クラウド データセットへのアクセスを厳しく制限するには、すべてのデバイスを認証および承認する必要があります。認証ガイドに記載されているように、API キーはあまり安全ではありません。したがって、最も適切なソリューションは、デバイスごとに 1 つのアカウント キーを持つ顧客ごとに 1 つのサービス アカウントを持つようです (この GCP 記事で提案されているように)。ただし、Cloud IAM の FAQ には、サービス アカウントの数はプロジェクトごとに 100 に制限されていると記載されています。
- この制限はすぐに到達する可能性があります。もしそうなら、プロジェクトごとに数千または数万のサービス アカウントにこの制限を増やすのはどれくらい簡単/費用がかかりますか?
- このようなシナリオでは、必要なプロジェクトの数も簡単に数百または数千に増加する可能性があります。これは実現可能でしょうか?
- この全体的なコンセプトは実用的ですか、それとも GCP 内により良いアプローチがありますか?
google-cloud-platform - Cloud Identity 組織外でのプロジェクトの作成を禁止する
Google Cloud Platform 組織にマッピングされた Cloud Identity 組織があります。
GCP 組織の IAM ポリシーは次のとおりです。
- 「管理者」はプロジェクトを作成し、管理操作を行うことができます
- 「開発者」は閲覧可能
GCP Org では問題ありませんが、「Devs」ユーザーが GCP Org の外でプロジェクトを作成できることがわかりました。この動作を防ぐ構成はありますか?
ありがとう
google-cloud-platform - Google Cloud: 特定のバケット内の単一ファイルへのアクセスを拒否
私が持っていると仮定します:
- Google Cloud Storage バケット
bucketxyz
と 2 つのユーザー グループ:group1
とgroup2
; - との
allusers
間のすべてのユーザーを含む追加の 3 番目のグループ。group1
group2
その後:
- そのための IAM ポリシーは、 への読み取り専用アクセスと読み取り/書き込み(ただし、ファイルの削除を避けるため、所有権はありません) を
bucketxyz
許可します。allusers
group1
bucketxyz
:file_shared.txt
およびfile_resticted.txt
次の 2 つのシナリオの2 つのファイルも検討してください。
file_shared.txt
で誰かが書き込むことができますがgroup1
、でユーザーがアクセスすることもできますgroup2
-上記の IAM ポリシーを使用するだけで完了します。file_restricted.txt
のユーザーのみが書き込みおよびアクセスできますgroup1
。
の専用ACL ルールを使用file_restricted.txt
して、シナリオ #2 を実装することは可能bucketxyz
ですか? はいの場合、どのように?
firebase - firebase auth を使用した pubsub (gcp iam)
REST & GRPC API を介して firestore を使用する (組み込み + モバイル) アプリを作成しています。各アクセスは、firebase ユーザー ID を識別する firebase ベアラー トークンを使用して認証します。
同じトークン/firebase uid を使用して pubsub から通知を取得し、その firebase uid を特定のトピックに制限したいのですが、pubsub は firestore authentication ではなく gcp の IAM を使用します。pubsub/iam で firebase ユーザーを参照するにはどうすればよいですか?
ありがとう!
google-cloud-platform - IAM ロールを GSuite 管理コンソール グループに割り当てる
GCP で IAM ロールを GSuite 組織のすべてのメンバーに割り当てる方法を説明するドキュメントはたくさんありますが、これ以上詳細な権限については説明していません。
GSuite で管理コンソール グループを作成し、GCP でそのグループのすべてのメンバーに特定の IAM ロールを適用することはできますか?
firebase - Firestore への呼び出しがサーバー側で行われたときのクラウド Firestore へのユーザー アクセスとデータ制御
nodejs、express、firebase functions、firestore を使用して Web ベースのプロジェクトを開始しましたが、最終的には firebase ホスティングを使用したいと考えています。これまでのところ、承認と認証に到達するまで、すべてをサーバー側に保つことができました。モデル ビュー コントローラー構造を使用しているため、firestore への呼び出しがサーバー側で行われるため、firestore セキュリティ ルールが機能しません。Firestore セキュリティ ルールは、firestore クライアント側にアクセスする場合にのみ機能します。
Google Cloud IAM (Identity and Access Management) を使用して、Cloud Firestore セキュリティ ルールの場合と同様に、firestore への読み取り/書き込みのユーザー レベルを制御できますか?
その場合、MySQL で別のユーザーを設定するのと同じように機能します。
そのため、管理者がサインインするときは admin_webuser を使用してデータベースに接続し、他のユーザーがサインインする場合は user_webuser を使用してデータベースに接続します。
IAMを使用してfirestoreに接続するために、nodejs、express、firebase関数を使用して上記のようなセットアップを実現できますか?
現在、モデルフォルダーで、次の方法でfirestoreを呼び出します。
admin.initializeApp(functions.config().firebase);
セットアップされた IAM ルールに基づいて、別の構成ファイルにヒットするようにパーツを変更できると思いますか? では、管理者が自分の Web サイトにログインするときに、別の構成ファイルを含むモデル フォルダーを使用できますか?
IAM のドキュメントを読みましたが、意味がありません。誰かが私にアドバイスしてもらえますか:
IAM を使用して firestore で CRUD を実行できる管理者を設定するには?
管理者が私のウェブサイトにサインインしたときにのみ、firestore で CRUD 操作を実行できるようにするにはどうすればよいでしょうか?
google-compute-engine - Google Compute インスタンスのクローンを作成するときに「compute.images.get」権限エラーが発生するのはなぜですか?
私は、Google コンピューティング インスタンスで運用 Web サイトに取り組んでいます。
ステージング サイトをセットアップしたいのですが、それを行う最も簡単な方法は、運用インスタンスのクローンを作成することです。
複製しようとすると、次のエラーが表示されます。
「projects/wordpress-sites-170807/global/images/SANITISED-template」に必要な「compute.images.get」権限
Required 'compute.images.get' permission
Google検索で役立つ参照を見つけることができませんでした。
質問:
1. この特定の Cloud Platform コンソールに対する編集者レベルの権限しかありません。このエラーは、ユーザーとしての私に固有のものですか? (私は現在、プロジェクトの「所有者」であるため、私の個人的な許可が問題になる可能性を排除しました)
2. この権限の問題がインスタンス自体に関連している場合、"compute.image.get" 権限を持つように権限を変更するにはどうすればよいですか?