Ativando a autenticação de um provedor de identidade externo
É possível integrar-se com o seu provedor de identidade externo (IdP) para autenticar com segurança os usuários externos com a sua conta do IBM Cloud®. Usando o IdP, é possível fornecer uma maneira para os usuários em sua empresa usarem a conexão única (SSO). Conectar a sua conta de nuvem com uma instância do IBM Cloud App ID de sua escolha torna tudo possível.
Um método de autenticação mais comumente usado na IBM Cloud que associa você a todos os produtos IBM e que não tem taxas de uso é a federação de IBMid, que registra o domínio de sua empresa. Registrar o domínio de uma empresa com a IBM possibilita que os usuários efetuem login em produtos e serviços IBM usando suas credenciais de usuário da empresa existentes. A autenticação é então tratada pelo IdP da sua empresa por meio de conexão única (SSO). Para obter informações sobre como registrar sua empresa para um ID federado, consulte o Guia de adoção do IBMid Enterprise Federation. Um patrocinador do IBM, como um defensor do produto ou do cliente, é necessário quando você solicita o registro de IDs federadas.
Para começar a configurarIBMid para federação empresarial, abra um caso emibm.com/mysupport e selecioneIBMid Enterprise Federation como produto.
Se você escolher usar uma referência do IdP externa por meio do IAM, cada conta poderá ter até cinco referências de IdP incluídas por meio da página Provedores de identidade na seção Acesso (IAM) do console. A referência do IdP é configurada por meio da seleção de qual instância do App ID deve ser integrada ao IAM. Em seguida, a referência do IdP recebe um ID de domínio aleatório que é o prefixo exclusivo para os usuários dessa instância de serviço do App ID.
A configuração da integração entre a sua instância do App ID, que já está configurada com o seu IdP e sua conta do IBM Cloud permite continuar a gerenciar todos os usuários externamente no seu IdP. Ela também simplifica o log em processo para sua conta de nuvem para usuários em sua empresa. Após a integração ser concluída, deve-se fornecer a seus usuários uma URL customizada que eles usam para efetuar login todas as vezes. Não é necessário convidar ninguém para sua conta, porque se eles existirem como usuários no repositório do usuário do seu IdP conectado, eles poderão fazer login com suas credenciais por meio da URL customizada.
Antes de Iniciar
- Para decidir qual é a opção de federação certa para você, consulte o IBM Cloud SAML Federation Guide.
- Crie uma instância do App ID por meio do catálogo do IBM Cloud. Para obter mais informações, consulte o Tutorial de introdução.
- Configure a sua instância do App ID. Para obter mais informações sobre como fazer isso dependendo de seu caso de uso, consulte a documentação do App ID sobre a autenticação de gerenciamento.
- Certifique-se de ter o acesso necessário para visualizar e gerenciar as referências de IdP, caso você não seja o proprietário da conta. Deve-se designar função de operador ou superior na instância do App ID e a função de operador ou de administração no Serviço de Identidade do IAM.
Configuração de sua instância do App ID para integração do IAM
Analise os seguintes requisitos sobre como a instância App ID deve ser configurada para funcionar corretamente como um provedor de identidade IAM ( IdP ) para sua conta IBM Cloud.
Se você planeja usar sua instância do App ID para integração IdP do IAM, então qualquer usuário pode efetuar login em sua conta e se autenticar com essa instância do App ID. Portanto, considere seguir estas diretrizes ao configurar a sua instância:
Desative os tipos de autenticação a seguir:
- IBMid
- Anônimo
Caso você decida usar o Cloud Directory como um método de autenticação, desative a opção para os usuários se inscreverem usando o app e inclua somente usuários conhecidos individualmente no seu Cloud Directory.
Configurando atributos específicos do IAM em tokens do App ID
Para que o IAM funcione corretamente com o seu IdP externo, deve-se garantir que a instância do App ID forneça todos os atributos necessários. Consulte a tabela a seguir para os atributos necessários:
Atributo | Solicitação do token de ID do App ID | Origem | Descrição |
---|---|---|---|
identifier (necessário) | ID | App ID gerado | Um identificador exclusivo que identifica um usuário. Ele não pode ser mudado durante o tempo de vida desse usuário. O App ID cria este identificador. |
email (necessário) | Mapeado da asserção SAML "email", que é obrigatória para as configurações do Cloud Directory e do SAML. | O endereço de e-mail do usuário. | |
username (recomendado) | preferred_username se presente, caso contrário, sub | Mapeado da asserção SAML "preferred_username", "username", "user_name" ou "userName", se disponível. Caso contrário, a solicitação "sub" gerada do App ID é usada | Quando você trabalha com a CLI, com as APIs ou com o IBM Cloud Kubernetes Service, o nome do usuário é exibido. Um nome do usuário é frequentemente um endereço de e-mail, mas também pode ser um valor diferente. Se o nome do usuário não for fornecido pelo App ID, o IAM usará o identificador em vez disso. |
firstname (recomendado) | given_name se disponível, caso contrário, "notset" como padrão | Mapeado da asserção SAML "given_name", "givenname", "givenName", "first_name", "firstname" ou "firstName" se disponível, caso contrário, o IAM usará a constante "notset" | O primeiro nome do usuário que efetua login. |
lastname (recomendado) | family_name se disponível, caso contrário, "notset" como padrão | Mapeado da asserção SAML "family_name", "familyname", "familyName", "last_name", "lastname" ou "lastName" se disponível, caso contrário, o IAM usará a constante "notset" | O sobrenome do usuário que efetua login. |
name (opcional) | name se presente, caso contrário, construído pelo nome, um espaço e o sobrenome | Não há mapeamento automático do SAML | Nome completo, incluindo inicial do segundo nome, título ou qualquer coisa que não seja coberta pelo nome e o sobrenome |
Quando um usuário se autentica com sucesso usando a instância de serviço do App ID na conta do IBM Cloud, o usuário é automaticamente incluído na conta. Os usuários incluídos não obtêm nenhuma política de acesso designada por padrão. No entanto, ao usar grupos de acesso e regras dinâmicas, é possível configurar políticas de acesso designadas automaticamente.
Ativando e conectando seu provedor de identidade
Se você ainda não configurou nenhuma referência IdP do IAM antes na sua conta, deve-se primeiramente ativar a configuração de login para sua conta.
-
Ative as configurações de login para a sua conta. Será possível ignorar essa etapa caso você já tenha ativado essa configuração.
- Acesse Gerenciar > Acesso (IAM) > Provedores de identidade no console da IBM Cloud e clique em Ativar.
- Insira um alias para a URL da conta padrão, que é fornecida aos usuários para efetuarem login na sua conta.
Como você está compartilhando o URL com usuários externos, certifique-se de que o alias seja exclusivo e simples. Um formato comum pode ser usar o nome da sua empresa ou uma variação dele.
-
Clique em Criar para criar a sua referência do IdP.
-
Insira um nome para a referência do IdP e selecione a instância do App ID com a qual deseja se conectar.
-
Selecione como deseja integrar os usuários:
- Static (Estático ): (Padrão) Adiciona cada usuário à sua conta quando ele faz login pela primeira vez.
- Dinâmico: Adicione usuários à sua conta somente se eles fizerem login e não selecionarem um perfil confiável.
- Nunca: Os usuários não são adicionados à sua conta mas podem acessar sua conta usando perfis confiáveis. Para obter mais informações sobre perfis confiáveis, consulte Criando perfis confiáveis.
Se você tem onboarding configurado para Static e o usuário seleciona um perfil confiável ao efetuar o login no primeiro tempo, o usuário ainda será adicionado à conta.
-
Em seguida, selecione as configurações a seguir (Opcional):
- Ativar o login da conta?: Ative suas referências de IdP a serem usadas para que os usuários efetuem login em sua conta. Essa opção é configurada por padrão ao criar uma referência do IdP pela primeira vez.
- Configurar como o padrão?: Os usuários podem usar a referência padrão IdP URL que você criou quando ativou esse recurso para fazer login na sua conta. É possível ter somente uma referência do IdP padrão. Para todas as outras referências do IdP criadas, os usuários devem usar os IDs do domínio para efetuar login.
-
Clique em Criar.
Sua referência IdP agora está disponível na lista de provedores de Identidade e o ID do domínio é gerado automaticamente como o valor que representa o seu IdP do IAM na IBM Cloud.
Efetuando login com credenciais do provedor de identidade externo
Depois que a sua instância do App ID estiver conectada ao seu IdP e a sua instância do App ID estiver integrada ao IAM, seus usuários poderão começar a efetuar login em sua conta. Se a referência do IdP for definida como padrão, será possível compartilhar a URL do IdP padrão para sua conta.
No entanto, como é possível ter somente uma configuração como o padrão, mas é possível ter até cinco configurações em sua conta, pode ser necessário obter a URL para outra referência do IdP:
- Nas páginas do provedor de Identidade, clique no ícone Ações
para a linha da referência IdP para a qual precisa de uma URL.
- Selecione Visualizar URL do IdP.
- Copie o link URL do IdP para fornecer aos usuários para efetuarem login.
Usando as instâncias do App ID para construir regras dinâmicas em grupos de acesso
Além dos atributos necessários e recomendados, é possível passar qualquer tipo de informação com a sua asserção SAML. Esses atributos estão disponíveis para uso em regras dinâmicas em grupos de acesso.
Para construir com sucesso uma regra dinâmica, as informações a seguir são necessárias:
- Provedor de identidade: use o prefixo
appid://
e o ID do domínio do IdP do IAM. Por exemplo,appid://A1B2C3D4
se o ID do domínio do usuário eraA1B2C3D4
. - Incluir usuários quando: use o nome da asserção SAML adicional. Essa propriedade é passada inalterada.
- Caso você esteja usando a opção do Cloud Directory ou a opção de federação SAML no App ID, observe que é possível incluir atributos customizados no perfil de cada usuário. Também é possível usar essas propriedades para regras dinâmicas. No entanto, caso você tenha a mesma propriedade como um atributo customizado e como uma asserção SAML, o atributo customizado da asserção SAML será usado.
O IBM Cloud Kubernetes Service até a liberação 1.18 conta com nomes de usuário exclusivos em uma conta. Para funcionar corretamente, deve-se garantir que todos os nomes de usuários sejam exclusivos em todos os IdPs. Isso significa que você deve certificar-se de que os nomes de usuários integrados à sua conta por meio do IBMid e os usuários integrados à sua conta por um IdP do IAM não se sobreponham. Caso contrário, as regras de RBAC do IBM Cloud Kubernetes Service podem ficar confusas e fornecer permissões incorretas.
Se estiver trabalhando com um IdP, externo, é recomendável conectar-se a apenas um IdP externo e permitir que os usuários embarquem automaticamente por meio desse IdP.
Não convide os usuários usando o processo de convite do IBM Cloud, pois isso funciona somente para usuários com IBMids. Se você usar convites da IBM Cloud para sua conta, acabará com uma combinação de usuários vindos do IBMid e usuários sendo automaticamente integrados por meio do seu IdP externo. Isso pode facilmente levar à confusão porque os usuários IBMid efetuam login por meio do website da IBM Cloud, enquanto os usuários do seu IdP externo devem efetuar login com uma URL especial. Isso pode levar à duplicação de nomes de usuário em uma única conta, o que é desaconselhado devido às limitações do site Kubernetes Service, conforme mencionado anteriormente.
Usando dados do IdP para construir perfis confiáveis
Depois de ativar e conectar seu IdP, é possível começar a criar perfis confiáveis. Para construir confiança com usuários federados, é possível usar os dados pessoais de seu IdP para procurar nomes e valores de atributos que existem em sua organização.
Se os usuários para os quais você estiver criando um perfil confiável usarem o IBM Cloud App ID, será necessário criar o perfil confiável como um usuário ID do app e, da mesma forma, para IBMid. Dessa forma, seus próprios atributos do SAML podem dar uma ideia de como estruturar as condições de perfil confiável. Outros usuários com o mesmo IdP podem ter atributos SAML diferentes e você deve usar o seu próprio apenas como uma sugestão. Para usar atributos em uma reivindicação que sejam diferentes dos seus, insira-os manualmente.
As condições que você cria filtram para fora ou permitem que usuários federados apliquem o perfil confiável dependendo de quais atributos estão designados aos usuários federados em seu diretório de usuário corporativo. Ao criar um perfil confiável, é possível visualizar os dados do IdP para ver suas próprias solicitações de usuário por meio do diretório de usuário corporativo da sua organização.
Digamos que há um atributo chamado de groups
que identifica departamentos, equipes e mais organizações internas granulares dentro da sua empresa. Se houver desenvolvedores nos EUA na equipe financeira que precisem do mesmo nível
de acesso para um projeto, você poderá criar um perfil confiável com as seguintes condições:
- Permitir usuários quando
groups
for igual afinance-dev
- Permitir usuários quando
country
for igual aus
Para ter certeza de que suas condições permitam apenas os usuários federados aos quais você pretende conceder acesso, entre em contato com o arquiteto do diretório corporativo para obter mais informações sobre os atributos disponíveis.
Para obter mais informações sobre os campos que são usados para criar condições, consulte Propriedades de condição de IAM.
Recomenda-se criar condições de limite. Você compartilha a mesma URL de IdP como todos em sua organização, portanto, se uma regra de reivindicação estiver muito aberta, você poderá deixar que os usuários apliquem um perfil confiável com acesso à sua conta involuntariamente.