概要
Transcoder API は、Identity and Access Management(IAM)を使用してアクセスを制御します。
Transcoder API のアクセス制御は、プロジェクト レベルで構成できます。たとえば、デベロッパーにプロジェクト内のすべてのジョブを一覧表示して取得するためのアクセス権を付与できます。
IAM とその機能の詳細については、IAM のドキュメントをご覧ください。特に、IAM ポリシーの管理のセクションをご覧ください。
すべての Transcoder API メソッドでは、呼び出し元が必要な権限を持っていることが求められます。詳細については、権限とロールをご覧ください。
権限
このセクションでは、IAM でサポートされている Transcoder API 権限の概要を説明します。
必要な権限
以下の表は、Transcoder API に関係する IAM 権限の一覧を示します。
ジョブメソッド | 必要な権限 |
---|---|
jobs.create |
親 Google Cloud プロジェクトに対する transcoder.jobs.create 。 |
jobs.delete |
親 Google Cloud プロジェクトに対する transcoder.jobs.delete 。 |
jobs.get |
親 Google Cloud プロジェクトに対する transcoder.jobs.get 。 |
jobs.list |
親 Google Cloud プロジェクトに対する transcoder.jobs.list 。 |
ジョブ テンプレートのメソッド | 必要な権限 |
---|---|
jobTemplates.create |
親 Google Cloud プロジェクトに対する transcoder.jobTemplates.create 。 |
jobTemplates.delete |
親 Google Cloud プロジェクトに対する transcoder.jobTemplates.delete 。 |
jobTemplates.get |
親 Google Cloud プロジェクトに対する transcoder.jobTemplates.get 。 |
jobTemplates.list |
親 Google Cloud プロジェクトに対する transcoder.jobTemplates.list 。 |
役割
次の表に、Transcoder API の IAM ロールと、各ロールに関連付けられた権限を示します。
IAM ロール | 権限 |
---|---|
Transcoder 閲覧者( すべての Transcoder リソースの閲覧者。 |
|
Transcoder 管理者( すべての Transcoder リソースに対する完全アクセス権。 |
|
roles/owner
ロールと roles/editor
ロールは、roles/transcoder.admin
ロールに関連付けられた権限を付与します。roles/viewer
ロールは、roles/transcoder.viewer
ロールに関連付けられた権限を付与します。
ロール roles/owner
、roles/editor
、roles/viewer
には、他の Google Cloud サービスに対する権限も含まれます。ロールの詳細については、ロールについてをご覧ください。
Cloud Storage と Pub/Sub へのアクセス
デフォルトで、Transcoder API は、プロジェクトの Cloud Storage バケットと Pub/Sub トピックのすべてにアクセスできます。最初のジョブを作成すると、Transcoder API は、次の命名規則を使用してサービス アカウントを作成します。
service-PROJECT_NUMBER@gcp-sa-transcoder.iam.gserviceaccount.com
PROJECT_NUMBER は、Transcoder API が有効になっているプロジェクトのプロジェクト番号です。このサービス アカウントには、Transcoder サービス エージェントのロールが付与され、以下を行うための権限があります。
- ファイルをダウンロードしてプロジェクトの Cloud Storage バケットにアップロードする
- プロジェクトの Pub/Sub トピックにステータスの更新を公開する
アクセスの制限
このアクセスを制限するには、サービス アカウントから Transcoder サービス エージェントのロールを削除し、より細分化されたアクセス権に置き換えます。手順は次のとおりです。
- Google Cloud Console で IAM ページ([権限] タブ)に移動します。
- Transcoder サービス エージェントのロールを持つサービス アカウントを探し、編集ボタンを選択します。
- サービス アカウントから Transcoder サービス エージェントのロールを削除します。
- 個々の Cloud Storage バケットのサービス アカウントにアクセス権を付与します。
- Cloud Storage ブラウザページに移動します。
- バケットをクリックします。
- [権限] タブを選択します。
- [追加] をクリックします。
- [新しいプリンシパル] ボックスに、サービス アカウントの名前を入力します。
- [ロール] で、[Storage オブジェクト管理者] を選択します。
- [保存] をクリックします。これで、Transcoder API がバケットにアクセスできるようになります。
- (省略可)構成済みの Pub/Sub トピックのサービス アカウントへのアクセス権を付与します。
- [Pub/Sub トピック] ページに移動します。
- トピックをクリックします。
- [権限] タブを選択します。
- [プリンシパルを追加] をクリックします。
- [新しいプリンシパル] ボックスに、サービス アカウントの名前を入力します。
- [ロール] で、[Pub/Sub パブリッシャー] を選択します。
- [保存] をクリックします。これで、Transcoder API がトピックにアクセスできるようになります。