Crie uma vista autorizada

Neste tutorial, cria uma vista autorizada no BigQuery que é usada pelos seus analistas de dados. As vistas autorizadas permitem-lhe partilhar resultados de consultas com utilizadores e grupos específicos sem lhes conceder acesso aos dados de origem subjacentes. A vista recebe acesso aos dados de origem, em vez de um utilizador ou um grupo. Também pode usar a consulta SQL da vista para excluir colunas e campos dos resultados da consulta.

Uma abordagem alternativa à utilização de uma visualização autorizada seria configurar controlos de acesso ao nível da coluna nos dados de origem e, em seguida, conceder aos utilizadores acesso a uma visualização que consulte os dados com controlo de acesso. Para mais informações sobre os controlos de acesso ao nível da coluna, consulte o artigo Introdução ao controlo de acesso ao nível da coluna.

Se tiver várias vistas autorizadas que acedem ao mesmo conjunto de dados de origem, pode autorizar o conjunto de dados que contém as vistas em vez de autorizar uma vista individual.

Crie um conjunto de dados para armazenar os dados de origem

Começa por criar um conjunto de dados para armazenar os dados de origem.

Para criar o conjunto de dados de origem, escolha uma das seguintes opções:

Consola

  1. Aceda à página do BigQuery.

    Aceda ao BigQuery

  2. No painel esquerdo, clique em Explorador:

    Botão realçado para o painel do explorador.

    Se não vir o painel do lado esquerdo, clique em Expandir painel do lado esquerdo para o abrir.

  3. No painel Explorador, junto ao projeto onde quer criar o conjunto de dados, clique em Ver ações > Criar conjunto de dados.

  4. Na página Criar conjunto de dados, faça o seguinte:

    1. Para o ID do conjunto de dados, introduza github_source_data.

    2. Para Tipo de localização, verifique se a opção Várias regiões está selecionada.

    3. Para Multirregião, escolha EUA ou UE. Todos os recursos que criar neste tutorial devem estar na mesma localização multirregional.

    4. Clique em Criar conjunto de dados.

SQL

Use a CREATE SCHEMA declaração DDL:

  1. Na Google Cloud consola, aceda à página BigQuery.

    Aceda ao BigQuery

  2. No editor de consultas, introduza a seguinte declaração:

    CREATE SCHEMA github_source_data;

  3. Clique em Executar.

Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

// Create a source dataset to store your table.
Dataset sourceDataset = bigquery.create(DatasetInfo.of(sourceDatasetId));

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

from google.cloud import bigquery
from google.cloud.bigquery.enums import EntityTypes

client = bigquery.Client()
source_dataset_id = "github_source_data"
source_dataset_id_full = "{}.{}".format(client.project, source_dataset_id)


source_dataset = bigquery.Dataset(source_dataset_id_full)
# Specify the geographic location where the dataset should reside.
source_dataset.location = "US"
source_dataset = client.create_dataset(source_dataset)  # API request

Crie uma tabela e carregue os dados de origem

Depois de criar o conjunto de dados de origem, preenche uma tabela no mesmo guardando os resultados de uma consulta SQL numa tabela de destino. A consulta obtém dados do conjunto de dados público do GitHub.

Consola

  1. Aceda à página do BigQuery.

    Aceda ao BigQuery

  2. No editor de consultas, introduza a seguinte consulta:

    SELECT
      commit,
      author,
      committer,
      repo_name
    FROM
      `bigquery-public-data.github_repos.commits`
    LIMIT
      1000;
    
  3. Clique em Mais e selecione Definições de consulta.

  4. Em Destino, selecione Definir uma tabela de destino para os resultados da consulta.

  5. Para Conjunto de dados, introduza PROJECT_ID.github_source_data.

    Substitua PROJECT_ID pelo ID do seu projeto.

  6. Para ID da tabela, introduza github_contributors.

  7. Clique em Guardar.

  8. Clique em Executar.

  9. Quando a consulta estiver concluída, no painel Explorador, clique em Conjuntos de dados e, de seguida, clique no conjunto de dados github_source_data.

  10. Clique em Vista geral > Tabelas e, de seguida, clique na tabela github_contributors.

  11. Para verificar se os dados foram escritos na tabela, clique no separador Pré-visualizar.

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

// Populate a source table
String tableQuery =
    "SELECT commit, author, committer, repo_name"
        + " FROM `bigquery-public-data.github_repos.commits`"
        + " LIMIT 1000";
QueryJobConfiguration queryConfig =
    QueryJobConfiguration.newBuilder(tableQuery)
        .setDestinationTable(TableId.of(sourceDatasetId, sourceTableId))
        .build();
bigquery.query(queryConfig);

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

source_table_id = "github_contributors"
job_config = bigquery.QueryJobConfig()
job_config.destination = source_dataset.table(source_table_id)
sql = """
    SELECT commit, author, committer, repo_name
    FROM `bigquery-public-data.github_repos.commits`
    LIMIT 1000
"""
client.query_and_wait(
    sql,
    # Location must match that of the dataset(s) referenced in the query
    # and of the destination table.
    location="US",
    job_config=job_config,
)  # API request - starts the query and waits for query to finish

Crie um conjunto de dados para armazenar a sua vista autorizada

Depois de criar o conjunto de dados de origem, cria um novo conjunto de dados separado para armazenar a vista autorizada que partilha com os seus analistas de dados. Num passo posterior, concede à vista autorizada acesso aos dados no conjunto de dados de origem. Os seus analistas de dados têm acesso à vista autorizada, mas não acesso direto aos dados de origem.

As vistas autorizadas devem ser criadas num conjunto de dados diferente dos dados de origem. Desta forma, os proprietários dos dados podem conceder aos utilizadores acesso à vista autorizada sem conceder simultaneamente acesso aos dados subjacentes. O conjunto de dados de origem e o conjunto de dados de visualização autorizado têm de estar na mesma localização regional.

Para criar um conjunto de dados para armazenar a sua vista, escolha uma das seguintes opções:

Consola

  1. Aceda à página do BigQuery.

    Aceda ao BigQuery

  2. No painel esquerdo, clique em Explorador:

    Botão realçado para o painel do explorador.

  3. No painel Explorador, selecione o projeto onde quer criar o conjunto de dados.

  4. Expanda a opção Ver ações e clique em Criar conjunto de dados.

  5. Na página Criar conjunto de dados, faça o seguinte:

    1. Para o ID do conjunto de dados, introduza shared_views.

    2. Para Tipo de localização, verifique se a opção Várias regiões está selecionada.

    3. Para Multirregião, escolha EUA ou UE. Todos os recursos que criar neste tutorial devem estar na mesma localização multirregional.

    4. Clique em Criar conjunto de dados.

SQL

Use a CREATE SCHEMA declaração DDL:

  1. Na Google Cloud consola, aceda à página BigQuery.

    Aceda ao BigQuery

  2. No editor de consultas, introduza a seguinte declaração:

    CREATE SCHEMA shared_views;

  3. Clique em Executar.

Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

// Create a separate dataset to store your view
Dataset sharedDataset = bigquery.create(DatasetInfo.of(sharedDatasetId));

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

shared_dataset_id = "shared_views"
shared_dataset_id_full = "{}.{}".format(client.project, shared_dataset_id)


shared_dataset = bigquery.Dataset(shared_dataset_id_full)
shared_dataset.location = "US"
shared_dataset = client.create_dataset(shared_dataset)  # API request

Crie a vista autorizada no novo conjunto de dados

No novo conjunto de dados, cria a visualização que pretende autorizar. Esta é a vista que partilha com os seus analistas de dados. Esta vista é criada através de uma consulta SQL que exclui as colunas que não quer que os analistas de dados vejam.

A tabela de origem github_contributors contém dois campos do tipo RECORD: author e committer. Para este tutorial, a sua vista autorizada exclui todos os dados do autor, exceto o nome do autor, e exclui todos os dados do autor da confirmação, exceto o nome do autor da confirmação.

Para criar a vista no novo conjunto de dados, escolha uma das seguintes opções:

Consola

  1. Aceda à página do BigQuery.

    Aceda ao BigQuery

  2. No editor de consultas, introduza a seguinte consulta.

    SELECT
    commit,
    author.name AS author,
    committer.name AS committer,
    repo_name
    FROM
    `PROJECT_ID.github_source_data.github_contributors`;

    Substitua PROJECT_ID pelo ID do seu projeto.

  3. Clique em Guardar > Guardar vista.

  4. Na caixa de diálogo Guardar vista, faça o seguinte:

    1. Para Projeto, verifique se o seu projeto está selecionado.

    2. Para Conjunto de dados, introduza shared_views.

    3. Para Tabela, introduza github_analyst_view.

    4. Clique em Guardar.

SQL

Use a CREATE VIEW declaração DDL:

  1. Na Google Cloud consola, aceda à página BigQuery.

    Aceda ao BigQuery

  2. No editor de consultas, introduza a seguinte declaração:

    CREATE VIEW shared_views.github_analyst_view
    AS (
      SELECT
        commit,
        author.name AS author,
        committer.name AS committer,
        repo_name
      FROM
        `PROJECT_ID.github_source_data.github_contributors`
    );

    Substitua PROJECT_ID pelo ID do seu projeto.

  3. Clique em Executar.

Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

// Create the view in the new dataset
String viewQuery =
    String.format(
        "SELECT commit, author.name as author, committer.name as committer, repo_name FROM %s.%s.%s",
        projectId, sourceDatasetId, sourceTableId);

ViewDefinition viewDefinition = ViewDefinition.of(viewQuery);

Table view =
    bigquery.create(TableInfo.of(TableId.of(sharedDatasetId, sharedViewId), viewDefinition));

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

shared_view_id = "github_analyst_view"
view = bigquery.Table(shared_dataset.table(shared_view_id))
sql_template = """
    SELECT
        commit, author.name as author,
        committer.name as committer, repo_name
    FROM
        `{}.{}.{}`
"""
view.view_query = sql_template.format(
    client.project, source_dataset_id, source_table_id
)
view = client.create_table(view)  # API request

Conceda aos seus analistas de dados autorização para executar tarefas de consulta

Para consultar a vista, os seus analistas de dados precisam da autorização bigquery.jobs.create para poderem executar tarefas de consulta e têm de ter acesso à vista. Nesta secção, concede a função de bigquery.user aos seus analistas de dados. A função bigquery.user inclui a autorização bigquery.jobs.create. Num passo posterior, concede aos seus analistas de dados autorização para aceder à vista.

Para atribuir o grupo de analistas de dados à função bigquery.user ao nível do projeto, faça o seguinte:

  1. Na Google Cloud consola, aceda à página IAM.

    Aceder ao IAM

  2. Certifique-se de que o seu projeto está selecionado no seletor de projetos.

  3. Clique em Conceder acesso.

  4. Na caixa de diálogo Conceder acesso a, faça o seguinte:

    1. No campo Novos responsáveis, introduza o grupo que contém os seus analistas de dados. Por exemplo, data_analysts@example.com.

    2. No campo Selecionar uma função, pesquise a função Utilizador do BigQuery e selecione-a.

    3. Clique em Guardar.

Conceda aos seus analistas de dados autorização para consultar a vista autorizada

Para que os seus analistas de dados consultem a vista, têm de receber a função de bigquery.dataViewer ao nível do conjunto de dados ou da vista. A concessão desta função ao nível do conjunto de dados dá aos seus analistas acesso a todas as tabelas e vistas no conjunto de dados. Uma vez que o conjunto de dados criado neste tutorial contém uma única visualização de propriedade autorizada, está a conceder acesso ao nível do conjunto de dados. Se tiver uma coleção de vistas autorizadas às quais precisa de conceder acesso, considere usar um conjunto de dados autorizado.

A função bigquery.user que concedeu anteriormente aos seus analistas de dados dá-lhes as autorizações necessárias para criar tarefas de consulta. No entanto, não podem consultar a vista com êxito, a menos que também tenham acesso bigquery.dataViewer à vista autorizada ou ao conjunto de dados que contém a vista.

Para conceder aos seus analistas de dados bigquery.dataViewer acesso ao conjunto de dados que contém a vista autorizada, faça o seguinte:

Consola

  1. Aceda à página do BigQuery.

    Aceda ao BigQuery

  2. No painel esquerdo, clique em Explorador:

    Botão realçado para o painel do explorador.

  3. No painel Explorador, clique em Conjuntos de dados e, de seguida, selecione o conjunto de dados shared_views para abrir o separador Detalhes.

  4. Clique em Partilha > Autorizações.

  5. No painel Autorizações de partilha, clique em Adicionar principal.

  6. Para Novos responsáveis, introduza o grupo que contém os seus analistas de dados, por exemplo, data_analysts@example.com.

  7. Clique em Selecionar uma função e selecione BigQuery > Visualizador de dados do BigQuery.

  8. Clique em Guardar.

  9. Clique em Fechar.

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

// Assign access controls to the dataset containing the view
List<Acl> viewAcl = new ArrayList<>(sharedDataset.getAcl());
viewAcl.add(Acl.of(new Acl.Group("example-analyst-group@google.com"), Acl.Role.READER));
sharedDataset.toBuilder().setAcl(viewAcl).build().update();

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

# analyst_group_email = 'data_analysts@example.com'
access_entries = shared_dataset.access_entries
access_entries.append(
    bigquery.AccessEntry("READER", EntityTypes.GROUP_BY_EMAIL, analyst_group_email)
)
shared_dataset.access_entries = access_entries
shared_dataset = client.update_dataset(
    shared_dataset, ["access_entries"]
)  # API request

Autorize a vista a aceder ao conjunto de dados de origem

Depois de criar controlos de acesso para o conjunto de dados que contém a vista autorizada, concede à vista autorizada acesso ao conjunto de dados de origem. Esta autorização dá à vista, mas não ao seu grupo de analistas de dados, acesso aos dados de origem.

Para conceder à vista autorizada acesso aos dados de origem, escolha uma destas opções:

Consola

  1. Aceda à página do BigQuery.

    Aceda ao BigQuery

  2. No painel esquerdo, clique em Explorador:

    Botão realçado para o painel do explorador.

  3. No painel Explorador, clique em Conjuntos de dados e, de seguida, selecione o conjunto de dados github_source_data para abrir o separador Detalhes.

  4. Clique em Partilha > Autorizar visualizações.

  5. No painel Vistas autorizadas, para Vista autorizada, introduza PROJECT_ID.shared_views.github_analyst_view.

    Substitua PROJECT_ID pelo ID do seu projeto.

  6. Clique em Adicionar autorização.

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

// Authorize the view to access the source dataset
List<Acl> srcAcl = new ArrayList<>(sourceDataset.getAcl());
srcAcl.add(Acl.of(new Acl.View(view.getTableId())));
sourceDataset.toBuilder().setAcl(srcAcl).build().update();

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

access_entries = source_dataset.access_entries
access_entries.append(
    bigquery.AccessEntry(None, EntityTypes.VIEW, view.reference.to_api_repr())
)
source_dataset.access_entries = access_entries
source_dataset = client.update_dataset(
    source_dataset, ["access_entries"]
)  # API request

Valide a configuração

Quando a configuração estiver concluída, um membro do seu grupo de analistas de dados (por exemplo, data_analysts) pode validar a configuração consultando a vista.

Para validar a configuração, um analista de dados deve executar a seguinte consulta:

  1. Aceda à página do BigQuery.

    Aceda ao BigQuery

  2. No editor de consultas, introduza a seguinte declaração:

    SELECT
      *
    FROM
      `PROJECT_ID.shared_views.github_analyst_view`;

    Substitua PROJECT_ID pelo ID do seu projeto.

  3. Clique em Executar.

Os resultados da consulta são semelhantes aos seguintes. Apenas o nome do autor e o nome do responsável pela confirmação são visíveis nos resultados.

Os resultados da consulta após consultar a vista autorizada

Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.

Código fonte completo

Segue-se o código-fonte completo do tutorial para sua referência.

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

// Create a source dataset to store your table.
Dataset sourceDataset = bigquery.create(DatasetInfo.of(sourceDatasetId));

// Populate a source table
String tableQuery =
    "SELECT commit, author, committer, repo_name"
        + " FROM `bigquery-public-data.github_repos.commits`"
        + " LIMIT 1000";
QueryJobConfiguration queryConfig =
    QueryJobConfiguration.newBuilder(tableQuery)
        .setDestinationTable(TableId.of(sourceDatasetId, sourceTableId))
        .build();
bigquery.query(queryConfig);

// Create a separate dataset to store your view
Dataset sharedDataset = bigquery.create(DatasetInfo.of(sharedDatasetId));

// Create the view in the new dataset
String viewQuery =
    String.format(
        "SELECT commit, author.name as author, committer.name as committer, repo_name FROM %s.%s.%s",
        projectId, sourceDatasetId, sourceTableId);

ViewDefinition viewDefinition = ViewDefinition.of(viewQuery);

Table view =
    bigquery.create(TableInfo.of(TableId.of(sharedDatasetId, sharedViewId), viewDefinition));

// Assign access controls to the dataset containing the view
List<Acl> viewAcl = new ArrayList<>(sharedDataset.getAcl());
viewAcl.add(Acl.of(new Acl.Group("example-analyst-group@google.com"), Acl.Role.READER));
sharedDataset.toBuilder().setAcl(viewAcl).build().update();

// Authorize the view to access the source dataset
List<Acl> srcAcl = new ArrayList<>(sourceDataset.getAcl());
srcAcl.add(Acl.of(new Acl.View(view.getTableId())));
sourceDataset.toBuilder().setAcl(srcAcl).build().update();

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.

# Create a source dataset
from google.cloud import bigquery
from google.cloud.bigquery.enums import EntityTypes

client = bigquery.Client()
source_dataset_id = "github_source_data"
source_dataset_id_full = "{}.{}".format(client.project, source_dataset_id)


source_dataset = bigquery.Dataset(source_dataset_id_full)
# Specify the geographic location where the dataset should reside.
source_dataset.location = "US"
source_dataset = client.create_dataset(source_dataset)  # API request

# Populate a source table
source_table_id = "github_contributors"
job_config = bigquery.QueryJobConfig()
job_config.destination = source_dataset.table(source_table_id)
sql = """
    SELECT commit, author, committer, repo_name
    FROM `bigquery-public-data.github_repos.commits`
    LIMIT 1000
"""
client.query_and_wait(
    sql,
    # Location must match that of the dataset(s) referenced in the query
    # and of the destination table.
    location="US",
    job_config=job_config,
)  # API request - starts the query and waits for query to finish

# Create a separate dataset to store your view
shared_dataset_id = "shared_views"
shared_dataset_id_full = "{}.{}".format(client.project, shared_dataset_id)


shared_dataset = bigquery.Dataset(shared_dataset_id_full)
shared_dataset.location = "US"
shared_dataset = client.create_dataset(shared_dataset)  # API request

# Create the view in the new dataset
shared_view_id = "github_analyst_view"
view = bigquery.Table(shared_dataset.table(shared_view_id))
sql_template = """
    SELECT
        commit, author.name as author,
        committer.name as committer, repo_name
    FROM
        `{}.{}.{}`
"""
view.view_query = sql_template.format(
    client.project, source_dataset_id, source_table_id
)
view = client.create_table(view)  # API request

# Assign access controls to the dataset containing the view
# analyst_group_email = 'data_analysts@example.com'
access_entries = shared_dataset.access_entries
access_entries.append(
    bigquery.AccessEntry("READER", EntityTypes.GROUP_BY_EMAIL, analyst_group_email)
)
shared_dataset.access_entries = access_entries
shared_dataset = client.update_dataset(
    shared_dataset, ["access_entries"]
)  # API request

# Authorize the view to access the source dataset
access_entries = source_dataset.access_entries
access_entries.append(
    bigquery.AccessEntry(None, EntityTypes.VIEW, view.reference.to_api_repr())
)
source_dataset.access_entries = access_entries
source_dataset = client.update_dataset(
    source_dataset, ["access_entries"]
)  # API request