Controle de acesso com o IAM

Visão geral

A API Transcoder usa o gerenciamento de identidade e acesso (IAM, na sigla em inglês) para controle de acesso.

É possível configurar o controle de acesso para a API Transcoder no nível do projeto. Por exemplo, conceda acesso para que os desenvolvedores possam listar e receber todos os jobs em um projeto.

Para uma descrição detalhada do IAM e dos recursos dele, consulte a documentação do IAM. Especificamente, consulte a seção sobre como gerenciar as políticas do IAM.

Todos os métodos da API Transcoder exigem as devidas permissões do autor da chamada. Para mais informações, consulte Permissões e Papéis.

Permissões

Esta seção resume as permissões da API Transcoder compatível com o IAM.

Permissões necessárias

As tabelas a seguir listam as permissões do IAM associadas à API Transcoder.

Método do job Permissões necessárias
jobs.create transcoder.jobs.create no projeto pai do Google Cloud.
jobs.delete transcoder.jobs.delete no projeto pai do Google Cloud.
jobs.get transcoder.jobs.get no projeto pai do Google Cloud.
jobs.list transcoder.jobs.list no projeto pai do Google Cloud.
Método do modelo de job Permissões necessárias
jobTemplates.create transcoder.jobTemplates.create no projeto pai do Google Cloud.
jobTemplates.delete transcoder.jobTemplates.delete no projeto pai do Google Cloud.
jobTemplates.get transcoder.jobTemplates.get no projeto pai do Google Cloud.
jobTemplates.list transcoder.jobTemplates.list no projeto pai do Google Cloud.

Papéis

A tabela a seguir lista os papéis do IAM da API Transcoder, incluindo as permissões associadas a cada papel:

Papel do IAM Permissões

(roles/transcoder.viewer)

Leitor de todos os recursos do transcodificador.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.jobTemplates.get

transcoder.jobTemplates.list

transcoder.jobs.get

transcoder.jobs.list

(roles/transcoder.admin)

Acesso total a todos os recursos do transcodificador.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.*

  • transcoder.jobTemplates.create
  • transcoder.jobTemplates.delete
  • transcoder.jobTemplates.get
  • transcoder.jobTemplates.list
  • transcoder.jobs.create
  • transcoder.jobs.delete
  • transcoder.jobs.get
  • transcoder.jobs.list

Os papéis roles/owner e roles/editor concedem as permissões associadas ao papel roles/transcoder.admin. O papel roles/viewer concede permissões associadas ao papel roles/transcoder.viewer.

Os papéis roles/owner, roles/editor e roles/viewer também incluem permissões para outros serviços do Google Cloud. Para mais informações sobre papéis, consulte Noções básicas sobre papéis.

Acesso ao Cloud Storage e ao Pub/Sub

Por padrão, a API Transcoder tem acesso a todos os buckets do Cloud Storage do seu projeto e tópicos do Pub/Sub. Quando você cria seu primeiro job, a API Transcoder cria uma conta de serviço usando a seguinte convenção de nomenclatura:

service-PROJECT_NUMBER@gcp-sa-transcoder.iam.gserviceaccount.com

PROJECT_NUMBER é o número do projeto com a API Transcoder ativada. Essa conta de serviço recebe o papel de agente de serviço do Transcoder e tem permissões para fazer o seguinte:

  • Fazer o download e o upload de arquivos para os buckets do Cloud Storage do projeto
  • Publicar atualizações de status nos tópicos do Pub/Sub do seu projeto

Como limitar o acesso

Para limitar esse acesso, remova o papel de agente de serviço do Transcoder da conta de serviço e substitua-o por acesso mais detalhado. Siga estas etapas:

  1. Acesse a página IAM (guia Permissões) no console do Google Cloud.
  2. Encontre a conta de serviço com o papel de agente de serviço do Transcoder e selecione o botão "Editar".
  3. Exclua o papel de agente de serviço do Transcoder da conta de serviço.
  4. Conceda acesso à conta de serviço para cada bucket individual do Cloud Storage:
    1. Acesse a página Navegador do Cloud Storage.
    2. Clique em um bucket.
    3. Selecione a guia Permissões.
    4. Clique em Add.
    5. Na caixa Novos principais, digite o nome da conta de serviço.
    6. Em Papel, selecione Administrador de objetos do Storage.
    7. Clique em Save. A API Transcoder agora tem acesso ao bucket.
  5. (Opcional) Conceda acesso à conta de serviço para qualquer tópico do Pub/Sub configurado:
    1. Acesse a página de Pub/Sub topics.
    2. Clique em um tópico.
    3. Selecione a guia Permissões.
    4. Clique em Adicionar principal.
    5. Na caixa Novos principais, digite o nome da conta de serviço.
    6. Em Papel, selecione Editor do Pub/Sub.
    7. Clique em Save. A API Transcoder agora tem acesso ao tema.