Cada sujeito, ou seja, um utilizador ou um grupo, segue um processo de dois passos para obter acesso
ao servidor da API global. Conceda a um assunto autorizações no servidor da API global usando IAMRoleBinding
a um IAMRole
predefinido. Todas as funções e associações de funções são globais.
As personas (IO, PA, AO) não são funções, mas sim conjuntos de funções de utilizador mapeadas para autorizações específicas e atribuídas a utilizadores individuais.
Configure associações de funções
Pode configurar associações de funções que dão aos membros da equipa acesso a recursos ao nível da organização ou do projeto.
Para receber as autorizações necessárias para configurar associações de funções, peça ao administrador de IAM da organização que lhe conceda a função de administrador de IAM da organização.
Para atribuir uma função a um membro autorizado, siga estes passos:
Consola
- Inicie sessão na consola do GDC.
- Selecione uma organização ou um projeto no selecionador de âmbito.
- Para configurar associações de funções para uma organização, selecione uma organização.
- Para configurar associações de funções para um projeto, selecione um projeto.
- No menu de navegação, clique em Identidade e acesso > Acesso.
- Clique em Adicionar membro.
- Escolha se quer adicionar utilizadores individuais ou grupos.
- Na lista Fornecedor de identidade, selecione um fornecedor de identidade.
- No campo Nome de utilizador ou alias do grupo, introduza o nome de utilizador, o endereço de email ou o alias.
- Na lista Função, selecione a função que quer atribuir ao utilizador ou ao grupo, como Leitor da organização ao nível da organização ou Criador de projetos ao nível do projeto.
- Clique em Adicionar.
O membro aparece na lista de Membro autorizado.
gdcloud
Certifique-se de que tem a CLI gcloud instalada.
Inicie sessão com o comando
gdcloud auth login
para autenticar com o seu fornecedor de identidade. Para mais informações, consulte a autenticação da CLI gdcloud.Configure vinculações de funções.
Configure associações de funções para uma organização:
gdcloud organizations add-iam-policy-binding ORGANIZATION \ --member=USER_ACCOUNT \ --role=ROLE
Substitua as seguintes variáveis:
ORGANIZATION
: o nome da organização para a qual está a configurar a associação de funções.USER_ACCOUNT
: a conta de utilizador à qual quer conceder a função. Esta flag aceita um endereço de email do utilizador com o prefixo do fornecedor de identidade (user:idpprefix-user@example.com
) ou um nome da conta de serviço com o projeto da conta de serviço (serviceAccount:projectName:serviceAccountName
).ROLE
: o nome da função predefinida ou personalizada que quer atribuir ao utilizador.
Configure vinculações de funções para um projeto:
gdcloud projects add-iam-policy-binding PROJECT \ --member=USER_ACCOUNT \ --role=ROLE
Substitua as seguintes variáveis:
PROJECT
: o nome do projeto para o qual está a configurar a associação de funções.USER_ACCOUNT
: a conta de utilizador à qual quer conceder a função. Esta flag aceita um endereço de email do utilizador com o prefixo do fornecedor de identidade (user:idpprefix-user@example.com
) ou um nome da conta de serviço com o projeto da conta de serviço (serviceAccount:projectName:serviceAccountName
).ROLE
: o nome da função predefinida ou personalizada que quer atribuir ao utilizador.
API
Exporte a credencial do utilizador que usa:
export GLOBAL_API_SERVER_KUBECONFIG=GLOBAL_API_SERVER_KUBECONFIG
Exporte a conta de utilizador à qual quer atribuir a função, incluindo o prefixo do fornecedor de identidade (como
idpprefix-paul@example.com
):export USERNAME=IDP_PREFIX-USER_EMAIL
Exporte o nome da função de que o utilizador precisa, como
project-creator
. Consulte as Definições de funções para encontrar a função correspondente.export ROLE_NAME=ROLE_NAME
Exporte o espaço de nomes onde a associação tem de ser criada:
export BINDING_NAMESPACE=BINDING_NAMESPACE
Substitua BINDING_NAMESPACE por
platform
para funções com âmbito da organização ou o nome do espaço de nomes do projeto de destino para funções com âmbito do projeto.Consulte as Definições de funções para ver uma lista de funções e o respetivo âmbito.
Crie e aplique um
IAMRoleBinding
recurso personalizado:cat <<EOF | kubectl --kubeconfig ${GLOBAL_API_SERVER_KUBECONFIG} apply -f - apiVersion: iam.global.gdc.goog/v1 kind: IAMRoleBinding metadata: name: ${USERNAME}-${ROLE_NAME}-binding namespace: ${BINDING_NAMESPACE} spec: roleRef: apiGroup: iam.global.gdc.goog kind: IAMRole name: ${ROLE_NAME} subjects: - apiGroup: rbac.authorization.k8s.io kind: User name: ${USERNAME} EOF
Remova associações de funções
Quando o acesso já não for necessário, remova um membro e as respetivas funções, autorizações e acesso associados.
Para remover membros, siga os passos abaixo:
Consola
- Inicie sessão na consola do GDC.
- No menu de navegação, clique em Identidade e acesso > Acesso.
- Na lista Membros autorizados, selecione um membro.
- Clique em Remover membro.
- Quando lhe for pedido, clique em Remover membro para confirmar.
gdcloud
Certifique-se de que tem a CLI gcloud instalada.
Inicie sessão com o comando
gdcloud auth login
para autenticar com o seu fornecedor de identidade. Para mais informações, consulte a autenticação da CLI gdcloud.Remova as associações de funções.
Remova associações de funções para uma organização:
gdcloud organizations remove-iam-policy-binding ORGANIZATION \ --member=USER_ACCOUNT \ --role=ROLE
Substitua as seguintes variáveis:
ORGANIZATION
: o nome da organização da qual está a remover a associação de funções.USER_ACCOUNT
: a conta de utilizador da qual quer remover a função. Esta flag aceita um endereço de email do utilizador com o prefixo do fornecedor de identidade (user:idpprefix-user@example.com
) ou um nome da conta de serviço com o projeto da conta de serviço (serviceAccount:projectName:serviceAccountName
).ROLE
: o nome da função predefinida ou personalizada que quer remover da conta de utilizador.
Remova associações de funções para um projeto:
gdcloud projects remove-iam-policy-binding PROJECT \ --member=USER_ACCOUNT \ --role=ROLE
Substitua as seguintes variáveis:
PROJECT
: o nome do projeto do qual está a remover a associação de funções.USER_ACCOUNT
: a conta de utilizador da qual quer remover a função. Esta flag aceita um endereço de email do utilizador com o prefixo do fornecedor de identidade (user:idpprefix-user@example.com
) ou um nome da conta de serviço com o projeto da conta de serviço (serviceAccount:projectName:serviceAccountName
).ROLE
: o nome da função predefinida ou personalizada que quer remover da conta de utilizador.
API
Elimine o IAMRoleBinding
para revogar a autorização concedida à conta de PA:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG \
delete iamrolebinding USERNAME-ROLE_NAME-binding -n BINDING_NAMESPACE
Substitua o seguinte:
- GLOBAL_API_SERVER_KUBECONFIG: o caminho para o ficheiro kubeconfig para aceder ao servidor da API global.
- USERNAME: a conta de utilizador para a qual quer remover a função, incluindo o prefixo do fornecedor de identidade (como
idpprefix-paul@example.com
). - ROLE_NAME: o nome da função que quer remover, como
project-creator
. - BINDING_NAMESPACE: substitua por
platform
para funções ao nível da organização ou o nome do espaço de nomes do projeto de destino para funções ao nível do projeto.
Revogue o acesso do utilizador
Se um membro sair da sua organização ou equipa, pode revogar o respetivo acesso ao Google Distributed Cloud (GDC) isolado. A revogação do acesso de um utilizador termina a sessão do mesmo no Distributed Cloud e remove as respetivas funções e autorizações. Também pode listar a atividade e as sessões do utilizador a partir da respetiva hora de início e de fim.
Para revogar o acesso de um utilizador num universo do GDC, tem de revogar o acesso de cada zona individual separadamente. Conclua os seguintes passos para cada zona:
Certifique-se de que tem sessão iniciada na zona para a qual quer revogar o acesso. Por exemplo, defina a configuração do URL zonal para a CLI gcloud e, em seguida, inicie sessão:
gdcloud config set organization_console_url ZONE_URL gdcloud auth login
Substitua
ZONE_URL
pelo URL da consola do GDC para a zona para a qual revogar o acesso do utilizador, que se assemelha ahttps://console.ORG_NAME.ZONE_NAME.ORG_SUFFIX
.Para mais informações sobre como alternar contextos zonais, consulte o artigo Faça a gestão de recursos em várias zonas.
Obtenha as autorizações necessárias para revogar utilizadores. Peça ao administrador de IAM da organização que lhe conceda a função de administrador de sessão da organização (
org-session-admin
).Revogue o acesso do utilizador à zona:
gdcloud admin auth revoke --accounts USER_EMAIL
Substitua USER_EMAIL pelo email do utilizador ao qual quer revogar o acesso.
Depois de executar o comando, vê um resultado semelhante ao seguinte. Este exemplo revoga o acesso do utilizador
ariel@example.com
:Success: NUMBER of sessions revoked for user ariel@example.com
Neste exemplo, a variável NUMBER refere-se ao número de sessões ativas que o utilizador teve.
Confirme que revogou o acesso do utilizador executando novamente o comando
gdcloud admin auth revoke
. Se tiver êxito, vê o seguinte:No sessions found for account: ariel@example.com
Repita os passos anteriores para cada zona no seu universo.