Controlo de acesso com a IAM

Vista geral

A API Transcoder usa a gestão de identidade e de acesso (IAM) para o controlo de acesso.

Pode configurar o controlo de acesso para a API Transcoder ao nível do projeto. Por exemplo, pode conceder acesso aos programadores para listar e obter todos os trabalhos num projeto.

Para uma descrição detalhada do IAM e das respetivas funcionalidades, consulte a documentação do IAM. Em particular, consulte a secção sobre a gestão de políticas de IAM.

Todos os métodos da API Transcoder requerem que o autor da chamada tenha as autorizações necessárias. Para mais informações, consulte os artigos Autorizações e Funções.

Autorizações

Esta secção resume as autorizações da Transcoder API suportadas pelo IAM.

Autorizações necessárias

As tabelas seguintes indicam as autorizações da IAM associadas à API Transcoder.

Método da tarefa Autorizações necessárias
jobs.create transcoder.jobs.create no projeto Google Cloud principal.
jobs.delete transcoder.jobs.delete no projeto Google Cloud principal.
jobs.get transcoder.jobs.get no projeto Google Cloud principal.
jobs.list transcoder.jobs.list no projeto Google Cloud principal.
Método do modelo de emprego Autorizações necessárias
jobTemplates.create transcoder.jobTemplates.create no projeto Google Cloud principal.
jobTemplates.delete transcoder.jobTemplates.delete no projeto Google Cloud principal.
jobTemplates.get transcoder.jobTemplates.get no projeto Google Cloud principal.
jobTemplates.list transcoder.jobTemplates.list no projeto Google Cloud principal.

Funções

A tabela seguinte lista as funções de IAM da API Transcoder, incluindo as autorizações associadas a cada função:

Função de IAM Autorizações

(roles/transcoder.viewer)

Visualizador de todos os recursos do transcodificador.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.jobTemplates.get

transcoder.jobTemplates.list

transcoder.jobTemplates.listEffectiveTags

transcoder.jobTemplates.listTagBindings

transcoder.jobs.get

transcoder.jobs.list

transcoder.jobs.listEffectiveTags

transcoder.jobs.listTagBindings

(roles/transcoder.admin)

Acesso total a todos os recursos do transcodificador.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.*

  • transcoder.jobTemplates.create
  • transcoder.jobTemplates.createTagBinding
  • transcoder.jobTemplates.delete
  • transcoder.jobTemplates.deleteTagBinding
  • transcoder.jobTemplates.get
  • transcoder.jobTemplates.list
  • transcoder.jobTemplates.listEffectiveTags
  • transcoder.jobTemplates.listTagBindings
  • transcoder.jobs.create
  • transcoder.jobs.createTagBinding
  • transcoder.jobs.delete
  • transcoder.jobs.deleteTagBinding
  • transcoder.jobs.get
  • transcoder.jobs.list
  • transcoder.jobs.listEffectiveTags
  • transcoder.jobs.listTagBindings

As funções roles/owner e roles/editor concedem as autorizações associadas à função roles/transcoder.admin. A função roles/viewer concede autorizações associadas à função roles/transcoder.viewer.

As funções roles/owner, roles/editor e roles/viewer incluem autorizações para outros serviços Google Cloud também. Para mais informações acerca das funções, consulte o artigo Compreender as funções.

Acesso ao Cloud Storage e ao Pub/Sub

Por predefinição, a API Transcoder tem acesso a todos os contentores do Cloud Storage e tópicos do Pub/Sub do seu projeto. Quando cria a primeira tarefa, a API Transcoder cria uma conta de serviço com a seguinte convenção de nomenclatura:

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

PROJECT_NUMBER é o número do projeto do seu projeto com a API Transcoder ativada. Esta conta de serviço tem a função de agente do serviço Transcoder e autorizações para fazer o seguinte:

  • Transfira e carregue ficheiros para os contentores do Cloud Storage do seu projeto
  • Publicar atualizações de estado nos tópicos do Pub/Sub do seu projeto

Limitar o acesso

Para limitar este acesso, remova a função Agente do serviço Transcoder da conta de serviço e substitua-a por um acesso mais detalhado. Siga estes passos:

  1. Aceda à página IAM (separador Autorizações) na Google Cloud consola.
  2. Encontre a conta de serviço com a função Agente do serviço Transcoder e selecione o botão de edição.
  3. Elimine a função de agente do serviço Transcoder da conta de serviço.
  4. Conceda acesso à conta de serviço para cada contentor do Cloud Storage individual:
    1. Aceda à página do explorador do Cloud Storage.
    2. Clique num depósito.
    3. Selecione o separador Autorizações.
    4. Clique em Adicionar.
    5. Na caixa Novos membros, escreva o nome da conta de serviço.
    6. Em Função, selecione Administrador de objetos de armazenamento.
    7. Clique em Guardar. A API Transcoder tem agora acesso ao contentor.
  5. (Opcional) Conceda acesso à conta de serviço para qualquer tópico do Pub/Sub configurado:
    1. Aceda à página Tópicos do Pub/Sub.
    2. Clique num tópico.
    3. Selecione o separador Autorizações.
    4. Clique em Adicionar principal.
    5. Na caixa Novos membros, escreva o nome da conta de serviço.
    6. Em Função, selecione Publicador do Pub/Sub.
    7. Clique em Guardar. A API Transcoder tem agora acesso ao tópico.