Tutorial: Configurar o SAP Cloud Identity Services para provisionamento automático de usuários
Este tutorial demonstra as etapas para configurar o provisionamento do Microsoft Entra ID para o SAP Cloud Identity Services. O objetivo é configurar o Microsoft Entra ID para provisionar e desprovisionar automaticamente os usuários para o SAP Cloud Identity Services, para que esses usuários possam se autenticar no SAP Cloud Identity Services e ter acesso a outras cargas de trabalho SAP. O SAP Cloud Identity Services suporta o provisionamento de seu diretório de identidade local para outros aplicativos SAP como sistemas de destino.
Nota
Este tutorial descreve um conector criado no serviço de provisionamento de usuário do Microsoft Entra. Para obter detalhes importantes sobre o que esse serviço faz, como funciona e perguntas frequentes, consulte Automatizar o provisionamento e o desprovisionamento de usuários para aplicativos SaaS com o Microsoft Entra ID. O SAP Cloud Identity Services também tem seu próprio conector separado para ler usuários e grupos do Microsoft Entra ID. Para obter mais informações, consulte SAP Cloud Identity Services - Identity Provisioning - Microsoft Entra ID como um sistema de origem.
Pré-requisitos
O cenário descrito neste tutorial pressupõe que você já tenha os seguintes pré-requisitos:
- Um inquilino do Microsoft Entra
- Um locatário do SAP Cloud Identity Services
- Uma conta de usuário no SAP Cloud Identity Services com permissões de administrador.
Nota
Essa integração também está disponível para uso no ambiente Microsoft Entra US Government Cloud. Pode encontrar esta aplicação na Microsoft Entra US Government Cloud Application Gallery e configurá-la da mesma forma que faz a partir do ambiente de nuvem pública.
Se você ainda não tiver usuários no Microsoft Entra ID, comece com o plano tutorial implantando o Microsoft Entra para provisionamento de usuários com aplicativos de origem e destino SAP. Esse tutorial ilustra como conectar o Microsoft Entra com fontes autorizadas para a lista de trabalhadores em uma organização, como SAP SuccessFactors. Ele também mostra como usar o Microsoft Entra para configurar identidades para esses trabalhadores, para que eles possam entrar em um ou mais aplicativos SAP, como SAP ECC ou SAP S/4HANA.
Se você estiver configurando o provisionamento no SAP Cloud Identity Services em um ambiente de produção, onde controlará o acesso a cargas de trabalho SAP usando o Microsoft Entra ID Governance, revise os pré-requisitos antes de configurar o Microsoft Entra ID para governança de identidade antes de prosseguir.
Configurar o SAP Cloud Identity Services para provisionamento
Faça login no Console de administração do SAP Cloud Identity Services ou
https://<tenantID>.trial-accounts.ondemand.com/admin
,https://<tenantID>.accounts.ondemand.com/admin
se for uma versão de avaliação. Navegue até Usuários & Administradores de > Autorizações.Pressione o botão +Adicionar no painel esquerdo para adicionar um novo administrador à lista. Escolha Adicionar sistema e digite o nome do sistema.
Nota
A identidade do administrador no SAP Cloud Identity Services deve ser do tipo System. Um usuário administrador não poderá se autenticar na API SAP SCIM durante o provisionamento. O SAP Cloud Identity Services não permite que o nome de um sistema seja alterado após sua criação.
Em Configurar Autorizações, ative o botão de alternância em Gerenciar Usuários. Em seguida, clique em Salvar para criar o sistema.
Depois que o sistema de administrador for criado, adicione um novo segredo a esse sistema.
Copie o ID do Cliente e o Segredo do Cliente gerados pelo SAP. Esses valores serão inseridos nos campos Nome de usuário do administrador e Senha do administrador, respectivamente. Isso é feito na guia Provisionamento do seu aplicativo SAP Cloud Identity Services, que você configurará na próxima seção.
O SAP Cloud Identity Services pode ter mapeamentos para um ou mais aplicativos SAP como sistemas de destino. Verifique se há atributos nos usuários que esses aplicativos SAP precisam ser provisionados por meio do SAP Cloud Identity Services. Este tutorial pressupõe que o SAP Cloud Identity Services e os sistemas de destino downstream exigem dois atributos,
userName
eemails[type eq "work"].value
. Se os sistemas de destino SAP exigirem outros atributos, e esses não fizerem parte do esquema de usuário do Microsoft Entra ID, talvez seja necessário configurar atributos de extensão de sincronização.
Adicionar SAP Cloud Identity Services da galeria
Antes de configurar o Microsoft Entra ID para ter provisionamento automático de usuários no SAP Cloud Identity Services, você precisa adicionar o SAP Cloud Identity Services da galeria de aplicativos do Microsoft Entra à lista de aplicativos corporativos do seu locatário. Você pode fazer essa etapa no centro de administração do Microsoft Entra ou por meio da API do Graph.
Se o SAP Cloud Identity Services já estiver configurado para logon único do Microsoft Entra, e um aplicativo já estiver presente na sua lista de aplicativos corporativos do Microsoft Entra, continue na próxima seção.
Para adicionar o SAP Cloud Identity Services da galeria de aplicativos do Microsoft Entra usando o centro de administração do Microsoft Entra, execute as seguintes etapas:
- Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
- Navegue até Identity>Applications>Enterprise applications>Novo aplicativo.
- Para adicionar o aplicativo da galeria, digite SAP Cloud Identity Services na caixa de pesquisa.
- Selecione SAP Cloud Identity Services no painel de resultados e adicione o aplicativo. Aguarde alguns segundos enquanto o aplicativo é adicionado ao seu locatário.
Configurar o provisionamento automático de usuários para o SAP Cloud Identity Services
Esta seção orienta você pelas etapas para configurar o serviço de provisionamento do Microsoft Entra para criar, atualizar e desabilitar usuários no SAP Cloud Identity Services com base nas atribuições de usuários a um aplicativo no Microsoft Entra ID.
Para configurar o provisionamento automático de usuários para o SAP Cloud Identity Services no Microsoft Entra ID:
Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
Navegue até Aplicativos de identidade>>Aplicativos corporativos
Na lista de aplicativos, selecione o aplicativo, SAP Cloud Identity Services.
Selecione o separador Properties (Propriedades).
Verifique se a opção Atribuição necessária? está definida como Sim. Se estiver definido como Não, todos os usuários em seu diretório, incluindo identidades externas, poderão acessar o aplicativo e você não poderá revisar o acesso ao aplicativo.
Selecione o separador Aprovisionamento.
Defina o Modo de Aprovisionamento como Automático.
Na seção Credenciais do administrador, insira
https://<tenantID>.accounts.ondemand.com/service/scim
ouhttps://<tenantid>.trial-accounts.ondemand.com/service/scim
, se for uma avaliação, com o ID do locatário do SAP Cloud Identity Services na URL do locatário. Insira os valores de ID do Cliente e Segredo do Cliente recuperados anteriormente em Nome de Usuário do Administrador e Senha do Administrador, respectivamente. Clique em Testar conexão para garantir que o Microsoft Entra ID possa se conectar ao SAP Cloud Identity Services. Se a conexão falhar, verifique se a conta do sistema SAP Cloud Identity Services tem permissões de administrador, se o segredo ainda é válido e tente novamente.No campo Email de notificação, digite o endereço de e-mail de uma pessoa ou grupo que deve receber as notificações de erro de provisionamento e marque a caixa de seleção - Enviar uma notificação por e-mail quando ocorrer uma falha.
Clique em Guardar.
Na seção Mapeamentos, selecione Provisionar usuários do Microsoft Entra ID.
Analise os atributos de usuário sincronizados do Microsoft Entra ID para o SAP Cloud Identity Services na seção Mapeamento de atributos. Se você não vir os atributos no SAP Cloud Identity Services disponíveis como destino para mapeamento, selecione Mostrar opções avançadas e selecione Editar lista de atributos para o SAP Cloud Platform Identity Authentication Service para editar a lista de atributos suportados. Adicione os atributos do locatário do SAP Cloud Identity Services.
Analise e registre os atributos de origem e destino selecionados como Propriedades correspondentes , mapeamentos que têm uma precedência de correspondência, pois esses atributos são usados para corresponder às contas de usuário no SAP Cloud Identity Services para o serviço de provisionamento Microsoft Entra para determinar se um novo usuário deve ser criado ou atualizado um usuário existente. Para obter mais informações sobre correspondência, consulte Correspondência de usuários nos sistemas de origem e de destino. Em uma etapa subsequente, você garantirá que todos os usuários que já estão no SAP Cloud Identity Services tenham os atributos selecionados como Propriedades correspondentes preenchidas, para evitar que usuários duplicados sejam criados.
Confirme se há um mapeamento de atributos para
IsSoftDeleted
, ou uma função contendoIsSoftDeleted
, mapeada para um atributo do aplicativo. Quando um usuário é desatribuído do aplicativo, excluído por software na ID do Microsoft Entra ou impedido de entrar, o serviço de provisionamento do Microsoft Entra atualizará o atributo mapeado paraisSoftDeleted
. Se nenhum atributo for mapeado, os usuários que posteriormente não forem atribuídos da função de aplicativo continuarão a existir no armazenamento de dados do aplicativo.Adicione quaisquer mapeamentos adicionais que seus SAP Cloud Identity Services ou sistemas SAP de destino downstream exijam.
Selecione o botão Salvar para confirmar as alterações.
Atributo Type Suportado para filtragem Exigido pelo SAP Cloud Identity Services userName
String ✓ ✓ emails[type eq "work"].value
String ✓ active
Booleano displayName
String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager
Referência addresses[type eq "work"].country
String addresses[type eq "work"].locality
String addresses[type eq "work"].postalCode
String addresses[type eq "work"].region
String addresses[type eq "work"].streetAddress
String name.givenName
String name.familyName
String name.honorificPrefix
String phoneNumbers[type eq "fax"].value
String phoneNumbers[type eq "mobile"].value
String phoneNumbers[type eq "work"].value
String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:costCenter
String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department
String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:division
String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber
String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:organization
String locale
String timezone
String userType
String company
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute1
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute2
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute3
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute4
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute5
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute6
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute7
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute8
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute9
String urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute10
String sendMail
String mailVerified
String Para configurar filtros de âmbito, veja as instruções seguintes disponibilizadas no Tutorial de filtro de âmbito.
Para habilitar o serviço de provisionamento Microsoft Entra para SAP Cloud Identity Services, altere o Status de provisionamento para Ativado na seção Configurações.
Para obter o valor de Escopo na seção Configurações , selecione Sincronizar somente usuários e grupos atribuídos.
Quando estiver pronto para provisionar, clique em Salvar.
Esta operação inicia a sincronização inicial de todos os usuários definidos em Escopo na seção Configurações. Se você tiver o escopo definido como Sincronizar somente usuários e grupos atribuídos e nenhum usuário ou grupo tiver sido atribuído ao aplicativo, nenhuma sincronização ocorrerá até que os usuários sejam atribuídos ao aplicativo.
Provisionar um novo usuário de teste do Microsoft Entra ID para o SAP Cloud Identity Services
É recomendável que um único novo usuário de teste do Microsoft Entra seja atribuído ao SAP Cloud Identity Services para testar a configuração de provisionamento automático de usuário.
- Entre no centro de administração do Microsoft Entra como pelo menos um Administrador de Aplicativo na Nuvem e um Administrador de Usuário.
- Aceder a Identidade>Utilizadores>Todos os Utilizadores.
- Selecione Novo usuário>Criar novo usuário.
- Digite o Nome principal do usuário e o Nome para exibição do novo usuário de teste. O nome principal do usuário deve ser exclusivo e não o mesmo de qualquer usuário atual ou anterior do Microsoft Entra ou usuário do SAP Cloud Identity Services. Selecione Rever + criar e Criar.
- Depois que o usuário de teste for criado, navegue até Identity>Applications>Enterprise Applications.
- Selecione o aplicativo SAP Cloud Identity Services.
- Selecione Usuários e grupos e, em seguida, selecione Adicionar usuário/grupo.
- Na caixa Usuários e grupos , selecione Nenhum selecionado e, na caixa de texto, digite o nome principal do usuário de teste.
- Selecione Selecionar e, em seguida , Atribuir.
- Selecione Provisionamento e, em seguida, selecione Provisionamento sob demanda.
- Na caixa de texto Selecione um usuário ou grupo , digite o nome principal do usuário de teste.
- Clique em Provisionar.
- Aguarde a conclusão do provisionamento. Se for bem-sucedido, você verá a mensagem
Modified attributes (successful)
.
Você também pode, opcionalmente, verificar o que o serviço de provisionamento do Microsoft Entra fornecerá quando um usuário sair do escopo do aplicativo.
- Selecionar Utilizadores e grupos.
- Selecione o usuário de teste e, em seguida, selecione Remover.
- Depois que o usuário de teste for removido, selecione Provisionamento e, em seguida, selecione Provisionamento sob demanda.
- Na caixa de texto Selecione um usuário ou grupo , digite o nome principal do usuário de teste que acabou de ser desatribuído.
- Clique em Provisionar.
- Aguarde a conclusão do provisionamento.
Finalmente, você pode remover o usuário de teste do Microsoft Entra ID.
- Aceder a Identidade>Utilizadores>Todos os Utilizadores.
- Selecione o usuário de teste, selecione Excluir e selecione OK. Esta ação exclui suavemente o usuário de teste do Microsoft Entra ID.
Em seguida, você também pode remover o usuário de teste do SAP Cloud Identity Services.
Garantir que os usuários existentes do SAP Cloud Identity Services tenham os atributos correspondentes necessários
Antes de atribuir usuários não testados ao aplicativo SAP Cloud Identity Services no Microsoft Entra ID, você deve garantir que todos os usuários já no SAP Cloud Identity Services que representem as mesmas pessoas que os usuários no Microsoft Entra ID tenham os atributos de mapeamento preenchidos nos serviços do SAP Cloud Identity.
No mapeamento de provisionamento, os atributos selecionados como propriedades correspondentes são usados para fazer a correspondência entre as contas de usuário no ID do Microsoft Entra e as contas de usuário no SAP Cloud Identity Services. Se houver um usuário no ID do Microsoft Entra sem correspondência no SAP Cloud Identity Services, o serviço de provisionamento do Microsoft Entra tentará criar um novo usuário. Se houver um usuário no ID do Microsoft Entra e uma correspondência no SAP Cloud Identity Services, o serviço de provisionamento do Microsoft Entra atualizará esse usuário do SAP Cloud Identity Services. Por esse motivo, você deve garantir que todos os usuários que já estão no SAP Cloud Identity Services tenham os atributos selecionados como Propriedades correspondentes preenchidas, caso contrário, usuários duplicados poderão ser criados. Se você precisar alterar o atributo correspondente no mapeamento de atributos do aplicativo Microsoft Entra, consulte Correspondência de usuários nos sistemas de origem e de destino.
Faça login no Console de administração do SAP Cloud Identity Services ou
https://<tenantID>.trial-accounts.ondemand.com/admin
,https://<tenantID>.accounts.ondemand.com/admin
se for uma versão de avaliação.Navegue até Usuários & Autorizações > Exportar Usuários.
Selecione todos os atributos necessários para fazer a correspondência entre os usuários do Microsoft Entra e os do SAP. Esses atributos incluem o
SCIM ID
,userName
,emails
e outros atributos que você pode estar usando em seus sistemas SAP como identificadores.Selecione Exportar e aguarde até que o navegador baixe o arquivo CSV.
Abra uma janela do PowerShell.
Digite o seguinte script em um editor. Na linha um, se você selecionou um atributo de correspondência diferente de
userName
, altere osapScimUserNameField
valor da variável para o nome do atributo SAP Cloud Identity Services. Na linha dois, altere o argumento para o nome do arquivoUsers-exported-from-sap.csv
CSV exportado de para o nome do arquivo baixado.$sapScimUserNameField = "userName" $existingSapUsers = import-csv -Path ".\Users-exported-from-sap.csv" -Encoding UTF8 $count = 0 $warn = 0 foreach ($u in $existingSapUsers) { $id = $u.id if (($null -eq $id) -or ($id.length -eq 0)) { write-error "Exported CSV file does not contain the id attribute of SAP Cloud Identity Services users." throw "id attribute not available, re-export" return } $count++ $userName = $u.$sapScimUserNameField if (($null -eq $userName) -or ($userName.length -eq 0)) { write-warning "SAP Cloud Identity Services user $id does not have a $sapScimUserNameField attribute populated" $warn++ } } write-output "$warn of $count users in SAP Cloud Identity Services did not have the $sapScimUserNameFIeld attribute populated."
Execute o script. Quando o script for concluído, se houver um ou mais usuários sem o atributo de correspondência necessário, procure esses usuários no arquivo CSV exportado ou no SAP Cloud Identity Services Admin Console. Se esses usuários também estiverem presentes no Microsoft Entra, você precisará primeiro atualizar a representação desses usuários do SAP Cloud Identity Services para que eles tenham o atributo correspondente preenchido.
Depois de atualizar os atributos desses usuários no SAP Cloud Identity Services, reexporte os usuários do SAP Cloud Identity Services, conforme descrito nas etapas 2 a 5, e das etapas do PowerShell nesta seção, para confirmar que nenhum usuário no SAP Cloud Identity Services não tem os atributos correspondentes que impediriam o provisionamento para esses usuários.
Agora que você tem uma lista de todos os usuários obtidos do SAP Cloud Identity Services, fará a correspondência entre esses usuários do armazenamento de dados do aplicativo e os usuários que já estão no Microsoft Entra ID, para determinar quais usuários devem estar no escopo para provisionamento.
Recuperar as IDs dos usuários no Microsoft Entra ID
Esta seção mostra como interagir com o Microsoft Entra ID usando cmdlets do Microsoft Graph PowerShell .
Na primeira vez que sua organização usar esses cmdlets para esse cenário, você precisará estar em uma função de Administrador Global para permitir que o Microsoft Graph PowerShell seja usado em seu locatário. As interações subsequentes podem usar um papel menos privilegiado, como:
- Administrador de usuários, se você prevê a criação de novos usuários.
- Administrador de aplicativos ou administrador de governança de identidade, se você estiver apenas gerenciando atribuições de função de aplicativo.
Abra o PowerShell.
Se você não tiver os módulos do Microsoft Graph PowerShell já instalados, instale o
Microsoft.Graph.Users
módulo e outros usando este comando:Install-Module Microsoft.Graph
Se já tiver os módulos instalados, certifique-se de que está a utilizar uma versão recente:
Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
Conecte-se ao Microsoft Entra ID:
$msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
Se esta for a primeira vez que você usa esse comando, talvez seja necessário consentir para permitir que as ferramentas de linha de comando do Microsoft Graph tenham essas permissões.
Leia a lista de usuários obtida do armazenamento de dados do aplicativo na sessão do PowerShell. Se a lista de usuários estiver em um arquivo CSV, você poderá usar o cmdlet
Import-Csv
do PowerShell e fornecer o nome do arquivo da seção anterior como argumento.Por exemplo, se o arquivo obtido do SAP Cloud Identity Services tiver o nome Users-exported-from-sap.csv e estiver localizado no diretório atual, digite este comando.
$filename = ".\Users-exported-from-sap.csv" $dbusers = Import-Csv -Path $filename -Encoding UTF8
Para outro exemplo, se você estiver usando um banco de dados ou diretório, se o arquivo tiver o nome users.csv e estiver localizado no diretório atual, digite este comando:
$filename = ".\users.csv" $dbusers = Import-Csv -Path $filename -Encoding UTF8
Escolha a coluna do arquivo users.csv que corresponderá a um atributo de um usuário no Microsoft Entra ID.
Se você estiver usando o SAP Cloud Identity Services, o mapeamento padrão é o atributo
userName
SAP SCIM com o atributouserPrincipalName
ID do Microsoft Entra:$db_match_column_name = "userName" $azuread_match_attr_name = "userPrincipalName"
Para outro exemplo, se você estiver usando um banco de dados ou diretório, você pode ter usuários em um banco de dados onde o valor na coluna nomeada
EMail
é o mesmo valor que no atributouserPrincipalName
Microsoft Entra :$db_match_column_name = "EMail" $azuread_match_attr_name = "userPrincipalName"
Recupere as IDs desses usuários no Microsoft Entra ID.
O script PowerShell a seguir usa os
$dbusers
valores ,$db_match_column_name
e$azuread_match_attr_name
especificados anteriormente. Ele consultará o ID do Microsoft Entra para localizar um usuário que tenha um atributo com um valor correspondente para cada registro no arquivo de origem. Se houver muitos usuários no arquivo obtido do banco de dados ou diretório de origem do SAP Cloud Identity Services, esse script pode levar vários minutos para ser concluído. Se você não tiver um atributo no Microsoft Entra ID que tenha o valor e precisar usar umacontains
ou outra expressão de filtro, será necessário personalizar esse script e isso na etapa 11 abaixo para usar uma expressão de filtro diferente.$dbu_not_queried_list = @() $dbu_not_matched_list = @() $dbu_match_ambiguous_list = @() $dbu_query_failed_list = @() $azuread_match_id_list = @() $azuread_not_enabled_list = @() $dbu_values = @() $dbu_duplicate_list = @() foreach ($dbu in $dbusers) { if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { $val = $dbu.$db_match_column_name $escval = $val -replace "'","''" if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval } $filter = $azuread_match_attr_name + " eq '" + $escval + "'" try { $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop) if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else { $id = $ul[0].id; $azuread_match_id_list += $id; if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id } } } catch { $dbu_query_failed_list += $dbu } } else { $dbu_not_queried_list += $dbu } }
Veja os resultados das consultas anteriores. Veja se algum dos usuários no SAP Cloud Identity Services, o banco de dados ou o diretório não pôde ser localizado no ID do Microsoft Entra devido a erros ou correspondências ausentes.
O seguinte script do PowerShell exibirá as contagens de registros que não foram localizados:
$dbu_not_queried_count = $dbu_not_queried_list.Count if ($dbu_not_queried_count -ne 0) { Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name." } $dbu_duplicate_count = $dbu_duplicate_list.Count if ($dbu_duplicate_count -ne 0) { Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value" } $dbu_not_matched_count = $dbu_not_matched_list.Count if ($dbu_not_matched_count -ne 0) { Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name." } $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count if ($dbu_match_ambiguous_count -ne 0) { Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous." } $dbu_query_failed_count = $dbu_query_failed_list.Count if ($dbu_query_failed_count -ne 0) { Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors." } $azuread_not_enabled_count = $azuread_not_enabled_list.Count if ($azuread_not_enabled_count -ne 0) { Write-Error "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in." } if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count) { Write-Output "You will need to resolve those issues before access of all existing users can be reviewed." } $azuread_match_count = $azuread_match_id_list.Count Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID."
Quando o script terminar, ele indicará um erro se algum registro da fonte de dados não estiver localizado no ID do Microsoft Entra. Se nem todos os registros de usuários do armazenamento de dados do aplicativo puderem ser localizados como usuários no Microsoft Entra ID, você precisará investigar quais registros não corresponderam e por quê.
Por exemplo, o endereço de email de alguém e userPrincipalName podem ter sido alterados no ID do Microsoft Entra sem que sua propriedade correspondente
mail
tenha sido atualizada na fonte de dados do aplicativo. Ou, o usuário pode já ter saído da organização, mas ainda está na fonte de dados do aplicativo. Ou pode haver uma conta de fornecedor ou superadministrador na fonte de dados do aplicativo que não corresponda a nenhuma pessoa específica no Microsoft Entra ID.Se houver usuários que não puderam ser localizados no Microsoft Entra ID ou não estavam ativos e capazes de entrar, mas você deseja que seu acesso seja revisado ou seus atributos atualizados no SAP Cloud Identity Services, no banco de dados ou no diretório, será necessário atualizar o aplicativo, a regra de correspondência ou atualizar ou criar usuários do Microsoft Entra para eles. Para obter mais informações sobre qual alteração fazer, consulte Gerenciar mapeamentos e contas de usuário em aplicativos que não correspondem aos usuários no Microsoft Entra ID.
Se você escolher a opção de criar usuários no Microsoft Entra ID, poderá criar usuários em massa usando:
- Um arquivo CSV, conforme descrito em Criar usuários em massa no centro de administração do Microsoft Entra
- O cmdlet New-MgUser
Certifique-se de que esses novos usuários sejam preenchidos com os atributos necessários para que a ID do Microsoft Entra os corresponda posteriormente aos usuários existentes no aplicativo e os atributos exigidos pela ID do Microsoft Entra, incluindo
userPrincipalName
,mailNickname
edisplayName
. OuserPrincipalName
deve ser único entre todos os usuários no diretório.Por exemplo, você pode ter usuários em um banco de dados onde o valor na coluna nomeada
EMail
é o valor que você deseja usar como o Nome principal do usuário do Microsoft Entra, o valor na colunaAlias
contém o apelido de email do ID do Microsoft Entra e o valor na colunaFull name
contém o nome para exibição do usuário:$db_display_name_column_name = "Full name" $db_user_principal_name_column_name = "Email" $db_mail_nickname_column_name = "Alias"
Em seguida, você pode usar esse script para criar usuários do Microsoft Entra para aqueles no SAP Cloud Identity Services, o banco de dados ou o diretório que não corresponderam aos usuários no Microsoft Entra ID. Observe que talvez seja necessário modificar esse script para adicionar atributos adicionais do Microsoft Entra necessários em sua organização, ou se o
$azuread_match_attr_name
não for nemmailNickname
userPrincipalName
, para fornecer esse atributo do Microsoft Entra.$dbu_missing_columns_list = @() $dbu_creation_failed_list = @() foreach ($dbu in $dbu_not_matched_list) { if (($null -ne $dbu.$db_display_name_column_name -and $dbu.$db_display_name_column_name.Length -gt 0) -and ($null -ne $dbu.$db_user_principal_name_column_name -and $dbu.$db_user_principal_name_column_name.Length -gt 0) -and ($null -ne $dbu.$db_mail_nickname_column_name -and $dbu.$db_mail_nickname_column_name.Length -gt 0)) { $params = @{ accountEnabled = $false displayName = $dbu.$db_display_name_column_name mailNickname = $dbu.$db_mail_nickname_column_name userPrincipalName = $dbu.$db_user_principal_name_column_name passwordProfile = @{ Password = -join (((48..90) + (96..122)) * 16 | Get-Random -Count 16 | % {[char]$_}) } } try { New-MgUser -BodyParameter $params } catch { $dbu_creation_failed_list += $dbu; throw } } else { $dbu_missing_columns_list += $dbu } }
Depois de adicionar quaisquer usuários ausentes ao Microsoft Entra ID, execute o script da etapa 7 novamente. Em seguida, execute o script a partir da etapa 8. Verifique se nenhum erro é relatado.
$dbu_not_queried_list = @() $dbu_not_matched_list = @() $dbu_match_ambiguous_list = @() $dbu_query_failed_list = @() $azuread_match_id_list = @() $azuread_not_enabled_list = @() $dbu_values = @() $dbu_duplicate_list = @() foreach ($dbu in $dbusers) { if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { $val = $dbu.$db_match_column_name $escval = $val -replace "'","''" if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval } $filter = $azuread_match_attr_name + " eq '" + $escval + "'" try { $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop) if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else { $id = $ul[0].id; $azuread_match_id_list += $id; if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id } } } catch { $dbu_query_failed_list += $dbu } } else { $dbu_not_queried_list += $dbu } } $dbu_not_queried_count = $dbu_not_queried_list.Count if ($dbu_not_queried_count -ne 0) { Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name." } $dbu_duplicate_count = $dbu_duplicate_list.Count if ($dbu_duplicate_count -ne 0) { Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value" } $dbu_not_matched_count = $dbu_not_matched_list.Count if ($dbu_not_matched_count -ne 0) { Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name." } $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count if ($dbu_match_ambiguous_count -ne 0) { Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous." } $dbu_query_failed_count = $dbu_query_failed_list.Count if ($dbu_query_failed_count -ne 0) { Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors." } $azuread_not_enabled_count = $azuread_not_enabled_list.Count if ($azuread_not_enabled_count -ne 0) { Write-Warning "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in." } if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count -ne 0) { Write-Output "You will need to resolve those issues before access of all existing users can be reviewed." } $azuread_match_count = $azuread_match_id_list.Count Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID."
Garantir que os usuários existentes do Microsoft Entra tenham os atributos necessários
Antes de habilitar o provisionamento automático de usuários, você deve decidir quais usuários no Microsoft Entra ID precisam acessar o SAP Cloud Identity Services e, em seguida, verificar se esses usuários têm os atributos necessários no Microsoft Entra ID e se esses atributos são mapeados para o esquema esperado do SAP Cloud Identity Services.
- Por padrão, o valor do atributo de usuário
userPrincipalName
do Microsoft Entra é mapeado para osuserName
atributos eemails[type eq "work"].value
do SAP Cloud Identity Services. Se os endereços de e-mail do usuário forem diferentes dos nomes principais do usuário, talvez seja necessário alterar esse mapeamento. - O SAP Cloud Identity Services pode ignorar os
postalCode
valores do atributo se o formato do CEP da empresa/código postal não corresponder ao país da empresa. - Por padrão, o atributo
department
Microsoft Entra é mapeado para o atributo SAP Cloud Identity Servicesurn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department
. Se os usuários do Microsoft Entra tiverem valores do atributo, esses valores deverão corresponder aosdepartment
departamentos já configurados no SAP Cloud Identity Services, caso contrário, a criação ou atualização do usuário falhará. Se os valores nos usuários dodepartment
Microsoft Entra não forem consistentes com os do ambiente SAP, remova o mapeamento antes de atribuir usuários. - O endpoint SCIM do SAP Cloud Identity Services exige que determinados atributos tenham um formato específico. Você pode saber mais sobre esses atributos e seu formato específico aqui.
Atribuir usuários ao aplicativo SAP Cloud Identity Services no Microsoft Entra ID
O Microsoft Entra ID usa um conceito chamado atribuições para determinar quais usuários devem receber acesso aos aplicativos selecionados. No contexto do provisionamento automático de usuários, se o valor Configurações de Escopo for Sincronizar somente usuários e grupos atribuídos, somente os usuários e grupos que foram atribuídos a uma função de aplicativo desse aplicativo no Microsoft Entra ID serão sincronizados com o SAP Cloud Identity Services. Ao atribuir um usuário ao SAP Cloud Identity Services, você deve selecionar qualquer função válida específica do aplicativo (se disponível) na caixa de diálogo de atribuição. Os usuários com a função Acesso Padrão são excluídos do provisionamento. Atualmente, a única função disponível para o SAP Cloud Identity Services é Usuário.
Se o provisionamento já tiver sido habilitado para o aplicativo, verifique se o provisionamento do aplicativo não está em quarentena antes de atribuir mais usuários ao aplicativo. Resolva quaisquer problemas que estejam a causar a quarentena, antes de continuar.
Verifique se há usuários que estão presentes no SAP Cloud Identity Services e ainda não estão atribuídos ao aplicativo no Microsoft Entra ID
As etapas anteriores avaliaram se os usuários no SAP Cloud Identity Services também existem como usuários no Microsoft Entra ID. No entanto, nem todos eles podem ser atribuídos atualmente às funções do aplicativo no Microsoft Entra ID. Portanto, as próximas etapas são ver quais usuários não têm atribuições para funções de aplicativo.
Usando o PowerShell, procure a ID da entidade de serviço para a entidade de serviço do aplicativo.
Por exemplo, se o aplicativo empresarial for chamado
SAP Cloud Identity Services
, digite os seguintes comandos:$azuread_app_name = "SAP Cloud Identity Services" $azuread_sp_filter = "displayName eq '" + ($azuread_app_name -replace "'","''") + "'" $azuread_sp = Get-MgServicePrincipal -Filter $azuread_sp_filter -All
Recupere os usuários que atualmente têm atribuições para o aplicativo no Microsoft Entra ID.
Isso se baseia
$azuread_sp
na variável definida no comando anterior.$azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
Compare a lista de IDs de usuário dos usuários que já estão no SAP Cloud Identity Services e no Microsoft Entra ID com os usuários atualmente atribuídos ao aplicativo no Microsoft Entra ID. Este script baseia-se
$azuread_match_id_list
no conjunto de variáveis nas seções anteriores:$azuread_not_in_role_list = @() foreach ($id in $azuread_match_id_list) { $found = $false foreach ($existing in $azuread_existing_assignments) { if ($existing.principalId -eq $id) { $found = $true; break; } } if ($found -eq $false) { $azuread_not_in_role_list += $id } } $azuread_not_in_role_count = $azuread_not_in_role_list.Count Write-Output "$azuread_not_in_role_count users in the application's data store are not assigned to the application roles."
Se zero usuários não forem atribuídos a funções de aplicativo, indicando que todos os usuários estão atribuídos a funções de aplicativo, isso indica que não havia usuários em comum no Microsoft Entra ID e no SAP Cloud Identity Services, portanto, nenhuma alteração será necessária. No entanto, se um ou mais usuários já no SAP Cloud Identity Services não estiverem atualmente atribuídos às funções do aplicativo, você precisará continuar o procedimento e adicioná-los a uma das funções do aplicativo.
Selecione a
User
função da entidade de serviço do aplicativo.$azuread_app_role_name = "User" $azuread_app_role_id = ($azuread_sp.AppRoles | where-object {$_.AllowedMemberTypes -contains "User" -and $_.DisplayName -eq "User"}).Id if ($null -eq $azuread_app_role_id) { write-error "role $azuread_app_role_name not located in application manifest"}
Crie atribuições de função de aplicativo para usuários que já estão presentes no SAP Cloud Identity Services e no Microsoft Entra, e que atualmente não têm atribuições de função para o aplicativo:
foreach ($u in $azuread_not_in_role_list) { $res = New-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -AppRoleId $azuread_app_role_id -PrincipalId $u -ResourceId $azuread_sp.Id }
Aguarde um minuto para que as alterações se propaguem no Microsoft Entra ID.
No próximo ciclo de provisionamento do Microsoft Entra, o serviço de provisionamento do Microsoft Entra comparará a representação dos usuários atribuídos ao aplicativo com a representação no SAP Cloud Identity Services e atualizará os usuários do SAP Cloud Identity Services para que tenham os atributos do ID do Microsoft Entra.
Atribuir usuários restantes e monitorar a sincronização inicial
Quando o teste for concluído, um usuário for provisionado com êxito para o SAP Cloud Identity Services e todos os usuários existentes do SAP Cloud Identity Services forem atribuídos à função do aplicativo, você poderá atribuir quaisquer usuários autorizados adicionais ao aplicativo SAP Cloud Identity Services seguindo uma das instruções aqui:
- Você pode atribuir cada usuário individual ao aplicativo no centro de administração do Microsoft Entra,
- Você pode atribuir usuários individuais ao aplicativo por meio do cmdlet
New-MgServicePrincipalAppRoleAssignedTo
do PowerShell, conforme mostrado na seção anterior, ou - se sua organização tiver uma licença para o Microsoft Entra ID Governance, você também poderá implantar políticas de gerenciamento de direitos para automatizar a atribuição de acesso.
Depois que os usuários forem atribuídos à função de aplicativo e estiverem no escopo para provisionamento, o serviço de provisionamento Microsoft Entra os provisionará para o SAP Cloud Identity Services. Observe que a sincronização inicial leva mais tempo para ser executada do que as sincronizações subsequentes, que ocorrem aproximadamente a cada 40 minutos, enquanto o serviço de provisionamento do Microsoft Entra estiver em execução.
Se você não vir usuários sendo provisionados, revise as etapas no guia de solução de problemas para que nenhum usuário seja provisionado. Em seguida, verifique o log de provisionamento por meio do centro de administração do Microsoft Entra ou das APIs do Graph. Filtre o log para o status Falha. Se houver falhas com um ErrorCode de DuplicateTargetEntries, isso indica uma ambiguidade em suas regras de correspondência de provisionamento, e você precisará atualizar os usuários do Microsoft Entra ou os mapeamentos usados para correspondência para garantir que cada usuário do Microsoft Entra corresponda a um usuário do aplicativo. Em seguida, filtre o log para a ação Criar e status ignorado. Se os usuários foram ignorados com o código SkipReason de NotEffectiveEntitled, isso pode indicar que as contas de usuário no Microsoft Entra ID não foram correspondidas porque o status da conta de usuário foi Desabilitado.
Configurar o logon único
Você também pode optar por ativar o logon único baseado em SAML para o SAP Cloud Identity Services, seguindo as instruções fornecidas no tutorial de logon único do SAP Cloud Identity Services. O logon único pode ser configurado independentemente do provisionamento automático do usuário, embora esses dois recursos se complementem.
Monitorar o provisionamento
Você pode usar a seção Detalhes da sincronização para monitorar o progresso e seguir os links para o relatório de atividade de provisionamento, que descreve todas as ações executadas pelo serviço de provisionamento Microsoft Entra no SAP Cloud Identity Services. Você também pode monitorar o projeto de provisionamento por meio das APIs do Microsoft Graph.
Para obter mais informações sobre como ler os logs de provisionamento do Microsoft Entra, consulte Relatórios sobre provisionamento automático de conta de usuário.
Manter atribuições de função de aplicativo
À medida que os usuários atribuídos ao aplicativo são atualizados no ID do Microsoft Entra, essas alterações serão automaticamente provisionadas para o SAP Cloud Identity Services.
Se você tiver o Microsoft Entra ID Governance, poderá automatizar as alterações nas atribuições de função de aplicativo para o SAP Cloud Identity Services no Microsoft Entra ID, para adicionar ou remover atribuições à medida que as pessoas ingressam na organização ou deixam ou alteram funções.
- Você pode realizar uma revisão de acesso única ou recorrente das atribuições de função do aplicativo.
- Você pode criar um pacote de acesso de gerenciamento de direitos para este aplicativo. Você pode ter políticas para que os usuários recebam acesso, seja quando eles solicitarem, por um administrador, automaticamente com base em regras, ou por meio de fluxos de trabalho do ciclo de vida.
Mais recursos
- Gerir o aprovisionamento de contas de utilizador para Aplicações Empresariais
- O que é acesso ao aplicativo e logon único com o Microsoft Entra ID?
- Gerencie o acesso aos seus aplicativos SAP
- Controlar o acesso de aplicativos em seu ambiente