Autorização no OAM e em IdP
Neste artigo, vamos aprender a ativar e implementar Políticas de Autorização para SSO de Federação quando o OAM estiver atuando como IdP. Quando o OAM autentica um usuário em nome de parceiros remotos SAML / OpenID 2.0, ele emite um token (SAML ou OpenID) contendo informações sobre o usuário que o parceiro consome para identificar o usuário. Como parte da criação do token, IdP pode ser configurado para avaliar uma Política de Emissão de Token que indica se o usuário tem permissão para executar SSO de Federação com esse SP/RP específico. A política de emissão de token é construída com:
- O Nome do Parceiro SP como o recurso
- Uma ou mais restrições
- A restrição verdadeira que é usada para indicar que IdP deve emitir tokens para todos os usuários dos parceiros SP listados na política
- A constraint de Identidade feita de
- Lista de usuários: IdP garante que o usuário que executa o SSO de Federação entre o OAM e o SP remoto pertence a essa lista
- Ou lista de grupos: IdP garante que o usuário que executa o SSO de Federação entre o OAM e o SP remoto pertença a um grupo listado na restrição
Ativando/desativando autorização em IdP
Pronto para uso, a Autorização está desativada em IdP. Como tal, não há imposição de Autorização quando o OAM emite um token SAML/OpenID.
Observação: depois que a autorização for ativada, todas as operações de SSO da Federação IdP exigirão uma avaliação bem-sucedida da política de autorização. Portanto, se você tiver acordos de Federação existentes, nenhuma Política de Emissão de Token e ativar a autorização, a operação SSO de Federação falhará até que as Políticas de Emissão de Token necessárias sejam criadas.
Para ativar ou desativar a Autorização em IdP, execute os seguintes comandos WLST do OAM:
- Informe o ambiente WLST executando:
$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conecte-se ao servidor de Administração WLS:
connect()
- Navegue até a ramificação Runtime do Domínio:
domainRuntime()
- Execute o comando
configureFedSSOAuthz()
: - Para ativar a autorização:
configureFedSSOAuthz("true")
- Para desativar a autorização:
configureFedSSOAuthz("false")
- Saia do ambiente WLST:
exit()
Política de Emissão do Token
Visão Geral
Como mencionado anteriormente, uma Política de Emissão de Token é feita de dois objetos:
- Uma lista de recursos, com cada recurso contendo o nome do Parceiro SP
- Uma lista de restrições, sendo que cada uma delas é uma das seguintes:
- A restrição verdadeira que é usada para indicar que IdP deve emitir tokens para todos os usuários dos parceiros SP listados na política
- A constraint de Identidade feita de
- Lista de usuários: IdP garante que o usuário que executa o SSO de Federação entre o OAM e o SP remoto pertence a essa lista
- Ou lista de grupos: IdP garante que o usuário que executa o SSO de Federação entre o OAM e o SP remoto pertença a um grupo listado na restrição
- Regras usando as restrições
Durante uma operação SSO de Federação, após a autenticação do usuário, IdP verifica se a Autorização está ativada e, em caso afirmativo, coleta a identidade do usuário e os grupos aos quais ela pertence, o nome do Parceiro SP e chama o Mecanismo de Autorização do OAM que indica se a avaliação foi ou não bem-sucedida.
- Se bem sucedido, significa que
- O nome do Parceiro SP foi listado como um recurso em um na Política de Emissão de Token
- Avaliação das restrições de uma das Políticas de Emissão de Token nas quais o parceiro SP está listado
- Uma constraint verdadeira estava presente
- Ou uma restrição de Identidade estava presente com a identidade do usuário
- Ou com um grupo ao qual o usuário pertence
Nos exemplos listados neste artigo, adicione todas as Políticas de Emissão de Token aos Domínios de Aplicativos do IAM Suite na Console de Administração do OAM.
Ambiente de Teste
O ambiente de teste mostra o uso do recurso Autorização usando exemplos com:
- Três usuários no diretório LDAP usado por IdP (veja abaixo a saída LDIF)
- alice
- bobagem
- Charlie
- Três grupos no diretório LDAP
- Engenheiros, aos quais pertencem bob e charlie
- Gerentes aos quais o alice pertence
- Funcionários aos quais pertencem alice, bob e charlie
- Quatro Parceiros SP:
- OnlineConference.com
- HR
- TravelSite e
- 401kSP
- Três políticas de autorização
- Authz #1: somente usuários do grupo Funcionários menos bob podem acessar 401kSP
- Authz #2: somente usuários do grupo Gerentes e filial do usuário podem acessar o RH
- Authz #3: qualquer um pode acessar TravelSite e OnlineConference.com
A saída LDIF do diretório LDAP de teste para os três usuários é:
\# alice, users, us.oracle.com
dn: cn=alice,ou=users,dc=us,dc=oracle,dc=com
objectClass: person
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: top
givenName: Alice
uid: alice
cn: alice
sn: Appleton
mail: alice@oracle.com
\# bob, users, us.oracle.com
dn: cn=bob,ou=users,dc=us,dc=oracle,dc=com
objectClass: person
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: top
givenName: Bobby
uid: bob
cn: bob
sn: Smith
mail: bob@oracle.com
\# charlie, users, us.oracle.com
dn: cn=charlie,ou=users,dc=us,dc=oracle,dc=com
objectClass: person
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: top
givenName: Charlie
uid: charlie
cn: Charlie
sn: Crown
mail: charlie@oracle.com
A saída LDIF do diretório LDAP de teste para os três grupos é:
\# Managers, groups, us.oracle.com
dn: cn=Managers,ou=groups,dc=us,dc=oracle,dc=com uniqueMember:
cn=alice,ou=users,dc=us,dc=oracle,dc=com
cn: Managers
objectClass: groupOfUniqueNames
objectClass: top
\# Employees, groups, us.oracle.com
dn: cn=Employees,ou=groups,dc=us,dc=oracle,dc=com
uniqueMember:
cn=charlie,ou=users,dc=us,dc=oracle,dc=com
uniqueMember:
cn=alice,ou=users,dc=us,dc=oracle,dc=com
uniqueMember:
cn=bob,ou=users,dc=us,dc=oracle,dc=com
cn: Employees
objectClass: groupOfUniqueNames
objectClass: top
\# Engineers, groups, us.oracle.com
dn: cn=Engineers,ou=groups,dc=us,dc=oracle,dc=com
uniqueMember: cn=bob,ou=users,dc=us,dc=oracle,dc=com
uniqueMember: cn=charlie,ou=users,dc=us,dc=oracle,dc=com
cn: Engineers
objectClass: groupOfUniqueNames
objectClass: top
Exemplos
Caso de Uso 1
Neste caso de uso:
- 401kSP é o nome do parceiro SAML 2.0 SP
- IdP deve permitir que os usuários pertencentes ao grupo Funcionários façam SSO de Federação com esse Parceiro SP
- IdP não deve permitir que o bob faça SSO de Federação com esse Parceiro SP
Para configurar IdP para esse caso de uso, execute as seguintes etapas:
-
Vá para a Console de Administração do OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole
-
Navegue até Gerenciador de Acesso, Domínios de Aplicativo
-
Clique em Pesquisar
-
Clique no IAM Suite na lista de resultados e clique na guia Políticas de Emissão de Token
-
Clique em Criar Política de Emissão de Token
-
Digite um nome (por exemplo EmployeesPolicy)
Execute as seguintes etapas:
- Clique na guia Condições
- Clique em Adicionar para adicionar uma constraint ao grupo de funcionários
- Informe os detalhes das restrições:
Name
: por exemplo,EmployeesGroup
Type
: Identidade do Solicitante do Token
Descrição da ilustração Add_Conditions_Screen.jpg
Execute as seguintes etapas:
-
Clique em Adicionar Selecionada
-
Selecione a restrição recém-criada para configurá-la
-
Nos detalhes das condições, clique em Adicionar e selecione Adicionar Identidades
-
Selecione o Armazenamento de Identidades no qual o usuário existe. Clique em Pesquisar
-
Selecionar o Grupo de Funcionários
-
Clique em Adicionar Selecionada
Descrição da ilustração Create_Token_Issuance_policy_Screen.jpg
Execute as seguintes etapas:
- Clique em Adicionar para adicionar outra restrição ao usuário bob
- Informe os detalhes das restrições:
Name
: por exemplo, BobUserType
: Identidade do Solicitante do Token
Descrição da ilustração Add_Condition_Bob.jpg
Execute as seguintes etapas:
-
Clique em Adicionar Selecionada
-
Selecione a restrição recém-criada para configurá-la
-
Nos detalhes das condições, clique em Adicionar e selecione Adicionar Identidades
-
Selecione o Armazenamento de Identidades no qual o usuário existe. Clique em Pesquisar
-
Selecione o usuário bob
-
Clique em Adicionar Selecionada
Execute as seguintes etapas:
-
Clique na tab Regras
-
Na seção Permitir Regra, selecione a condição
EmployeesGroup
e adicione-a às Condições Selecionadas, pois queremos permitir que os usuários pertencentes ao grupo Funcionários façam SSO de Federação com os parceiros listados nesta política -
Na seção Negar Regra, selecione a condição
BobUser
e adicione-a às Condições Selecionadas, pois queremos proibir a transferência para fazer SSO de Federação com os parceiros listados nesta política -
Clique em Aplicar
Execute as seguintes etapas para criar um novo recurso e adicioná-lo à Política de Emissão de Token EmployeesPolicy:
- Vá para a Console de Administração do OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole
- Navegue até Gerenciador de Acesso, Domínios de Aplicativo
- Clique em Pesquisar
- Clique no IAM Suite na lista de resultados e clique na guia Recursos.
- Clique em Novo Recurso e crie um novo recurso para a Política de Emissão de Token:
Type
: TokenServiceRPResource URL
, nome do Parceiro SP conforme foi criado na seção Administrador da Federação: 401kSPOperations
: todosToken Issuance Policy
: EmployeesPolicy
-
Clique em Aplicar
Caso de Uso 2
Neste caso de uso:
- O RH é o nome do parceiro SAML 2.0 SP
- IdP deve permitir que os usuários pertencentes ao grupo Gerentes façam SSO de Federação com esse Parceiro SP
- IdP deve permitir que o charlie faça SSO de Federação com esse Parceiro SP
Para configurar IdP para esse caso de uso, execute as seguintes etapas:
- Vá para a Console de Administração do OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole
- Navegue até Gerenciador de Acesso, Domínios de Aplicativo
- Clique em Pesquisar
- Clique no IAM Suite na lista de resultados e clique na guia Políticas de Emissão de Token
- Clique em Criar Política de Emissão de Token
- Digite um nome (por exemplo
HRPolicy
) - Clique na guia Condições
- Clique em Adicionar para adicionar uma constraint ao grupo de funcionários
- Informe os detalhes das restrições:
Name
: por exemplo, HRConditionType
: Identidade do Solicitante do Token
-
Clique em Adicionar Selecionada
-
Selecione a restrição recém-criada para configurá-la
-
Nos detalhes das condições, clique em Adicionar e selecione Adicionar Identidades
-
Selecione o Armazenamento de Identidades no qual o usuário existe. Clique em Pesquisar
-
Selecione o Grupo de Gerentes e o usuário
charlie
clique em Adicionar Selecionado
Execute as seguintes etapas:
-
Clique na tab Regras
-
Na seção Permitir Regra, selecione a condição
HRCondition
e adicione-a às Condições Selecionadas, pois queremos permitir que os usuários pertencentes ao grupo Gerentes e ao charlie de usuários façam SSO de Federação com os parceiros listados nesta política -
Clique em Aplicar
Execute as seguintes etapas para criar um novo recurso e adicioná-lo à Política de Emissão de Token HRPolicy:
- Vá para a Console de Administração do OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole
- Navegue até Gerenciador de Acesso, Domínios de Aplicativo
- Clique em Pesquisar
- Clique no IAM Suite na lista de resultados e clique na guia Recursos
- Clique em Novo Recurso e crie um novo recurso para a Política de Emissão de Token:
Type
: TokenServiceRPResource URL
, nome do Parceiro SP conforme foi criado na seção Administrador da Federação: RHOperations
: todosToken Issuance Policy
: HRPolicy
- Clique em Aplicar
Caso de Uso 3
Neste caso de uso:
- TravelSite é o nome do primeiro parceiro SP SAML 2.0
- OnlineConference.com é o nome do segundo parceiro SP SAML 2.0
- IdP deve permitir que todos os usuários façam SSO de Federação com esses Parceiros SP
Para configurar IdP para esse caso de uso, execute as seguintes etapas:
- Vá para a Console de Administração do OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole
- Navegue até Gerenciador de Acesso, Domínios de Aplicativo
- Clique em Pesquisar
- Clique no IAM Suite na lista de resultados e clique na guia Políticas de Emissão de Token
- Clique em Criar Política de Emissão de Token
- Digite um nome (por exemplo
AllUsersPolicy
) - Clique na guia Condições
- Clique em Adicionar para adicionar uma constraint a todos os usuários.
- Informe os detalhes das restrições:
Name
: por exemplo, TrueConditionType
: Verdadeiro
Descrição da ilustração TrueCondition_Screen.jpg
-
Clique em Adicionar Selecionada
Execute as seguintes etapas:
-
Clique na tab Regras
-
Na seção Permitir Regra, selecione a condição
TrueCondition
e adicione-a às Condições Selecionadas, pois queremos permitir que todos os usuários façam SSO de Federação com os parceiros listados nesta política -
Clique em Aplicar
Execute as seguintes etapas para criar um novo recurso e adicioná-lo à Política de Emissão de Token HRPolicy
para os parceiros TravelSite
e OnlineConference.com:
- Vá para a Console de Administração do OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole
- Navegue até Gerenciador de Acesso, Domínios de Aplicativo
- Clique em Pesquisar
- Clique no IAM Suite na lista de resultados e clique na guia Recursos
- Clique em Novo Recurso e crie um novo recurso para a Política de Emissão de Token para
TravelSite
: Type
: TokenServiceRPResource URL
, nome do Parceiro SP conforme foi criado na seção Administrador da Federação: TravelSiteOperations
: todosToken Issuance Policy
: AllUsersPolicy Aplicar- Clique em Novo Recurso e crie um novo recurso para a Política de Emissão de Token para
OnlineConference.com
: Type
: TokenServiceRPResource UR
L, nome do Parceiro SP conforme foi criado na seção Administrador da Federação:OnlineConference.com
Operations
: todosToken Issuance Policy
: AllUsersPolicy- Clique em Aplicar
Resumo
Para exibir os Recursos dos Parceiros SP criados acima, execute as seguintes etapas:
-
Vá para a Console de Administração do OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole
-
Navegue até Gerenciador de Acesso, Domínios de Aplicativo
-
Clique em Pesquisar
-
Clique no IAM Suite na lista de resultados e clique na guia Recursos
-
Selecione
TokenServiceRP
como o Tipo de Recurso Clique em Pesquisar A lista de recursos do tipoTokenServiceRP
será exibidaMissingRP
eUnknownRP
estão relacionados às Políticas de Autorização OSTSHR
,TravelSite
,OnlineConference.com
e401kSP
são exibidos
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Authorization in OAM and IdP
F59887-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.