Nesta página, descrevemos como configurar um serviço do Identity and Access Management (IAM) a conta de um namespace em uma instância do Cloud Data Fusion.
Sobre namespaces no Cloud Data Fusion
Um namespace é um agrupamento lógico de aplicativos, dados e os metadados em uma instância do Cloud Data Fusion. Pense nos namespaces como o particionamento da instância. Qualquer aplicativo ou dado, aqui referido como entity, podem existir independentemente em vários namespaces. Em uma única instância, um namespace armazena os dados e metadados de uma entidade independentemente outro namespace.
Controle de acesso com uma conta de serviço de namespace
Para controlar o acesso aos recursos do Google Cloud, os namespaces do Cloud Data Fusion usam o Agente de serviço da API Cloud Data Fusion por padrão.
Para um melhor isolamento dos dados, associe um IAM personalizado conta de serviço, conhecida como Conta de serviço por namespace, com cada . A conta de serviço do IAM personalizada, que pode ser diferentes para namespaces diferentes, permite controlar o acesso aos Recursos do Google Cloud entre namespaces para o tempo de design do pipeline operações no Cloud Data Fusion, como visualização de pipeline, Wrangler e validação de pipeline.
Antes de começar
- As contas de serviço por namespace têm suporte em instâncias com RBAC ativado no Cloud Data Fusion versão 6.10.0 e posteriores.
- As contas de serviço por namespace são usadas para controlar e gerenciar aos recursos do Google Cloud.
Papéis e permissões necessárias
Para receber as permissões necessárias para personalizar contas de serviço de namespace e conceder permissões de usuário em um namespace, faça o seguinte:
peça ao administrador para conceder a você
Papel do IAM Administrador do Cloud Data Fusion (roles/datafusion.admin
) na instância do Cloud Data Fusion no projeto.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
Gerenciar permissões para usuários em um namespace
Para dar aos usuários as permissões necessárias em um namespace, conceda do Cloud Data Fusion a eles. Para mais informações, consulte a papéis predefinidos do Cloud Data Fusion para usuários em instâncias com RBAC ativado.
Configurar uma conta de serviço de namespace
Console
Para configurar uma conta de serviço para o namespace, siga estas etapas:
- Se você não tiver uma conta de serviço para o namespace, crie uma.
No console do Google Cloud, acesse Instâncias do Cloud Data Fusion e abra uma instância na página da Web Cloud Data Fusion interface gráfica do usuário.
Clique em Administrador do sistema > Configuração > Namespaces.
Clique no namespace que você quer configurar.
Clique na guia Contas de serviço e em Adicionar serviço padrão.
Conceder o papel de usuário da Identidade da carga de trabalho (
roles/iam.workloadIdentityUser
).Para conceder o papel, siga estas etapas:
- No campo Conta de serviço de design de pipeline, insira o nome
e-mail da conta, por exemplo,
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
- Siga as instruções na caixa de diálogo que aparece.
- No campo Conta de serviço de design de pipeline, insira o nome
e-mail da conta, por exemplo,
Para concluir a configuração da conta de serviço, volte ao namespace da instância do Cloud Data Fusion e clique em Salvar.
Repita as etapas e configure uma conta de serviço para cada namespace.
API REST
Conceder o papel de usuário da Identidade da carga de trabalho (
roles/iam.workloadIdentityUser
).Para conceder o papel, siga estas etapas:
Configure as variáveis de ambiente a seguir:
export TENANT_PROJECT_ID=TENANT_PROJECT export GSA_PROJECT_ID=SERVICE_ACCOUNT_PROJECT
Substitua:
TENANT_PROJECT
: o ID do projeto de locatário. Para encontrá-la, acesse a página Instâncias e clique na instância nome. O ID aparece na página Detalhes da instância.SERVICE_ACCOUNT_PROJECT
: o ID do projeto do Google Cloud em que o IAM está localizada.
Conceda o papel de Usuário da Identidade da carga de trabalho:
gcloud iam service-accounts add-iam-policy-binding \ --role roles/iam.workloadIdentityUser --member "serviceAccount:${TENANT_PROJECT_ID}.svc.id.goog[default/NAMESPACE_IDENTITY]" SERVICE_ACCOUNT_EMAIL \ --project ${GSA_PROJECT_ID}
Substitua:
NAMESPACE_IDENTITY
: a identidade do . Para mais informações, consulte Detalhes namespace da instância.SERVICE_ACCOUNT_EMAIL
: o endereço de e-mail de da conta de serviço, por exemplo,SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
.
Valide o e-mail da conta de serviço do namespace da etapa anterior. Definir o
environment variables
e execute o seguinte comando:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity/validate -X POST -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'
Substitua:
NAMESPACE_NAME
: o ID do namespace.SERVICE_ACCOUNT_EMAIL
: o IAM e-mail da conta de serviço que você quer definir no namespace.
Defina a conta de serviço do namespace. Defina o
environment variables
e execute o seguinte: comando:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X PUT -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'
Editar uma conta de serviço do namespace
Console
Para editar uma conta de serviço do namespace, siga estas etapas:
- Na instância do Cloud Data Fusion, clique em Administrador do sistema > Configuração > Namespaces.
- Clique no namespace com a conta de serviço que você quer editar.
- Para editar a conta de serviço, acesse a guia Contas de serviço. Ao lado de o nome da conta de serviço, clique em > Editar. Menu
- Siga as etapas para configurar uma conta de serviço do namespace.
API REST
Para editar uma conta de serviço do namespace, siga estas etapas:
Defina o
environment variables
, e, em seguida, execute o seguinte comando:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X PUT -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'
Substitua:
NAMESPACE_NAME
: o ID do namespace.SERVICE_ACCOUNT_EMAIL
: o IAM e-mail da conta de serviço que você quer definir no namespace.
Excluir uma conta de serviço de namespace
Console
Para excluir uma conta de serviço de namespace de um namespace, siga estas etapas:
- Na instância do Cloud Data Fusion, clique em Administrador do sistema > Configuração > Namespaces.
- Clique no namespace que tem a conta de serviço que você quer excluir.
- Para remover a conta de serviço, acesse a guia Contas de serviço. Próxima No nome da conta de serviço, clique em > Excluir. Menu
API REST
Para excluir uma conta de serviço de namespace de um namespace, siga estas etapas:
Defina o
environment variables
, e, em seguida, execute o seguinte comando:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X DELETE
Substitua:
NAMESPACE_NAME
: o ID do namespace.
Acessar a conta de serviço do namespace
Console
Para receber informações da conta de serviço para o namespace, siga estas instruções etapas:
No console do Google Cloud, acesse Instâncias do Cloud Data Fusion e abra uma instância na página da Web Cloud Data Fusion interface gráfica do usuário.
Clique em Administrador do sistema > Configuração > Namespaces.
Clique em um nome de namespace para ver os detalhes da conta de serviço.
API REST
Para conseguir o nome da conta de serviço do namespace, siga estas etapas:
Defina o
environment variables
, e, em seguida, execute o seguinte comando:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X GET
Substitua:
NAMESPACE_NAME
: o ID do namespace.
Se tudo der certo, você vai receber o e-mail da conta de serviço no resposta:
Response: {"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}
A seguir
- Saiba mais sobre o caso de uso para controle de acesso com contas de serviço de namespace.
- Saiba mais sobre o controle de acesso baseado em papéis no Cloud Data Fusion.