Cada assunto (um usuário ou um grupo) segue um processo de duas etapas para ter acesso
ao servidor da API global. Conceda a um assunto permissões no servidor de API global usando IAMRoleBinding
para um IAMRole
predefinido. Todas as atribuições de função e funções são globais.
As personas (IO, PA, AO) não são papéis, mas sim coleções de papéis de usuário mapeados para permissões específicas e atribuídos a usuários individuais.
Configurar vinculações de papéis
É possível configurar vinculações de função que dão aos membros da equipe acesso a recursos no nível da organização ou do projeto.
Para receber as permissões necessárias para configurar vinculações de papéis, peça ao administrador do IAM da organização para conceder a você o papel de administrador do IAM da organização.
Para atribuir uma função a um membro autorizado, siga estas etapas:
Console
- Faça login no console do GDC.
- Selecione uma organização ou um projeto no seletor de escopo.
- Para configurar vinculações de função em uma organização, selecione uma organização.
- Para configurar vinculações de função em um projeto, selecione um projeto.
- No menu de navegação, clique em Identidade e acesso > Acesso.
- clique em Adicionar membro;
- Escolha se quer adicionar usuários individuais ou grupos.
- Na lista Provedor de identidade, selecione uma opção.
- No campo Nome de usuário ou alias do grupo, insira o nome de usuário, o endereço de e-mail ou o alias.
- Na lista Papel, selecione o papel que você quer atribuir ao usuário ou grupo, como Visualizador da organização no nível da organização ou Criador de projetos no nível do projeto.
- Clique em Adicionar.
O membro aparece na lista Membro autorizado.
gdcloud
Verifique se você instalou a CLI gdcloud.
Faça login usando o comando
gdcloud auth login
para autenticar com seu provedor de identidade. Para mais informações, consulte a autenticação da CLI gdcloud.Configure as vinculações de função.
Configurar vinculações de papéis 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 você está configurando a vinculação de função.USER_ACCOUNT
: a conta de usuário a que você quer conceder o papel. Essa flag aceita um endereço de e-mail do usuário com o prefixo do provedor de identidade (user:idpprefix-user@example.com
) ou um nome de 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 você quer atribuir ao usuário.
Configure vinculações de papéis 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 você está configurando a vinculação de função.USER_ACCOUNT
: a conta de usuário a que você quer conceder o papel. Essa flag aceita um endereço de e-mail do usuário com o prefixo do provedor de identidade (user:idpprefix-user@example.com
) ou um nome de 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 você quer atribuir ao usuário.
API
Exporte a credencial de usuário que você usa:
export GLOBAL_API_SERVER_KUBECONFIG=GLOBAL_API_SERVER_KUBECONFIG
Exporte a conta de usuário a que você quer atribuir a função, incluindo o prefixo do provedor de identidade (como
idpprefix-paul@example.com
):export USERNAME=IDP_PREFIX-USER_EMAIL
Exporte o nome da função que o usuário precisa, como
project-creator
. Consulte Definições de papéis para encontrar o papel adequado.export ROLE_NAME=ROLE_NAME
Exporte o namespace em que a vinculação precisa ser criada:
export BINDING_NAMESPACE=BINDING_NAMESPACE
Substitua BINDING_NAMESPACE por
platform
para papéis no escopo da organização ou pelo nome do namespace do projeto de destino para papéis no escopo do projeto.Consulte Definições de papéis para conferir uma lista de papéis e o escopo deles.
Crie e aplique um recurso personalizado
IAMRoleBinding
: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
Remover vinculações de papéis
Quando o acesso não for mais necessário, remova um membro e os papéis, as permissões e o acesso associados a ele.
Para remover participantes, siga estas etapas:
Console
- Faça login no console 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 solicitado, clique em Remover participante para confirmar.
gdcloud
Verifique se você instalou a CLI gdcloud.
Faça login usando o comando
gdcloud auth login
para autenticar com seu provedor de identidade. Para mais informações, consulte a autenticação da CLI gdcloud.Remova as vinculações de papéis.
Remover vinculações de papéis de 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 de que você está removendo a vinculação de função.USER_ACCOUNT
: a conta de usuário de que você quer remover o papel. Essa flag aceita um endereço de e-mail do usuário com o prefixo do provedor de identidade (user:idpprefix-user@example.com
) ou um nome de 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 você quer remover da conta de usuário.
Remova as vinculações de papel de um projeto:
gdcloud projects remove-iam-policy-binding PROJECT \ --member=USER_ACCOUNT \ --role= ROLE
Substitua as seguintes variáveis:
PROJECT
: o nome do projeto de que você está removendo a vinculação de função.USER_ACCOUNT
: a conta de usuário de que você quer remover o papel. Essa flag aceita um endereço de e-mail do usuário com o prefixo do provedor de identidade (user:idpprefix-user@example.com
) ou um nome de 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 você quer remover da conta de usuário.
API
Exclua o IAMRoleBinding
para revogar a permissão concedida à conta do
PA:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG \
delete iamrolebinding USERNAME-ROLE_NAME-binding -n BINDING_NAMESPACE
Substitua:
- GLOBAL_API_SERVER_KUBECONFIG: o caminho para o arquivo kubeconfig para acessar o servidor da API global.
- USERNAME: a conta de usuário de que você quer
remover o papel, incluindo o prefixo do provedor de identidade (como
idpprefix-paul@example.com
). - ROLE_NAME: o nome do papel que você quer remover, como
project-creator
. - BINDING_NAMESPACE: substitua por
platform
para papéis no escopo da organização ou o nome do namespace do projeto de destino para papéis no escopo do projeto.
Revogar o acesso do usuário
Se um membro sair da sua organização ou equipe, você poderá revogar o acesso dele ao Google Distributed Cloud (GDC) isolado por air-gap. Ao revogar o acesso de um usuário, ele é desconectado do Distributed Cloud e os papéis e permissões dele são removidos. Você também pode listar a atividade e as sessões do usuário com base no horário de início e término.
Para revogar o acesso de um usuário em um universo do GDC, é necessário fazer isso em cada zona individual separadamente. Conclua as etapas a seguir para cada zona:
Confira se você fez login na zona em que quer revogar o acesso. Por exemplo, defina a configuração de URL zonal para a CLI gdcloud e faça login:
gdcloud config set organization_console_url ZONE_URL gdcloud auth login
Substitua
ZONE_URL
pelo URL do console do GDC da zona em que você quer revogar o acesso do usuário, que é semelhante ahttps://console.ORG_NAME.ZONE_NAME.ORG_SUFFIX
.Para mais informações sobre como alternar contextos zonais, consulte Gerenciar recursos em várias zonas.
Receba as permissões necessárias para revogar usuários. Peça ao administrador do IAM da organização para conceder a você o papel de administrador da sessão da organização (
org-session-admin
).Revogue o acesso do usuário à zona:
gdcloud admin auth revoke --accounts USER_EMAIL
Substitua USER_EMAIL pelo e-mail do usuário para revogar o acesso.
Depois de executar o comando, você vai ver uma saída semelhante a esta: Este exemplo revoga o acesso do usuário
ariel@example.com
:Success: NUMBER of sessions revoked for user ariel@example.com
Neste exemplo, a variável NUMBER se refere ao número de sessões ativas do usuário.
Confirme se você revogou o acesso do usuário executando o comando
gdcloud admin auth revoke
novamente. Se a operação for bem-sucedida, você verá o seguinte:No sessions found for account: ariel@example.com
Repita as etapas anteriores para cada zona no seu universo.