• Gerenciar licenças de usuário com a API SCIM da Udemy

    Este artigo descreve como as organizações podem usar a API System for Cross-domain Identity Management (SCIM) da Udemy para adicionar ou remover licenças de usuário.  

    O SCIM é compatível com diversos provedores de identidade, como Okta e OneLogin. Você também pode usar a API SCIM da Udemy Business para outros IdPs ou ferramentas internas.

    Observação: os tokens da API SCIM para a Udemy Business duram aproximadamente dois anos. Os administradores receberão uma notificação informando:

    • 30 dias antes da expiração do token
    • Após o token expirar

    Uso de licenças

    No provedor de identidade, geralmente as licenças são atribuídas no nível do grupo ou, em alguns casos, em nível individual. Quando o atributo licenseType é incluído nas solicitações, o tipo de licença será especificado para os usuários em questão.

    • O atributo pode ser incluído ao criar usuários, e os usuários vão reivindicar a licença indicada quando ativarem a conta da Udemy Business.
    • O atributo pode ser incluído para um usuário existente e pode conceder ou remover uma licença existente.
    • Se não houver licenças suficientes de um tipo exigido disponíveis na conta, a Udemy Business vai enviar uma mensagem de erro ao IdP, e nenhuma alteração será feita.

    Restrições ao remover licenças: 

    Um usuário deve ter um tipo de licença. Para liberar todas as licenças de um usuário, será necessário desativar o usuário na conta da organização. Se a Udemy Business receber um atributo licenseType em branco, o sistema vai ignorá-lo. 

    Não é possível fazer o downgrade da licença “Pro” para “Enterprise” de usuários inativos, ou seja, usuários que foram provisionados com ambas as licenças, mas ainda não fizeram login. 

    Provisionar o atributo licenseType exigido

    O atributo licenseTypes que deve ser incluído no provedor de identidade da sua organização é: 

    urn:ietf:params:scim:schemas:extension:udemy:2.0:User.

    Esse atributo deve ser fornecido como uma lista de strings, com cada string representando um nome de licença (consulte a seção abaixo sobre tipos de licença para mais informações).

    Fornecer os valores aceitos e tipos de licença correspondentes

    Para gerenciar o tipo de licença de um usuário, um valor aceito precisará ser informado. Os valores de entrada na tabela abaixo serão validados contra os tipos de licença aceitos pela Udemy Business. O valor do nome da licença não diferencia maiúsculas e minúsculas. 

     

    Nome da licença Tipo

    Exemplos de valores aceitos 

    Enterprise Licença do plano
    Enterprise, eNtErpRisE, enTERprise
    etc.

    Pro

    Licença adicional

    Pro, pRo, PRo
    etc.

     

    Observação: se um valor não aceito for informado, uma notificação de erro será exibida.

    Como incluir licenseTypes ao criar usuários

    A seguir, encontra-se um exemplo do que seria inserido no seu provedor de identidade para incluir licenseTypes ao criar usuários:

    POST /scim/v2/Users HTTP/1.1 Host: myorganization.udemy.com Accept: application/scim+json Authorization: Bearer <insira seu token de portador aqui> Content-Type: application/scim+json {    "schemas": [        "urn:ietf:params:scim:schemas:core:2.0:User",        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",        "urn:ietf:params:scim:schemas:extension:udemy:2.0:User"    ],    "userName": "john.doe@udemy.com",    "externalId": "someexternalidtest12312",    "name": {        "givenName": "John",        "familyName": "Doe"    },    "emails": [        {            "primary": true,            "type": "work",            "value": "john.doe@udemy.com"        }    ],    "active": true,    "urn:ietf:params:scim:schemas:extension:udemy:2.0:User": {        "licenseTypes": ["Enterprise", "Pro"]    } }

    Como substituir os atributos de usuários existentes e incluir licenseTypes

    A seguir, encontra-se um exemplo do que seria inserido para substituir os atributos de usuários existentes e incluir licenseTypes:

    PUT /scim/v2/Users/<scim-user-uuid> HTTP/1.1

    Host: myorganization.udemy.com

    Accept: application/scim+json

    Authorization: Bearer <insira seu token de portador aqui>

    Content-Type: application/scim+json

    {

      "schemas": [

        "urn:ietf:params:scim:schemas:core:2.0:User",

        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",

        "urn:ietf:params:scim:schemas:extension:udemy:2.0:User"

      ],

        "userName": "john.doe@udemy.com",

        "externalId": "someexternalidtest12312",

        "name": {

            "givenName": "John",

            "familyName": "Doe"

        },

        "emails": [

            {

                "primary": true,

                "type": "work",

                "value": "john.doe@udemy.com"

            }

        ],

      "active": true,

      "urn:ietf:params:scim:schemas:extension:udemy:2.0:User": {

        "licenseTypes": ["Enterprise", "Pro"]

      }

    }

    Como definir apenas o campo licenseTypes de um usuário existente

    Para definir apenas o campo licenseTypes em um usuário existente, existem duas opções para o uso de solicitações PATCH:

    "op": "add" 

    Para adicionar a licença complementar (ou seja, “Pro”) a usuários existentes, use:

    "op": "replace" 

    para sobrescrever os valores existentes.

    Observação:

    Com a operação "add", uma licença da Udemy Business Pro pode ser adicionada a licenças existentes, que são Enterprise ou Enterprise+Pro. Para usuários que já têm licenças Enterprise, a licença Pro será adicionada. Para usuários que já têm licenças Enterprise+Pro, nenhuma licença será adicionada.

    Confira um exemplo do que seria inserido para definir apenas o campo licenseTypes em um usuário existente:

    PATCH /scim/v2/Users/<scim-user-uuid> HTTP/1.1 Host: myorganization.udemy.com Accept: application/scim+json Authorization: Bearer <insira seu token de portador aqui> Content-Type: application/scim+json {    "schemas": [        "urn:ietf:params:scim:api:messages:2.0:PatchOp",        "urn:ietf:params:scim:schemas:extension:udemy:2.0:User",    ],    "Operations": [        {            "op": "add",            "urn:ietf:params:scim:schemas:extension:udemy:2.0:User": {                "licenseTypes": ["Pro"]            }        }    ] }W

    Como sobrescrever todo o conjunto de licenças atuais para um usuário

    Com a operação replace, todo o conjunto de licenças atuais de um usuário pode ser sobrescrito. Para isso, o seguinte deve ser inserido.

    PATCH /scim/v2/Users/<scim-user-uuid> HTTP/1.1 Host: myorganization.udemy.com Accept: application/scim+json Authorization: Bearer <insira seu token de portador aqui> Content-Type: application/scim+json {    "schemas": [        "urn:ietf:params:scim:api:messages:2.0:PatchOp",        "urn:ietf:params:scim:schemas:extension:udemy:2.0:User",    ],    "Operations": [        {            "op": "replace",            "urn:ietf:params:scim:schemas:extension:udemy:2.0:User": {                "licenseTypes": ["Enterprise", "Pro"]            }        }    ] }
    Ler artigo
  • Configurar o provisionamento SCIM com Entra ID (Azure AD)

    Quando o Single Sign-on (SSO) for configurado , você pode configurar a Udemy para provisionamento System for Cross-domain Identity Management (SCIM 2.0) no Entra ID (antigo Azure AD) com a Udemy Business.

    O provisionamento SCIM permite provisionar, desprovisionar, criar grupos, gerenciar associações a grupos, gerenciar licenças e alterar detalhes do perfil do usuário, como nome e endereço de e-mail, no Entra ID, que serão automaticamente atualizados na Udemy Business. Após essas ações, não será mais necessário atualizar o Entra ID e a Udemy Business separadamente, pois tudo será sincronizado a partir do Entra ID.

    Observação:

    • O SSO precisa estar ativado antes da ativação do SCIM.
    • O Single Sign-On e o provisionamento estão disponíveis para clientes com Plano Enterprise da Udemy Business.
    • Os usuários provisionados pelo Entra ID não ocuparão uma licença até fazerem login no aplicativo da Udemy Business pela primeira vez.
    • As mudanças no provisionamento SCIM podem ser sincronizadas à Udemy Business a partir do Entra ID, e não o contrário.
    • Os usuários e grupos gerenciados por SCIM no Entra ID não podem ser alterados no aplicativo da Udemy Business; o SCIM é a única fonte de referência para dados de usuários e de grupos.
    • Ainda é possível criar grupos manualmente na Udemy Business se você tiver usuários de que não precisa ou que quer retirar do Entra ID, como fornecedores ou funcionários temporários.
    • Observação: os tokens da API SCIM para a Udemy Business duram aproximadamente dois anos. Os administradores receberão uma notificação informando:
      • 30 dias antes da expiração do token
      • Após o token expirar

    Índice

    Configurar o provisionamento SCIM com Entra ID

    1. Na sua conta da Udemy Business, acesse Gerenciar > Configurações > Provisionamento (SCIM).

    2. Clique em Iniciar configuração, escolha seu provedor de identidade e siga as instruções para gerar o Token secreto (token de portador) que você precisará inserir no Entra ID.

    1a.png

    3. Acesse sua conta do Entra ID, o aplicativo SSO da Udemy Business e siga as etapas abaixo para configurar. Você também pode consultar o próprio guia de configuração da Microsoft sobre provisionamento SCIM com Entra ID para obter mais orientações.

    Acesse a guia Provisionamento no seu portal Azure.

    Observação: udemyazure é um nome de teste que usamos nas capturas de tela abaixo para fins de ilustrar a configuração do SCIM. Ao configurar sua instância, use o aplicativo que foi nomeado pela sua equipe. 

    1b.png

    4. No campo Modo de provisionamento, selecione Automático.

    1c.png

    5. Na seção Credenciais de Administrador:

    O URL do Locatário é: https://yourdomain.udemy.com/scim/v2 (yourdomain é o URL da sua conta da Udemy Business)

    Token Secreto: esse é o token de "portador" que você pode gerar ou visualizar dentro da sua conta da Udemy Business.

    • Acesse Gerenciar > Configurações > Acesso do usuário para obter o Token Secreto.

    6. Clique em Testar conexão para conferir se está funcionando corretamente.

    7. (Opcional) Você pode inserir um endereço de e-mail, se quiser receber alertas do Azure sobre erros.

    1d.png

    8. Em Mapeamentos:

    Vá até Provision Microsoft Entra ID User (Provisionar usuário do Microsoft Entra ID):

    User Mapping (1).png

    Após acessar, você deve ver a lista de mapeamentos de atributos.

    Atributos compatíveis

    Confirme se os atributos obrigatórios abaixo foram adicionados no atributo customappsso, pois esses campos são obrigatórios para que o provisionamento SCIM funcione na Udemy.

    Atributo SCIM Obrigatório? Descrição
    emails[type eq "work"].value
    Sim E-mail do usuário. Deve ser exclusivo.
    userName
    Sim O userName do IdP. Deve ser exclusivo.
    ativo
    Sim Sinaliza a desativação/reativação de usuários
    externalId
    Sim O externalId do usuário do IdP. Deve ser exclusivo.
    urn:ietf:params:scim:schemas:extension: enterprise:2.0:User:employeeNumber
    Sim Retorna o campo employeeNumber de EnterpriseSchema e o armazena como external_id. Deve ser idêntico ao atributo que você quer enviar para externalId.
    name.givenName
    Não Nome próprio de um usuário. Embora não seja obrigatório, recomendamos sempre especificar esses atributos para facilitar a identificação de usuários.
    name.familyName
    Não Sobrenome de um usuário. Embora não seja obrigatório, recomendamos sempre especificar esses atributos para facilitar a identificação de usuários.
    name, { givenName, familyName }
    Não Nome e sobrenome do usuário. Embora não seja obrigatório, recomendamos sempre especificar esses atributos para facilitar a identificação de usuários.
    título
    Não Cargo do usuário, por exemplo, "Engenheiro sênior".
    urn:ietf:params:scim:schemas:extension: udemy:2.0:User:licensePoolName
    Não Nome do conjunto de licenças.
    urn:ietf:params:scim:schemas:extension: udemy:2.0:User:licenseTypes
    Não

    Uma lista separada por vírgula dos tipos de licença. 

    Valores aceitos:

    • Enterprise
    • Enterprise Pro

    Certifique-se de que o atributo do Microsoft Entra ID para emails[type eq "work"].value corresponda ao valor que você configurou no seu atributo de e-mail SSO e nas declarações (ou seja, mail ou userPrincipalName).

    Edit_attribute.jpg

    Confirme se o atributo Switch([IsSoftDeleted], , "False", "True", "True", "False") está mapeado como ativo, permitindo que a desativação de usuários seja aprovada.

    mapping_type.jpg

    Após adicionar os atributos, atualize a Matching precedence (Precedência de correspondência) para ter emails[type eq "work"].value definido para 1.
    Você pode ter que atualizar o userName para 2 ou 3.

    Matching Precedence.png

    9. Role até a parte inferior de Mapeamento de atributos de usuário e ative Mostrar opções avançadas. Selecione Editar lista de atributos para customappsso e ative Diferenciar maiúsculas e minúsculas para id e userName.

    10. Volte à tela principal de configuração do Provisionamento:

    1h.png

     

    11. No campo Escopo, escolha como você quer sincronizar seus usuários e grupos.

    1i.png

    Você só pode sincronizar usuários e grupos que estão atribuídos no aplicativo da Udemy Business se precisar restringir acesso a determinados funcionários ou departamentos. Ou você pode sincronizar todos os usuários e grupos se cada funcionário for ter um acesso.

    1j.png

    Para provisionar mais usuários e grupos com acesso à Udemy Business:

    12. Clique em Usuários e grupos.

    users_and_groups.png

    13. Clique em Adicionar usuário, que apresentará a opção de adicionar Usuários e Grupos.

    Selecione todos os usuários ou grupos que você quer adicionar no aplicativo e clique em Selecionar.

    Add_assignment.png

    Solução de problemas

    Em relação a Mapeamentos:

    User_mapping.png

    Se você enfrentar esse erro durante o provisionamento:

    {"schemas":["urn:ietf:params:scim:api:messages:2.0:Error"],"status":400,"detail":"{'emails': ['This field is required.']}"}

    Altere o mapeamento do usuário.

    Edit_attribute.png

    emails[type eq "work"].value precisa ser mapeado para userPrincipalName, se userPrincipalName for a localização do e-mail.

    Se você acessar o perfil do usuário, poderá ver qual campo contém o e-mail.

    user_profile.png

    Em caso de erros ao provisionar usuários, você pode ver mais detalhes pelos logs de provisionamento.

    • Para consultar esse log, acesse o aplicativo da Udemy em Azure > Provisionamento > Logs de provisionamento > Procurar pelo usuário afetado > Solução de problemas e recomendações.
    • Se necessário, abra um ticket de suporte e envie uma captura de tela dos logs de provisionamento do Azure, para que possamos analisar a falha.

    Ler artigo
  • Configurar o provisionamento SCIM com OneLogin

    Quando o Single Sign-on (SSO) for configurado, você poderá configurar o provisionamento System for Cross-domain Identity Management (SCIM) no OneLogin com a Udemy Business. Com isso, será possível provisionar, desprovisionar, criar grupos, gerenciar associações a grupos e alterar detalhes do perfil do usuário, como nome e endereço de e-mail no OneLogin, que serão automaticamente atualizados na Udemy Business. Após essas ações, não será mais necessário atualizar o OneLogin e a Udemy Business separadamente, pois tudo será sincronizado a partir do OneLogin.

    Este artigo descreve como você pode configurar o provisionamento SCIM com OneLogin. 

    Observação: os tokens da API SCIM para a Udemy Business duram aproximadamente dois anos. Os administradores receberão uma notificação informando:

    • 30 dias antes da expiração do token
    • Após o token expirar

    Como ativar o provisionamento SCIM

    Para ativar o provisionamento SCIM na sua conta da Udemy Business, acesse sua conta e vá para Gerenciar > Configurações > Provisionamento (SCIM).

    Clique em Iniciar configuração e siga as instruções para ativar o SCIM e gerar o Token secreto (token de portador) que você precisará salvar no OneLogin.

    1_21.png

    Em seguida, acesse sua conta do OneLogin, o aplicativo de SSO da Udemy Business e siga as etapas abaixo para configurar. 

    Outras informações sobre como provisionar usuários também está disponível na central de suporte do OneLogin.

    1. No painel do administrador, clique na guia "Applications" (Aplicativos):

    2_21.png

    2. Navegue até a guia "Configuration" (Configuração). Nessa guia, insira o token de portador SCIM da sua conta da Udemy Business que foi gerado acima e configure como "Enabled" (Ativado):

    3_21.png

    3. Depois, navegue até a guia "Provisioning" (Provisionamento) e marque a caixa "Enable provisioning" (Ativar provisionamento):

    workflow_enable_provisioning.png

    Criar uma regra para sincronizar o grupo de um usuário com a Udemy Business

    O OneLogin usa o conceito de "regras" para sincronizar um usuário com um grupo específico na sua conta da Udemy Business. Existem diversas maneiras de criar regras com base nos seus diferentes requisitos para a sincronização de grupos. Veja a seguir um exemplo específico de como criar uma regra para sincronizar um usuário com um grupo chamado "Engenheiros".

    1. Navegue até a guia "Regras" e selecione "Adicionar regra":

    rules_.png

    2. Pré-requisito: antes de avançar para a próxima etapa, entre em contato com nossa equipe de suporte e peça para eles ativarem o sinalizador de recurso que permitirá que os grupos SCIM sejam extraídos da Udemy Business. Com esse recurso ativado, você pode extrair os grupos existentes da Udemy Business e acessá-los no OneLogin.

    3. Na tela "Editar mapeamento", você poderá configurar a lógica da regra. Nesse exemplo, criamos uma regra onde a lógica é "Se o Grupo do usuário for 'Engenharia', então a ação é definir o grupo do usuário na Udemy Business como 'Engenheiros'". Para extrair os grupos "De existente" na Udemy Business, você precisará atualizar as autorizações.

    actions.png

    4. Navegue até a guia "Parâmetros":

    Atributos compatíveis

    Confirme se os atributos obrigatórios abaixo foram adicionados nos atributos da guia Parâmetros, pois esses campos são obrigatórios para que o provisionamento SCIM funcione na Udemy.

    Atributo SCIM Obrigatório? Descrição
    SCIM.email

    Sim

    E-mail do usuário. Deve ser exclusivo.
    externalId

    Sim

    O externalId do usuário do IdP. Deve ser exclusivo. Recomendamos mapear isso para o seu ID do OneLogin.
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber 

    Sim

    Este campo é obrigatório para armazenar o valor externalId. Deve corresponder ao valor externalId.
    SCIM.name.givenName

    Não

    Nome próprio de um usuário. Embora não seja obrigatório, recomendamos sempre especificar esses atributos para facilitar a identificação de usuários.
    SCIM.name.familyName

    Não

    Sobrenome de um usuário. Embora não seja obrigatório, recomendamos sempre especificar esses atributos para facilitar a identificação de usuários.

     

    OneLogin Parameters (1).png


    Observação: a inclusão de parâmetros pode não entrar em vigor imediatamente, já que o OneLogin realiza uma sincronização de parâmetro diariamente.

    5. Clique no campo "Groups" (Grupos):

    groups_field.png

    6. Marque a caixa "Include in User Provisioning" (Incluir no provisionamento de usuário) e salve:

    9_21.png

    7. Agora, após adicionar um usuário no OneLogin e configurar o grupo desse usuário como "Grupo de engenharia":

    10_21.png

    8. Depois que o usuário é adicionado ao aplicativo da Udemy Business e sincronizado, com base nessa regra, o usuário será adicionado ao grupo "Engenheiros" na sua conta da Udemy Business:

    11_21.png

     

    Ler artigo
  • Automatizar o gerenciamento de usuários e grupos usando SCIM

    A Udemy Business oferece suporte ao acesso de usuários e grupos e ao gerenciamento de identidades com o padrão System for Cross-domain Identity Management (SCIM). O SCIM é usado por serviços de SSO (Single Sign-On, Login único) e por provedores de identidade para gerenciar pessoas em diversos aplicativos e ferramentas, incluindo a Udemy Business.

    O SCIM pode ser uma boa opção para organizações que querem ampliar a escala e a segurança, bem como minimizar o atrito no gerenciamento de usuários para a Udemy Business.

    O que você pode fazer com SCIM:

    • Provisionar automaticamente licenças e acesso a usuários e grupo do seu provedor de identidade (provisionamento).
    • Desativar automaticamente usuários e grupos do seu provedor de identidade (desprovisionamento).
    • Reativar usuários que foram desprovisionados (desde que as informações de identificação pessoal do usuário não tenham sido anonimizadas).
    • Atualizar detalhes de usuários: nome, endereço de e-mail. 
    • Criar, remover ou editar grupos.
    • Gerenciar associação a grupos (quando usuários mudam de grupo).
    • Adicionar usuários em conjuntos de licenças
    • Atribuir licenças da Udemy Business Pro

    O que você não pode fazer com SCIM:

    • Excluir as informações de identificação pessoal (PII) do usuário via SCIM em qualquer provedor de identidade.
    • Sincronizar os dados da Udemy Business de volta no provedor de identidade.
    • Gerenciar funções (administrador, administrador de grupo, usuário).
    • Observação: os usuários provisionados por SCIM não vão receber um convite por e-mail gerado automaticamente para reivindicar a licença da Udemy Business, como aconteceria se eles fossem convidados manualmente pelo portal de gerenciamento de usuários da Udemy Business. Recomendamos que sua equipe de aprendizado envie um comunicado separadamente, explicando como eles podem acessar fazendo login pelo provedor de SSO. No entanto, os usuários que são reativados via SCIM vão receber um e-mail gerado automaticamente da Udemy informando que sua conta foi reativada.

    Assim que você realizar uma das ações aceitas acima, os dados ou as alterações serão automaticamente atualizados na Udemy Business.

    Principais pontos sobre a integração com SCIM para sua conta da Udemy Business

    • A configuração da sua integração SCIM pode variar dependendo do provedor de identidade utilizado. 
    • A Udemy Business é compatível com provisionamento SCIM para os principais provedores de identidade e serviços de SSO que oferecem gerenciamento de acesso e identidade.
    • O provisionamento SCIM está disponível para clientes do Plano Enterprise que usam SSO.
    • Os usuários provisionados por meio de SCIM no seu serviço de SSO não ocuparão uma licença até entrarem na Udemy Business ao fazerem login pela primeira vez. Quando os usuários são provisionados por meio de SCIM, mas ainda não fizeram o primeiro login, eles serão exibidos na página Todos os usuários, com o status Sem licença.
      • Para clientes que compraram licenças da Udemy Business Pro para todos os usuários, as licenças Pro serão atribuídas automaticamente quando os convites forem aceitos pelos usuários ou quando eles fizerem a autenticação via SSO/SCIM.
    •  Observação: quando o SCIM é ativado, a Udemy usa o protocolo SCIM para mapeamento do atributo por meio do SAML. Como groups não é um atributo de usuário do SCIM, ele não será enviado via SAML se você mapeou o atributo como parte de uma configuração apenas com SAML
    • Os tokens da API SCIM para a Udemy Business duram aproximadamente dois anos. Os administradores receberão uma notificação informando:

      • 30 dias antes da expiração do token
      • Após o token expirar

    Os usuários gerenciados via SCIM terão um rótulo SCIM em cinza ao lado do nome e do e-mail. Os usuários com o status SCIM provisionado não vão consumir uma licença ativa até que façam o primeiro login:

    Como ativar o provisionamento SCIM

    Para ativar o provisionamento SCIM na sua conta da Udemy Business, acesse sua conta e vá para Gerenciar > Configurações > Provisionamento (SCIM).

    Navegue até a seção Integração com SCIM. Em seguida, siga as instruções para ativar o SCIM, escolha seu provedor de identidade na lista suspensa e gere as credenciais (Nome de usuário e Senha ou token Segredo/Portador) que você precisará inserir no provedor de identidade como parte da configuração.

    provisioning_scim_start_setup.png

    Dependendo de qual provedor de identidade você usa, siga as instruções no guia apropriado abaixo para concluir a configuração do SCIM.

    Guia de configuração do Okta 

    Guia de configuração do Azure AD

    Guia de configuração do OneLogin

    Para outros IdPs ou suas próprias ferramentas, consulte o Guia de configuração da API SCIM da Udemy.

    Como desativar o provisionamento SCIM

    Para desativar o provisionamento SCIM na sua conta da Udemy Business (se você estiver mudando de provedor ou não precisar mais do SCIM), acesse Gerenciar > Configurações > Provisionamento (SCIM).

    Navegue até a seção Integração com SCIM, clique no link Desativar integração e siga as instruções para desativar o SCIM. Isso desativará a integração no lado da Udemy Business, mas sua equipe de TI precisará desativar a integração no lado do provedor de identidade também. 

    Você pode continuar usando a Udemy Business normalmente, mas agora precisará atualizar manualmente as informações de usuário e grupo dentro da plataforma.

    provisioning_scim_disable_integration.png

    Desprovisionar usuários com SCIM

    Os usuários da Udemy Business que forem desprovisionados do seu provedor de identidade serão desativados dentro da Udemy Business. Primeiro, implementamos essa "exclusão reversível" para que você possa preservar o histórico do aluno, caso precise reativar esses usuários posteriormente e para prevenir anonimização acidental e irreversível dos dados de um usuário. Se você quiser excluir permanentemente um usuário e todos os dados dele, siga as instruções abaixo:

    Excluir as PII de alunos gerenciados via SCIM

    Se você quiser desconectar um aluno do gerenciamento pelo seu IdP com SCIM, primeiro desprovisione o aluno no seu SSO Active Directory, para depois poder excluir as PII dele na sua conta da Udemy Business.

    Se você precisar gerenciar um aluno diretamente pela conta da Udemy Business e não pelo IdP com SSO, ou se não quiser excluir as PII dele, entre em contato com nossa equipe de suporte para obter ajuda.

    Ler artigo
  • Configurar o provisionamento SCIM com Okta

     

    Este guia apresenta as etapas necessárias que clientes existentes do Okta e da Udemy Business precisam seguir para configurar o provisionamento automático, o desprovisionamento, as atualizações de perfis e o gerenciamento de usuários e grupos da Udemy Business usando o System for Cross-domain Identity Management (SCIM 2.0).

    Se você já configurou o provisionamento SCIM e quer usar o novo aplicativo da Udemy Business, precisará migrar sua integração existente para autenticação com token de portador.

    Observações:

    • Se você já tiver habilitado o login do SSO para a Udemy Business no Okta, não precisará reconfigurar o SSO novamente.
    • Se alguém da sua equipe configurou o SSO a partir de uma configuração manual, você precisa adicionar o nosso novo aplicativo da Udemy Business na sua conta do Okta. Você o encontrará em Aplicativos quando procurar Udemy Business. Como essa é uma nova versão do nosso aplicativo no Okta, os clientes existentes podem precisar reconfigurar o Single Sign-On (SSO) antes de habilitar o provisionamento SCIM (veja as instruções passo a passo abaixo).
    • Os usuários provisionados pelo Okta não ocuparão uma licença ativa até fazerem login no aplicativo da Udemy Business pela primeira vez.
    • Os usuários e grupos gerenciados pelo SCIM somente podem ser alterados no Okta.
    • Quando o SCIM é ativado, a Udemy usa o protocolo SCIM para mapeamento do atributo por meio do SAML. Como groups não é um atributo de usuário do SCIM, ele não será enviado via SAML se você mapeou o atributo como parte de uma configuração apenas com SAML
    • Os tokens da API SCIM para a Udemy Business duram aproximadamente dois anos. Os administradores receberão uma notificação informando:
      • 30 dias antes da expiração do token
      • Após o token expirar

    Índice

    Recursos de provisionamento SCIM

    Os seguintes recursos de provisionamento do SCIM são compatíveis:

    • Provisionar usuários do Okta
      • Os usuários atribuídos ao aplicativo da Udemy Business no Okta serão provisionados na Udemy Business.
      • Observação: os usuários não vão receber um convite de e-mail gerado automaticamente se forem provisionados via SCIM no Okta.
    • Atualizações de perfil por Push
      • Atualizações feitas ao perfil do usuário por meio do Okta serão enviadas por push à Udemy Business para os usuários que estão associados com a Udemy Business no Okta.
    • Desativação de usuário por Push
      • Desativar o usuário ou desabilitar o acesso do usuário ao aplicativo por meio do Okta desativará o usuário na Udemy Business e o removerá de todos os grupos.
      • Observação: os dados de aprendizado dos usuários desativados serão retidos para fins de geração de relatórios ou reativação futura. Para excluir permanentemente um usuário desativado e gerenciado por SCIM, primeiro você precisa desfazer a conexão SCIM desse usuário, algo com que a Udemy Business pode ajudar.
    • Reativar usuários
      • Você pode reativar usuários na Udemy Business reatribuindo o aplicativo àquele usuário por meio do Okta.
      • Observação: os usuários reativados vão receber um e-mail gerado automaticamente da Udemy informando que foram reativados.
    • Push de grupo
      • Os grupos e seus associados serão enviados à Udemy Business por push.
      • Observação: o gerenciamento de grupos está limitado aos grupos enviados originalmente por push a partir do Okta, pois não enviamos informações de grupos criados na Udemy Business.
    • Importar usuários e grupos
      • Se você migrar para a o novo aplicativo da Udemy Business no Okta, poderá importar usuários e grupos da integração existente para sua nova integração.

    Os usuários gerenciados via SCIM terão um rótulo SCIM em cinza ao lado do nome e do e-mail. Os usuários com o status SCIM provisionado não vão consumir uma licença ativa até que façam o primeiro login:

     

    Antes de começar

    Se você não ativou o SSO para Okta ou se a nossa equipe configurou o SSO manualmente, siga estas etapas de configuração do Okta SSO primeiro.

    • Para evitar tempo de inatividade do SSO, oculte o bloco da Udemy Business no seu painel do Okta até que a configuração do SSO e do SCIM esteja concluída.
    • Ao lado de Visibilidade do aplicativo, clique em Não exibir ícone do aplicativo para os usuários.

    Etapas da configuração

    1. No aplicativo da Udemy Business, selecione a guia Geral e preencha estes campos:

    • Subdomínio: seu nome de domínio da Udemy Business
    • Domínio: udemy.com
    • URI de público (ID de entidade do SP): PingConnect.

    2. Na guia Provisionamento, clique em Configurar integração de API.

    configure_api_integration.png

    3. Selecione Ativar integração de API e adicione o token da API.

    Você pode gerar ou visualizar o token da API na sua conta da Udemy Business navegando até Gerenciar > Configurações > Provisionamento (SCIM) 

     

     4. Clique em Testar credenciais da API e você verá uma mensagem indicando que concluiu com sucesso sua integração com o SSO. Caso contrário, envie uma mensagem à equipe de suporte da Udemy Business informando a mensagem de erro que foi exibida.

    5. Clique em Salvar e você acessará a página de configuração Provisionamento do aplicativo.

    6. Em Settings (Configurações) > To App (Para aplicativo), clique em Edit (Editar) para habilitar os recursos individuais. 

    Para usar todos os recursos, recomendamos habilitar as opções Create Users (Criar usuários), Update User Attributes (Atualizar atributos de usuários) e Deactivate Users (Desativar usuários). Clique em Save (Salvar).

    provisioning_to_app_save.png

     

    provisioning_to_app_edit.png

    7. (Opcional) Atributos de perfil: na conta do Okta, navegue até Directory (Diretório) > Profile Editor (Editor de perfil) > Nome do seu aplicativo. 

    8. Na página Profile Editor (Editor de perfil), clique em Add Attribute (Adicionar atributo)

    9. Na página Add Attribute (Adicionar atributo), preencha estes campos com os seguintes atributos: 

    Nome do atributo Tipo de dados Nome de exibição Nome da variável Nome externo Namespace externo eNUM
    licenseTypes
    matriz de strings Tipos de licença licenseTypes licenseTypes urn:ietf:params:scim:schemas:extension:udemy:2.0:User Ativado
    licensePoolName
    string Nome do conjunto de licenças licensePoolName licensePoolName urn:ietf:params:scim:schemas:extension:udemy:2.0:User  
    externalId
    string ID externo da Udemy UdemyExternalId externalId urn:ietf:params:scim:schemas:core:2.0:User  
    employeeNumber
    string employeeNumber employeeNumber employeeNumber urn:ietf:params:scim:schemas:extension:enterprise:2.0:User  
    título
    string título Udemytitle título urn:ietf:params:scim:schemas:core:2.0:User  

    10. Clique em Add Attribute (Adicionar atributo) ou Save and Add Another (Salvar e adicionar outro).

    Após adicionar seu atributo, você deve ver algo parecido com isso adicionado ao perfil:

    Atribuir usuários a um conjunto de licenças

    Para atribuir um usuário a um conjunto de licenças:

    1. No lado esquerdo da página de administração do Okta, navegue até Application (Aplicativo) → Applications (Aplicativos).

    2. Selecione seu aplicativo.

    3. Acesse a guia Assignments (Atribuições).

    4. Clique em Assign (Atribuir) e clique em Assign to People (Atribuir a pessoas) ou Assign to Groups (Atribuir a grupos).

    5. Insira os atributos para aquele usuário ou grupo.

    Atributos do usuário:

    Atributos do grupo:

    6. Clique em Save and Go Back (Salvar e voltar).

    Agora você adicionou usuários ou grupos com atributos de nome do conjunto de licenças, e os usuários serão atribuídos ao conjunto específico que você mencionou.

    7. Navegue até a guia Assignments (Atribuições) para atribuir a Udemy Business a usuários únicos ou a grupos inteiros. 

    Os usuários atribuídos serão automaticamente provisionados após serem adicionados, modificados quando ocorrerem alterações em seus perfis e desativados quando forem removidos das atribuições.

    8. Navegue até a guia Push Groups (Grupos por Push) para enviar grupos e as informações de seus participantes para a Udemy Business.

    push_groups_to_ub.png

    9. Clique em + Push Groups (+ Grupos por Push) e selecione os grupos que você quer enviar à Udemy Business por push.

    Você poderá selecionar cada grupo ou criar uma regra automática.

    find_groups_ub.png

    10. Selecione os critérios de pesquisa do grupo e preencha as informações solicitadas para os grupos que você quer enviar para a Udemy Business.

    push_groups_by_name.png

    11. Após selecionar o grupo, marque Push group memberships immediately (Enviar participantes do grupo por push imediatamente) para enviar não apenas o grupo, mas também seus participantes assim que você selecionar o grupo, e clique em Save (Salvar).

    12. Repita as etapas anteriores para selecionar todos os grupos que você deseja enviar à Udemy Business.

    Observação: a Udemy Business não permitirá mudanças a usuários ou grupos gerenciados por SCIM após a configuração.

     

    Migrar uma integração existente para token de portador e ativar o uso do novo aplicativo da Udemy Business no Okta

    Se você já configurou o provisionamento SCIM com Okta e quer usar o aplicativo da Udemy Business no Okta, precisará migrar para autenticação com token de portador primeiro. Siga as etapas abaixo para migrar sua integração.

    Etapa 1: gerar um token na Udemy Business 

    1. Na sua conta da Udemy Business, acesse Gerenciar > Configurações > Provisionamento (SCIM).

    Se você já tem uma integração com Okta baseada em nome de usuário/senha, verá essas credenciais no painel.

    2. Clique em Gerar token, e você verá um modal para confirmar que deseja gerar um token de portador para integração SCIM.

    • Após confirmar, suas credenciais anteriores não serão mais visíveis para Provisionamento SCIM, mas ainda continuarão válidas para outras integrações existentes (por exemplo, LMS, APIs públicas para atividade de aprendizado e assim por diante). 

    Resultados 

    Após gerar, uma mensagem de sucesso será exibida, e o token de portador vai aparecer na página Provisionamento SCIM. Você pode clicar em Copiar para copiar o token de portador para a configuração do Okta. 

    Após atualizar a página, a mensagem de sucesso desaparecerá, e a opção suspensa mudará de Okta (Legado) para Okta.

    Etapa 2: atualizar a integração no Okta

    Para concluir a migração, você precisa atualizar a integração no Okta. 

    1. Na sua conta de administrador do Okta, navegue até Applications (Aplicativos) > Application (Aplicativo) > Browse App Catalog (Explorar catálogo de aplicativos) e procure por Udemy Business.

    2.  Adicione a integração e preencha os detalhes, incluindo Subdomain (Subdomínio), Domain (Domínio) e Audience URI (SP Entity ID) [URI de público (ID de entidade do SP)]


     

    3. Na guia Provisioning (Provisionamento), clique em Enable API integration (Ativar integração de API)

    4. Quando solicitado a informar o API Token (Token da API), cole o token de portador que você copiou da Udemy Business.

    5. Clique em Test API Credentials (Testar credenciais da API) para testar a conexão. 

    Se o teste for bem-sucedido, você pode clicar em Save (Salvar).

    Testar credenciais da API

    6. Na guia Provisioning (Provisionamento), navegue até Settings (Configurações) > To App (Para aplicativo) e verifique se todos os tipos de provisionamento estão ativados: 

    • Create Users (Criar usuários)
    • Update User Attributes (Atualizar atributos do usuário)
    • Deactivate Users (Desativar usuários)

    Observação: após concluir essa etapa, todas as alterações feitas nesse novo aplicativo da Udemy Business afetarão seu provisionamento na Udemy Business.

    Provisioning to App.png

     

    Resultados

    Sua integração básica do novo aplicativo da Udemy Business está concluída. 

    Etapa 3: gerenciar seu aplicativo antigo do Udemy Business 

    Após criar a nova integração, você deve escolher entre estas duas opções:

    Opção 1: desativar a integração antiga

    • Pró: haverá uma única fonte de verdade, e você terá certeza de que quaisquer alterações feitas na nova integração permanecerão.
    • Contra: seus usuários não poderão mais fazer login por meio do SSO na Udemy Business.

    Opção 2: manter a integração ativa como está 

    • Pró: não haverá tempo de inatividade para usuários que estão usando a Udemy Business.
    • Contra: se alguém fizer alterações na integração antiga, elas vão sobrescrever a nova integração. Você terá que gerenciar a transição com cuidado e avisar aos outros administradores para não fazer alterações em usuários ou grupos na integração antiga

    Etapa 4: importar usuários para a nova integração 

    Você tem duas opções para importar usuários para a nova integração: 

    • Importação automática
    • Revisar e importar manualmente 

    O tempo necessário para a importação dependerá do número de usuários no aplicativo e pode variar de alguns segundos a vários minutos. 

    Opção 1: importação automática dos usuários

    Para importar usuários automaticamente: 

    1. Navegue até a guia Provisioning (Provisionamento) do novo aplicativo da Udemy Business.
    2. No lado esquerdo, selecione To Okta (Para Okta).
    3. Na configuração User Creation & Matching (Criação e correspondência de usuário), você verá as opções para importar automaticamente e confirmar as atribuições para você:
      • O usuário importado é uma correspondência exata ao usuário do Okta se:
        • Selecione Email matches (O e-mail corresponde)
      • Permitir correspondências parciais:
        • Selecione Partial match on first and last name (Correspondência parcial em nome e sobrenome)
      • Confirmar usuários correspondentes:
        • Selecione Auto-confirm exact matches (Confirmar automaticamente correspondências exatas)
        • Selecione Auto-confirm partial matches (Confirmar automaticamente correspondências parciais)
      • Em Confirm new users (Confirmar novos usuários):
        • Selecione Auto-confirm new users (Confirmar automaticamente novos usuários)

    User Creation and Matching

    4. Clique em Save (Salvar).

    5. No aplicativo da Udemy Business, navegue até a guia Importar.

    6. Clique em Importar agora.

    Auto Import Groups

    Opção 2: revisar e importar manualmente 

    Para importar usuários manualmente:

    1. No aplicativo da Udemy Business, navegue até a guia Importar.
    2. Clique em Importar agora.

    Etapa 5: importar grupos para a nova integração 

    Observação: você precisa adicionar todos os usuários para a nova integração antes de começar a adicionar grupos.

    Para importar grupos para a nova integração:

    1. No novo aplicativo da Udemy Business, navegue até a guia Grupos por Push

    2. Clique em Atualizar grupos do aplicativo.

    3. Selecione Grupos por Push > Encontrar grupos por nome.

    Push groups to Udemy Business

     4. No lado esquerdo, clique em Por nome e use a opção Vincular grupo.

    Link group

    5. Clique em Salvar ou Salvar e adicionar outro e repita o mesmo processo para os outros grupos.

    Ler artigo
  • Configurar o provisionamento SCIM com a API SCIM da Udemy

    Visão geral

    O Sistema para gerenciamento de identidade entre domínios (SCIM) é uma API padrão para automatizar o provisionamento/desprovisionamento de usuário e grupo, bem como atualizar os dados de usuário e grupo a partir do Provedor de identidade (IdP) do cliente na conta da Udemy Business.O SCIM é compatível com diversos provedores de identidade, como Okta, Azure AD e OneLogin. Você também pode usar a API SCIM da Udemy Business para outros IdPs ou ferramentas internas.

    Se a sua organização usa um dos seguintes IdPs, consulte nossos guias abaixo sobre a configuração do SCIM:

    O SCIM usa uma API REST padrão com dados formatados em JSON. A Udemy Business é compatível com a versão 2.0 do SCIM padrão. A API está disponível para todos os clientes do plano Enterprise.

    A API SCIM da Udemy Business é compatível com os seguintes recursos:

    • Provisionar usuários
    • Desprovisionar usuários (desativação)
    • Alterar endereços de e-mail
    • Alterar detalhes do usuário
    • Provisionar grupos
    • Atribuir licenças
    • Atribuir usuários para conjuntos de licenças
    • Adicionar/remover usuários de grupos

    Observação: os tokens da API SCIM para a Udemy Business duram aproximadamente dois anos. Os administradores receberão uma notificação informando:

    • 30 dias antes da expiração do token
    • Após o token expirar

    Descrição do protocolo SCIM

    O protocolo SCIM é um protocolo REST no nível da aplicação para provisionar e gerenciar dados de identidade na web. O protocolo é cliente-servidor, onde o cliente é o provedor de identidade (IdP) e o servidor é a Udemy Business.

    O fluxo básico é o seguinte:

    • Quando o acesso à Udemy Business é concedido ao usuário no IdP pelo cliente, o IdP nos envia uma solicitação para verificar se o usuário específico existe no nosso banco de dados. Ele emite uma solicitação de busca de usuário por um atributo como userName ou email.
    • Se o usuário não existe, o IdP envia uma solicitação para criar um usuário.
    • Se o usuário existe, o IdP envia uma solicitação de atualização para o usuário.
    • Quando o acesso à Udemy Business é revogado, o IdP envia uma solicitação para desativar o usuário do nosso banco de dados.
    • O IdP também pode enviar solicitações de alteração dos detalhes do usuário.

    Como acessar a API?

    Para obter as credenciais de autorização para conectar à API SCIM, você deverá configurar a integração do SCIM na página Gerenciar -> Configurações -> Provisionamento (SCIM) da sua conta da Udemy Business. Observação: apenas administradores têm acesso a essa página.

    Clique em Iniciar configuração.

    provisioning_scim.png

    Na próxima etapa, selecione Escolher provedor, depois Personalizado.

    select_provider.png

    Clique em Gerar token.

    generate_token.png

    Nessa tela, clique em Copiar para copiar o token do portador para a área de transferência.

    copy_bearer_token.png

     

    Você deverá incluir o cabeçalho HTTP Authorization com o token do portador nas suas solicitações, por exemplo:

    GET /scim/v2/Users HTTP/1.1
    Host: myorganization.udemy.com
    Accept: application/scim+json
    Authorization: Bearer <enter you Bearer token here>
    Content-Type: application/scim+json

    A API SCIM da Udemy Business usa o protocolo HTTP e está disponível apenas via uma conexão HTTPS segura.

    O URL básico da API é: https://<yoursubdomain>.udemy.com/scim/v2/.

    Se você estiver desenvolvendo uma aplicação para interagir com a API SCIM da Udemy Business, é recomendável consultar os SCIM RFCs incluídos ao fim deste documento. A implementação da API SCIM da Udemy Business está em conformidade com o padrão.

    Limite de taxas

    A Udemy Business aplica limite de taxas à API SCIM de acordo com o protocolo padrão de limite de taxa HTTP. Se a sua solicitação sofrer limite de taxa, você receberá uma resposta HTTP 429 e precisará esperar e tentar novamente conforme o especificado no cabeçalho Retry-After.

    Endpoints da API SCIM

    Endpoints informacionais

    Esses endpoints são informativos e servem para configurar os clientes. Eles não exigem autenticação, então não é preciso incluir o cabeçalho Authorization ao acessá-los.

    GET /ServiceProviderConfig

    Retorna detalhes sobre a implementação do SCIM da Udemy Business, incluindo quais métodos são compatíveis.

    GET /Schemas

    Retorna informações sobre os esquemas compatíveis com nossa implementação de SCIM. Os esquemas compatíveis são Users e Groups.

    GET /Schemas/Users

    Retorna todos os atributos compatíveis para os recursos User.

    GET /Schemas/Groups

    Retorna todos os atributos compatíveis para os recursos Group.

    Endpoints de usuário

    Usando esses endpoints, é possível listar usuários, filtrar por atributos, adicionar novos usuários, atualizar informações de usuários ou desativar/anonimizar usuários.

    Se a API SCIM não retornar todos os usuários, entre em contato com o suporte da Udemy Business.

    Atributos compatíveis

     

    Atributo SCIM Obrigatório? Descrição
    emails[type=”work”]]['value’]
    Sim E-mail do usuário. Deve ser exclusivo.
    userName
    Sim O userName do IdP. Deve ser exclusivo.
    ativo
    Sim Sinaliza a desativação/reativação de usuários
    externalId
    Sim O externalId do usuário do IdP. Deve ser exclusivo.
    urn:ietf:params:scim:schemas:extension:
    enterprise:2.0:User:employeeNumber
    Sim Retorna o campo employeeNumber de EnterpriseSchema e o armazena como external_id field.
    costCenter
    Não O nome ou código que identifica o centro de custo do usuário.
    department
    Não O nome do departamento ao qual o usuário pertence.
    division
    Não O nome da divisão à qual o usuário pertence.
    name.givenName
    Não Nome próprio de um usuário. Embora não seja obrigatório, recomendamos sempre especificar esses atributos para facilitar a identificação de usuários.
    name.familyName
    Não Sobrenome de um usuário. Embora não seja obrigatório, recomendamos sempre especificar esses atributos para facilitar a identificação de usuários.
    name, { givenName, familyName }
    Não Nome e sobrenome do usuário. Embora não seja obrigatório, recomendamos sempre especificar esses atributos para facilitar a identificação de usuários.
    título
    Não Cargo do usuário, por exemplo, "Engenheiro sênior"
    licenseTypes
    Não

    Uma lista separada por vírgula dos tipos de licença. 

    Valores aceitos:

    • Enterprise
    • Enterprise, Pro
       
    licensePoolName
    Não Nome do conjunto de licenças.
    manager.value (se o gerenciador for um objeto)
    else manager (se gerenciador contiver o valor diretamente)
    Não




     

    O id do SCIM do gerente do usuário.

    organization
    Não O nome da organização à qual o usuário pertence.


    Observação: se você especificar qualquer outro atributo que não esteja nessa lista, ele será ignorado.

    GET /Users

    Retorna uma lista paginada de usuários, 12 usuários por página como padrão. Você pode passar os parâmetros

    count 

    e

    startIndex 

    para paginar o conjunto de resultados. Por exemplo:

    GET /scim/v2/Users?startIndex=1&count=100 HTTP/1.1

     Host: myorganization.udemy.com

     Accept: application/scim+json

     Authorization: Bearer <enter you Bearer token here>
    startIndex
    • é o índice baseado em 1 do primeiro resultado no conjunto atual de resultados (compensação)
    • count

      é o número de recursos retornados em uma página de resposta de lista (limite). Até 1.000 usuários podem ser recuperados em uma única solicitação. Se esse item for omitido, o padrão será 12.

    Exemplo de solicitação

    GET https://demo.udemy.com/scim/v2/Users 
    {
    "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 18,
    "startIndex": 1,
    "Resources": [
    {
    "id": "KwLzN3",
    "externalId": "00u3mlhj4x1E482sK5d7",
    "userName": "firstName.lastName@domain.com",
    "name": {
    "givenName": "firstName",
    "familyName": "lastName",
    "formatted": "firstName lastName"
    },
    "emails": [
    {
    "value": "firstName.lastName@domain.com",
    "type": "work",
    "primary": true
    }
    ],
    "title": "",
    "active": true,
    "groups": [
    {
    "value": "NZOaw",
    "display": "Group Test",
    "$ref": "https://demo.udemy.com/scim/v2/Groups/NZOaw"
    },
    {
    "value": "dn1K8",
    "display": "NewGroup2",
    "$ref": "https://demo.udemy.com/scim/v2/Groups/dn1K8"
    }
    ],
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "meta": {
    "resourceType": "User",
    "location": "https://demo.udemy.com/scim/v2/Users/KwLzN3",
    "created": "2022-01-19T01:11:59Z",
    "lastModified": "2024-11-22T21:58:48Z"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "64e63"
    }
    },
    [...]
    ],
    "itemsPerPage": 12
    }

     

    GET /Users?filter=

    Esse endpoint é usado para filtrar usuários por atributos específicos. Por exemplo, é possível pesquisar pelo atributo userName:

    GET /Users?filter=userName eq "example..name

    Observação: no exemplo acima, você precisará fazer a codificação URL dos parâmetros, para que o URL seja:

    GET /Users?filter=userName%20eq%20%22example.name%22

    Isso retornará uma lista de recursos do usuário. Se não houver resultados, uma lista vazia será exibida.

    GET Users?filter=groups.value eq "{SCIM_Group_ID}"

    Isso retornará todos os usuários que pertencem a esse grupo SCIM

    Os filtros compatíveis são:

    userName
    externalID
    emails[type eq=”work”]
    groups

    Os operadores compatíveis são:

    and
    eq

    Resposta:

    • Código 200 do status HTTP com a lista de entidades em sucesso
    • Código 501 do status HTTP se um filtro incompatível for fornecido
    POST /Users

    Esse endpoint é usado para criar (provisionar) novos usuários na Udemy Business.

    A resposta conterá um atributo

    id 

    que deve ser usado ao referir esse usuário em todas as solicitações subsequentes.

    Observação:

    • Novos usuários criados dessa maneira não consumirão uma licença até que ele faça login pela primeira vez.
    • Se havia um convite pendente para usuário, ele será usado nesse momento. 
      O usuário será adicionado a grupos e atribuído à função/às tarefas de curso adequadas de acordo com o que estiver especificado no convite.
    • Uma tentativa de criar um usuário que já existe na Udemy Business fará com que o usuário se torne gerenciado pelo SCIM (ele será exibido com um pequeno ícone de link na página Gerenciar usuários). O status e o uso de licença do usuário não serão alterados. Se o usuário estava ativo, ele permanecerá assim, e se o usuário estava desativado, ele continuará desativado.

    Exemplo de solicitação

     

    POST https://demo.udemy.com/scim/v2/Users 
    {
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "active": true,
    "emails": [
    {
    "primary": true,
    "type": "work",
    "value": "demo.user@test.com"
    }
    ],
    "externalId" : "externalIdValue",
    "meta": {
    "resourceType": "User"
    },
    "userName": "DemoTest",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "externalIdValue"
    },
    "name": {
    "familyName": "Test",
    "formatted": "formatted",
    "givenName": "Demo"
    }
    }

    Exemplo de resposta

    {
    "id": "MPD698",
    "name": {
    "givenName": "Demo",
    "familyName": "Test",
    "formatted": "Demo Test"
    },
    "emails": [
    {
    "value": "demo.user@test.com",
    "type": "work",
    "primary": true
    }
    ],
    "title": "",
    "active": true,
    "groups": [],
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "meta": {
    "resourceType": "User",
    "location": "https://demo.udemy.com/scim/v2/Users/MPD698",
    "created": "2024-12-27T22:00:25Z",
    "lastModified": "2024-12-27T22:00:26Z"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "externalIdValue"
    },
    "userName": "DemoTest",
    "externalId": "externalIdValue"
    }
     

     

    Resposta:

    • Código 201 do status HTTP e o recurso do usuário em sucesso
    • Código 409 do status HTTP se o membro com o mesmo userName já existe na Organização
    • Código 400 do status HTTP com os detalhes do erro no corpo da resposta se a solicitação não foi aprovada na validação
    GET /Users/<id>

    Esse endpoint é usado para recuperar detalhes de um usuário especificado. O parâmetro

    id

    na solicitação acima é um identificador exclusivo que retornou quando o usuário foi criado usando o SCIM ou ao listar todos os usuários existentes.

    Resposta:

    • Código 200 do status HTTP com o recurso do usuário em sucesso
    • Código 404 do status HTTP se o usuário não foi encontrado
    PUT /Users/<id>

    Esse endpoint é usado para substituir (sobrescrever) os detalhes do usuário na Udemy Business. Se especificado, o atributo active pode ser usado para desativar ou reativar o usuário.

    Exemplo de solicitação:

    PUT https://demo.udemy.com/scim/v2/Users/MPD698
    {
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "id": "MPD698",
    "userName": "demo.user@test.com",
    "externalId": "NewExternalID",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "NewExternalID"
    },
    "name": {
    "givenName": "demo",
    "familyName": "user"
    },
    "emails": [
    {
    "value": "demo.user@test.com",
    "type": "work",
    "primary": true
    }
    ],
    "active": true
    }

    Exemplo de resposta

    {
    "id": "MPD698",
    "name": {
    "givenName": "demo",
    "familyName": "user",
    "formatted": "demo user"
    },
    "emails": [
    {
    "value": "demo.user@test.com",
    "type": "work",
    "primary": true
    }
    ],
    "title": "",
    "active": true,
    "groups": [],
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "meta": {
    "resourceType": "User",
    "location": "https://demo.udemy.com/scim/v2/Users/MPD698",
    "created": "2024-12-27T22:00:25Z",
    "lastModified": "2024-12-27T22:17:52Z"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "NewExternalID"
    },
    "userName": "demo.user@test.com",
    "externalId": "NewExternalID"
    }
     

     

    Resposta:

    • Código 200 do status HTTP e recurso do usuário atualizado
    • Código 404 do status HTTP se o usuário não existe.
    • Código 400 do status HTTP em caso de tentativa de desativação de um proprietário da organização.
    PATCH /Users/<id>

    Esse endpoint é usado para fazer atualizações parciais nos detalhes do usuário em nosso sistema, ou seja, você pode usar para alterar apenas alguns atributos do usuário. Ele é oposto ao PUT, que substitui todo o usuário.

    Pode conter o atributo active, que fará com que o usuário seja desativado ou reativado.

    • O corpo de cada solicitação DEVE conter o atributo "schemas" com o valor URI de "urn:ietf:params:scim:api:messages:2.0:PatchOp".
    • O corpo de uma solicitação HTTP PATCH DEVE conter o atributo "Operations", cujo valor é uma matriz de uma ou mais operações PATCH.Cada objeto de operação PATCH DEVE conter exatamente um membro "op", cujo valor indica a operação a ser realizada e PODE ser "add", "remove" ou "replace".
    • O atributo "path" pode estar vazio. Nesse caso, "value" deve ser um dicionário no formato {"path": "value"}.

    Exemplo de solicitação

    PATCH https://demo.udemy.com/scim/v2/Users/MPD698 
    {
    "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
    {
    "op": "replace",
    "path": "userName",
    "value": "DemoUserName"
    }
    ]
    }

    Exemplo de resposta

    {
    "id": "MPD698",
    "name": {
    "givenName": "demo",
    "familyName": "user",
    "formatted": "demo user"
    },
    "emails": [
    {
    "value": "demo.user@test.com",
    "type": "work",
    "primary": true
    }
    ],
    "title": "",
    "active": true,
    "groups": [
    {
    "value": "5ypNz",
    "display": "NewGroup",
    "$ref": "https://demo.udemy.com/scim/v2/Groups/5ypNz"
    }
    ],
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "meta": {
    "resourceType": "User",
    "location": "https://demo.udemy.com/scim/v2/Users/MPD698",
    "created": "2024-12-27T22:00:25Z",
    "lastModified": "2024-12-27T22:17:52Z"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "NewExternalID"
    },
    "userName": "DemoUserName",
    "externalId": "NewExternalID"
    }
     

    Resposta:

    • Código 200 do status HTTP com o recurso do usuário atualizado em sucesso
    • Código 404 do status HTTP se o usuário não foi encontrado
    • Código 400 do status HTTP se há a tentativa de desativar um proprietário da organização ou em caso de uma operação inválida.

    Endpoints do grupo

    Atributos compatíveis

    Atributo SCIM Obrigatório? Descrição
    displayName 
    Sim Título do grupo. Deve ser exclusivo dentre todos os grupos da Udemy Business.
    externalId
    Não O externalId do grupo do provedor de identidade

    Observação: se você especificar qualquer outro atributo que não esteja nessa lista, ele será ignorado.

    GET /Groups

    Esse endpoint é usado para obter uma lista paginada de todos os grupos provisionados. Inclua os parâmetros da cadeia de consulta startIndex e count para paginar os resultados.

    Lembre-se de que apenas grupos criados usando o SCIM serão retornados. Os grupos criados na Udemy Business não aparecerão.

    Exemplo de solicitação

    GET https://demo.udemy.com/scim/v2/scim/v2/Groups
     "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 6,
    "startIndex": 1,
    "Resources": [
    {
    "id": "NZOaw",
    "displayName": "Group Test",
    "members": [
    {
    "value": "KwLzN3",
    "display": "firstName lastName",
    "type": "User",
    "$ref": "https://demo.udemy.com/scim/v2/Users/KwLzN3"
    },
    {
    "value": "eBmzpr",
    "display": "user four",
    "type": "User",
    "$ref": "https://demo.udemy.com/scim/v2/Users/eBmzpr"
    }
    ],
    "externalId": null,
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "meta": {
    "resourceType": "Group",
    "location": "https://demo.udemy.com/scim/v2/Groups/NZOaw",
    "created": "2024-08-23T22:26:48Z",
    "lastModified": "2024-08-23T22:26:48Z"
    }
    },
    [...]
    ],
    "itemsPerPage": 12
    }
    GET /Groups?filter=

    Esse endpoint é usado para filtrar grupos por atributos específicos. Por exemplo, é possível pesquisar pelo atributo displayName:

    GET /Groups?filter=displayName eq "Marketing”

     

    Isso retornará uma lista de recursos do grupo. Se não houver resultados, uma lista vazia será exibida.

    Você precisará fazer a codificação URL dos parâmetros, para que a solicitação seja:

    GET /Groups?filter=displayName%20eq%20%22Marketing%22

    Os filtros compatíveis são:

    displayName
    externalId
    Id
    member.value

    Os operadores compatíveis são:

    and
    eq

    Resposta:

    • Código 200 do status HTTP com a lista de entidades em sucesso
    • Código 501 do status HTTP se um filtro incompatível for usado
    POST /Groups

    Esse endpoint é usado para criar (provisionar) novos grupos na Udemy Business. 

    Resposta:

    • Código 409 do status HTTP se o grupo provisionado com o mesmo nome já existe na organização, o 409 (Conflito) será exibido com um código de erro scimType de uniqueness.
    • Quando o grupo for criado com sucesso, retornaremos a representação completa do grupo com o código 201 do status HTTP (Criado) juntamente com o cabeçalho Location que contém o URL do recurso de criação do grupo.
    GET /Groups/<id>

    Esse endpoint é usado para obter os detalhes do grupo da Udemy Business.

    Resposta:

    • Código 200 do status HTTP e um recurso de grupo
    • Código 404 do status HTTP se o grupo não foi encontrado
    POST /Groups

    Esse endpoint é usado para criar (provisionar) novos grupos na Udemy Business.

    Aviso: ao usar o endpoint POST ou PUT/scim/v2/Groups para criar grupos, não inclua o atributo members na solicitação. Quaisquer membros especificados serão ignorados. Para adicionar usuários a um grupo, primeiro crie o grupo, depois faça chamadas separadas para PATCH /scim/v2/Groups/ 

    Exemplo de solicitação

    https://demo.udemy.com/scim/v2/Groups 
    {
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "displayName": "Group1",
    "externalId": "234523"
    }

    Exemplo de resposta

    {
    "id": "vREOw",
    "displayName": "Group1",
    "members": [],
    "externalId": "234523",
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "meta": {
    "resourceType": "Group",
    "location": "https://demo.udemy.com/scim/v2/Groups/vREOw",
    "created": "2025-01-15T22:24:54Z",
    "lastModified": "2025-01-15T22:24:54Z"
    }
    }
     
    PUT /Groups/<id>

    Esse endpoint é usado para substituir os detalhes do grupo da Udemy Business.

    Aviso: ao usar o endpoint POST ou PUT/scim/v2/Groups para criar grupos, não inclua o atributo members na solicitação. Quaisquer membros especificados serão ignorados. Para adicionar usuários a um grupo, primeiro crie o grupo, depois faça chamadas separadas para PATCH /scim/v2/Groups/ 

    Exemplo de solicitação

    PUT https://demo.udemy.com/scim/v2/Groups/vREOw 
    {
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "displayName": "Group1",
    "externalId": "MPD699"
    }

    Exemplo de resposta

    {
    "id": "vREOw",
    "displayName": "Group1",
    "members": [],
    "externalId": "MPD699",
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "meta": {
    "resourceType": "Group",
    "location": "https://demo.udemy.com/scim/v2/Groups/vREOw",
    "created": "2025-01-08T21:12:53Z",
    "lastModified": "2025-01-15T22:35:55Z"
    }
    }

    Resposta:

    • Código 200 do status HTTP e recurso do grupo atualizado
    • Código 404 do status HTTP se o grupo não existe.
    •  
    PATCH /Groups/<id>

    Esse endpoint é usado para fazer atualizações parciais nos detalhes do grupo da Udemy Business.

    O endpoint PATCH é mais complicado que outros, pois é compatível com diferentes tipos de operação (e é possível fazer combinações):

    Exemplo de solicitação

    PATCH https://demo.udemy.com/scim/v2/Groups/5ypNz 
    { "schemas": 
    ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    "Operations":[
    {
    "op":"add",
    "path": "members",
    "value":[{
    "display": "demo user",
    "$ref":"https://demo.udemy.com/scim/v2/Users/MPD698",
    "value": "MPD698"
    }
    ]
    }
    ]
    }

    Exemplo de resposta

    204 No Content
    • replace operação que altera o valor especificado. No nosso caso, é o nome ou membros do grupo.
    • remove operação que remove um membro do grupo.
    • add operação que adiciona membros ao grupo.

    As regras são as seguintes:

    • Nunca removemos membros não provisionados do grupo (no caso da operação de membros "replace", por exemplo).
    • A solicitação PATCH, independentemente do número de operações, DEVERÁ ser considerada atômica.

    As validações de entrada são as seguintes:

    • O corpo de cada solicitação DEVE conter o atributo "schemas" com o valor URI de "urn:ietf:params:scim:api:messages:2.0:PatchOp".
    • O corpo de uma solicitação HTTP PATCH DEVE conter o atributo "Operations", cujo valor é uma matriz de uma ou mais operações PATCH.Cada objeto de operação PATCH DEVE conter exatamente um membro "op", cujo valor indica a operação a ser realizada e PODE ser "add", "remove" ou "replace".
    • O atributo "path" pode estar vazio. Nesse caso, "value" deve ser um dicionário no formato {"path": "value"}.
    • Para a operação "Remove", o caminho "members" é obrigatório.
    • Para a operação "Add", os caminhos "members" ou "externalId" devem estar presentes.
    • Para a operação "Replace", o caminho "members" pode estar presente. Se não estiver, significa que vamos substituir os detalhes do grupo (como o nome do grupo), mas não os membros.

    Observação:

    • A atribuição/o cancelamento de atribuição de usuários a um grupo ocorre de maneira assíncrona, então as mudanças não serão refletidas imediatamente na Udemy Business.
    • Não oferecemos compatibilidade com grupos aninhados, então eles serão ignorados durante essa solicitação.

    Resposta:

    • Código 204 do status HTTP se a operação foi bem sucedida.
    • Código 404 do status HTTP se o grupo não existe.
    • Código 404 do status HTTP com os detalhes do erro se houve uma tentativa de atribuir um usuário que não é membro da organização a um grupo.
    • Código 400 do status HTTP com os detalhes do erro no corpo da resposta se a solicitação não foi aprovada na validação
    DELETE /Groups/<id>

    Esse endpoint é usado para remover ou desprovisionar um grupo na Udemy Business.

    As regras são as seguintes:

    • Se o grupo contém membros não provisionados, remova os usuários provisionados do grupo, exclua o registro "OrganizationSCIMGroup".

    Resposta:

    • Código 204 do status HTTP se a operação foi bem sucedida.
    • Código 404 do status HTTP se o grupo não existe.

    Leia mais

    Ler artigo
  • Como usar domínios de e-mail aprovados para oferecer acesso de autoatendimento aos usuários da Udemy Business

    Temos duas maneiras para conceder aos usuários acesso à sua conta da Udemy Business: por Single Sign-on (SSO) ou envio de convite pelos administradores/administradores de grupo.

    Esse recurso é uma opção adicional se você usar o processo de convite, com o qual os usuários terão uma maneira de acionar por conta própria o convite por e-mail a partir da página de destino da sua conta (por exemplo, company.udemy.com), usando um domínio de endereço de e-mail aprovado/verificado que você, o administrador, predefiniu.

    Como aprovar um domínio de endereço de e-mail

    Na página Configurações, em Acesso do domínio de e-mail, os administradores podem especificar um domínio (ou vários) de endereço de e-mail aprovado para acessar a sua conta da Udemy Business.

    settings_email_domain_access.png

    Esse recurso está disponível para os planos Team e Enterprise, mas a configuração do domínio de e-mail aprovado na página Acesso do domínio de e-mail só pode ser acessada por proprietários e administradores, não por administradores de grupo.

    Compartilhar o URL da página inicial da sua conta para os usuários se inscrevem

    Você pode compartilhar o URL da página de destino da sua conta da Udemy Business com os usuários e grupos na organização que devem ter acesso, por exemplo, via Slack, e-mail, wiki, intranet ou simplesmente adicionando o link no seu sistema de gestão de aprendizado (LMS).

    Quando um usuário acessar o URL da página de destino da sua conta, ele poderá informar o endereço de e-mail e se inscrever, caso o endereço informado corresponda a um domínio aprovado predefinido pelo administrador.

    Observação: para manter uma plataforma segura e confiável, exigimos a validação do e-mail ao se inscrever em uma nova conta. Se você tiver problemas, consulte as etapas de resolução de problemas.

    UB_login.jpg

    Depois de inserir o endereço de e-mail aprovado, ele receberá uma instrução na tela para procurar o convite para verificação da conta.

    check_your_email.png

    Uso e verificação de licença

    Os usuários precisam concluir a inscrição em suas contas para reivindicar uma licença. 

    Se não houver licenças disponíveis, o usuário verá a mensagem abaixo, instruindo-o a entrar em contato com o gerente ou com o departamento de TI.

    all_licenses_have_been_allocated.png

    Os usuários precisarão verificar as informações da conta pelo e-mail de verificação que eles receberam, que contém um link. O link de verificação expira em uma hora*. Após verificar a conta, eles poderão se inscrever, escrevendo o nome, e-mail e senha.

    *Os usuários com Single Sign-On (SSO)/System for Cross-Domain Management (SCIM) não passarão por esse fluxo de verificação.

    send_verification_email.png

    activate_account_email.png

    Se o endereço de e-mail do usuário não corresponder a um domínio aprovado, ele verá a mensagem abaixo e não conseguirá se inscrever.

    not_invited.png

    Se não houver licenças disponíveis, o usuário verá a mensagem abaixo, instruindo-o a entrar em contato com o gerente ou com o departamento de TI.

    no_licenses.png

    Os usuários que se inscreverem usando o processo de domínio de e-mail aprovado serão exibidos na tela Convites pendentes em Gerenciar usuários, mas serão destacados com a observação "Convidado via e-mail aprovado".

    pending_invitations.png

    Esse recurso está disponível para os planos Team e Enterprise, mas a configuração do domínio de e-mail aprovado na página Acesso do usuário só pode ser acessada por proprietários e administradores, não por administradores de grupo.

    Ler artigo