Cisco Role based views

Hello,
I want to set up the following - a CLI view that will restrict different users when they login using telent or ssh.
Now for this i have enable AAA, and also create two views one for Guest and one for ADMIN.
I then have set up secret passwords for each view. Now i want user name adam to access view GUEST and username DON to access ADMIN view.
Is this possible?
Thanks,                  

hi,
You have the following configured:
aaa  authentication login mgmt group my_radius local
aaa authorization  exec mgmt group my_radius local
line  con 0
authorization exec mgmt
logging synchronous
login  authentication mgmt
line vty 0 4
authorization exec mgmt
logging synchronous
login authentication mgmt
transport  input ssh
Hence every time you try to login to the console or try the ssh the authentication will head to the radius server because of the following command "login  authentication mgmt".
You cannot make it locally. Whatever defined on the method list mgmt first will be taking the precedence.
enable seceret will be locally defined. but you have the following configured:
aaa  authorization  exec mgmt group my_radius local
line  con 0
authorization exec mgmt
line  vty 0 4
authorization exec mgmt
Hence exec mode will also be done via radius server.
when you configure:
aaa  authentication login VIEW_CONFG local
line vty 0 4
login  authentication VIEW_CONFG
You are making the authentication local, hence it is working the way you want.
In short, whatever authentication is defined 1st on the method list will take precendence. the fallback will be checked only if the 1st aaa server is not reachable.
Hope this helps.
Regards,
Anisha
P.S.: please mark this thread as answered if you feel your query is resolved. Do rate helpful posts.

Similar Messages

  • Privileges and Roles Based Views

    Hello,
    I have been confguring Roles based Views with Windows radius authentication on our 2960's and 3750's and it is working great.  I have 2 users, one with a Roles Base View called "priv3" and the other is for admins of login as the "root" view.  I have one Windows Active Directory group for "priv3" users and the other for admins using "root".
    Now I have to configure this on our 2955 switches and to my horror they don't seem to support Roles Based Views!!  fI you know if they can then all this would be solved, I've using the latest IOS c2955-i6k2l2q4-mz.121-22.EA13.bin.
    How can convert the Roles Base Views to privileges and use radius and not effect the other switches,as I've never used privilges.
    I hope someone can help with the config:
    Below is the config I use on the 2960's and 3750's and also what I use on the radius servers.  I guess I would need ot use a priv 15 setup and a custom view called priv3?
    Priv3 radius user settings
    cisco av-pair cli-view-name=priv3
    Priv 15 or root user settings
    cisco av-pair shell:priv-lvl=15
    cisco av-pair shell:cli-view-name=root
    Config:
    version 12.2
    no service pad
    service timestamps debug datetime msec
    service timestamps log datetime msec
    service password-encryption
    hostname 3750
    boot-start-marker
    boot-end-marker
    logging buffered 64000
    logging console informational
    logging monitor informational
    enable secret 5 $1$1UGK$kHB.S2UwMVXaG3C0
    username admin privilege 15 secret 5 $1$BsaS$cLHllovL2ZFb1
    username priv3users view priv3 secret 5 $1$JfnH$vUu.B.natnyB.
    aaa new-model
    aaa authentication login default group radius local
    aaa authentication enable default line
    aaa authorization console
    aaa authorization exec default group radius local
    aaa session-id common
    clock timezone GMT 0
    clock summer-time BST recurring last Sun Mar 2:00 last Sun Oct 3:00
    switch 1 provision ws-c3750g-12s
    switch 2 provision ws-c3750g-12s
    system mtu routing 1500
    udld aggressive
    no ip domain-lookup
    ip domain-name CB-DI
    login on-failure log
    login on-success log
    crypto pki trustpoint TP-self-signed-3817403392
    enrollment selfsigned
    subject-name cn=IOS-Self-Signed-Certificate-3817403392
    revocation-check none
    rsakeypair TP-self-signed-3817403392
    crypto pki certificate chain TP-self-signed-3817403392
    certificate self-signed 01
      removed
      quit
    archive
    log config
      logging enable
      logging size 200
      notify syslog contenttype plaintext
      hidekeys
    spanning-tree mode rapid-pvst
    spanning-tree extend system-id
    spanning-tree vlan 10 priority 8192
    vlan internal allocation policy ascending
    ip ssh version 2
    interface GigabitEthernet1/0/1
    interface GigabitEthernet1/0/24
    interface Vlan1
    description ***Default VLAN not to be used***
    no ip address
    no ip route-cache
    no ip mroute-cache
    shutdown
    interface Vlan10
    description ****
    ip address 10.10.150.11 255.255.255.0
    no ip route-cache
    no ip mroute-cache
    ip default-gateway 10.10.150.1
    ip classless
    no ip http server
    ip http secure-server
    logging trap notifications
    logging facility local4
    logging source-interface Vlan10
    logging 10.10.21.8
    logging 172.23.1.3
    access-list 23 permit 10.10.1.65
    snmp-server community transm1t! RO
    snmp-server trap-source Vlan10
    radius-server host 10.10.1.33 auth-port 1645 acct-port 1646 key 7 090D7E080D37471E48
    radius-server host 10.10.1.34 auth-port 1645 acct-port 1646 key 7 08607C4F1D2B551B51
    radius-server vsa send accounting
    radius-server vsa send authentication
    line con 0
    exec-timeout 60 0
    logging synchronous
    line vty 0 4
    access-class 23 in
    exec-timeout 60 0
    logging synchronous
    transport input ssh
    line vty 5 14
    access-class 23 in
    no exec
    transport input ssh
    parser view priv3
    secret 5 $1$XSCo$feyS.YaFlakfGYUgKHO/
    ! Last configuration change at 16:34:56 BST Fri Apr 13 2012
    commands interface include shutdown
    commands interface include no shutdown
    commands interface include no
    commands configure include interface
    commands exec include configure terminal
    commands exec include configure
    commands exec include show ip interface brief
    commands exec include show ip interface
    commands exec include show ip
    commands exec include show arp
    commands exec include show privilege
    commands exec include show interfaces status
    commands exec include show interfaces Vlan10 status
    commands exec include show interfaces Vlan1 status
    commands exec include show interfaces GigabitEthernet2/0/12 status
    commands exec include show interfaces GigabitEthernet2/0/11 status
    commands exec include show interfaces GigabitEthernet2/0/10 status
    commands exec include show interfaces GigabitEthernet2/0/9 status
    commands exec include show interfaces GigabitEthernet2/0/8 status
    commands exec include show interfaces GigabitEthernet2/0/7 status
    commands exec include show interfaces GigabitEthernet2/0/6 status
    commands exec include show interfaces GigabitEthernet2/0/5 status
    commands exec include show interfaces GigabitEthernet2/0/4 status
    commands exec include show interfaces GigabitEthernet2/0/3 status
    commands exec include show interfaces GigabitEthernet2/0/2 status
    commands exec include show interfaces GigabitEthernet2/0/1 status
    commands exec include show interfaces GigabitEthernet1/0/12 status
    commands exec include show interfaces GigabitEthernet1/0/11 status
    commands exec include show interfaces GigabitEthernet1/0/10 status
    commands exec include show interfaces GigabitEthernet1/0/9 status
    commands exec include show interfaces GigabitEthernet1/0/8 status
    commands exec include show interfaces GigabitEthernet1/0/7 status
    commands exec include show interfaces GigabitEthernet1/0/6 status
    commands exec include show interfaces GigabitEthernet1/0/5 status
    commands exec include show interfaces GigabitEthernet1/0/4 status
    commands exec include show interfaces GigabitEthernet1/0/3 status
    commands exec include show interfaces GigabitEthernet1/0/2 status
    commands exec include show interfaces GigabitEthernet1/0/1 status
    commands exec include show interfaces Null0 status
    commands exec include show interfaces
    commands exec include show configuration
    commands exec include show
    commands configure include interface GigabitEthernet1/0/1
    commands configure include interface GigabitEthernet1/0/2
    commands configure include interface GigabitEthernet1/0/3
    commands configure include interface GigabitEthernet1/0/4
    commands configure include interface GigabitEthernet1/0/5
    commands configure include interface GigabitEthernet1/0/6
    commands configure include interface GigabitEthernet1/0/7
    commands configure include interface GigabitEthernet1/0/8
    commands configure include interface GigabitEthernet1/0/9
    commands configure include interface GigabitEthernet1/0/10
    commands configure include interface GigabitEthernet1/0/11
    commands configure include interface GigabitEthernet1/0/12
    commands configure include interface GigabitEthernet2/0/1
    commands configure include interface GigabitEthernet2/0/2
    commands configure include interface GigabitEthernet2/0/3
    commands configure include interface GigabitEthernet2/0/4
    commands configure include interface GigabitEthernet2/0/5
    commands configure include interface GigabitEthernet2/0/6
    commands configure include interface GigabitEthernet2/0/7
    commands configure include interface GigabitEthernet2/0/8
    commands configure include interface GigabitEthernet2/0/9
    commands configure include interface GigabitEthernet2/0/10
    commands configure include interface GigabitEthernet2/0/11
    commands configure include interface GigabitEthernet2/0/12
    ntp logging
    ntp clock-period 36028961
    ntp server 10.10.1.33
    ntp server 10.10.1.34
    end
    Thanks!!!!

    DBelt --
    Hopefully this example suffices.
    Setup
    SQL> CREATE USER test IDENTIFIED BY test;
    User created.
    SQL> GRANT CREATE SESSION TO test;
    Grant succeeded.
    SQL> GRANT CREATE PROCEDURE TO test;
    Grant succeeded.
    SQL> CREATE ROLE test_role;
    Role created.
    SQL> GRANT CREATE SEQUENCE TO test_role;
    Grant succeeded.
    SQL> GRANT test_role TO test;
    logged on as Test
    SQL> CREATE OR REPLACE PACKAGE definer_rights_test
      2  AS
      3          PROCEDURE test_sequence;
      4  END definer_rights_test;
      5  /
    Package created.
    SQL> CREATE OR REPLACE PACKAGE BODY definer_rights_test
      2  AS
      3          PROCEDURE test_sequence
      4          AS
      5          BEGIN
      6                  EXECUTE IMMEDIATE 'CREATE SEQUENCE test_seq';
      7          END;
      8  END definer_rights_test;
      9  /
    Package body created.
    SQL> CREATE OR REPLACE PACKAGE invoker_rights_test
      2  AUTHID CURRENT_USER
      3  AS
      4          PROCEDURE test_sequence;
      5  END invoker_rights_test;
      6  /
    Package created.
    SQL> CREATE OR REPLACE PACKAGE BODY invoker_rights_test
      2  AS
      3          PROCEDURE test_sequence
      4          AS
      5          BEGIN
      6                  EXECUTE IMMEDIATE 'CREATE SEQUENCE test_seq';
      7          END;
      8  END invoker_rights_test;
      9  /
    Package body created.
    SQL> EXEC definer_rights_test.test_sequence;
    BEGIN definer_rights_test.test_sequence; END;
    ERROR at line 1:
    ORA-01031: insufficient privileges
    ORA-06512: at "TEST.DEFINER_RIGHTS_TEST", line 7
    ORA-06512: at line 1
    SQL> EXEC invoker_rights_test.test_sequence;
    PL/SQL procedure successfully completed.
    SQL> SELECT test_seq.NEXTVAL from dual;
                 NEXTVAL
                       1

  • Role-based view commands missing from config

    Hi All,
    I set up a 2960G with IOS 12.2(44)SE6 and created a role-based view to be used by our helpdesk.  One of the things they need to do is add rules to a MAC ACL on the switch.  I've successfully created a view for them and can include and exclude most commands, however, when I try to include the "commands mac-enacle include all permit" command, I get no syntax error, and there is no line in my configuration reflecting the change. As it stands, from the helpdesk view (named smco) I can get into mac acl configuration mode, but I can't issue any of the sub commands.
    Any advice would be greatly appreciated.  I tried upgraded to 12.2(55)SE and had the same result.
    The current configuration for the parser view is as follows:
    parser view smco
    secret 5 hashed_pw
    commands configure include mac access-list extended
    commands configure include all mac access-list
    commands configure include mac
    commands exec include configure terminal
    commands exec include configure

    After I issue the command "commands mac-enacl include all permit" there is no line in my startup or running configuration that says: "commands mac-enacl include all permit" or anything that closely resembles that.
    I've tested with multiple local accounts.  After authenticating, I issue the "enable view smco".

  • Role-Based CLI Views with AAA method

    Hi,
    I'm configuring Role-Based CLI Views on a router for limiting access to users.
    My criteria:
    - There should be a local user account on the router that has the view 'service' attached to it
    - If the router is online and can reach the radius server, people in the correct group are assigned the view 'service'
    My configuration:
    aaa new-model
    enable secret 1234
    username service view service secret 1234
    aaa group server radius my_radius
    server-private 10.1.1.1 auth-port 1645 acct-port 1646 timeout 3 retransmit 2 key 0 1234
    server-private 10.1.1.2 auth-port 1645 acct-port 1646 timeout 2 retransmit 1 key 0 1234
    aaa authorization console
    aaa authentication login mgmt group my_radius local
    aaa authorization exec mgmt group my_radius local
    line con 0
    authorization exec mgmt
    logging synchronous
    login authentication mgmt
    line vty 0 4
    authorization exec mgmt
    logging synchronous
    login authentication mgmt
    transport input ssh
    The ERROR
    Now I want to go configure the cli view 'service'...
    # enable view
    Password: 1234
    *Jun  1 08:00:02.991: AAA/AUTHEN/VIEW (0000000D): Pick method list 'mgmt'
    *Jun  1 08:00:02.991: RADIUS/ENCODE(0000000D): ask "Password: "
    *Jun  1 08:00:02.991: RADIUS/ENCODE(0000000D): send packet; GET_PASSWORD
    *Jun  1 08:00:21.011: RADIUS: Received from id 1645/13 10.1.1.1:1645, Access-Reject, len 20
    The Questions
    Why does the 'enable view' try to pick a method list when you have to supply the enable secret to access the root view?
    Can you change this behaviour to always use the enable secret?
    The TEMP Solution
    If you're logged on to the router via telnet or SSH, the solution or workaround to this issue is:
    aaa authentication login VIEW_CONFG local
    line vty 0 4
    login authentication VIEW_CONFG
    Do your configuration of the view and re-configure the line to use the correct (wanted) method of authentication.
    Thanks so much for the suggestions
    /JZN

    hi,
    You have the following configured:
    aaa  authentication login mgmt group my_radius local
    aaa authorization  exec mgmt group my_radius local
    line  con 0
    authorization exec mgmt
    logging synchronous
    login  authentication mgmt
    line vty 0 4
    authorization exec mgmt
    logging synchronous
    login authentication mgmt
    transport  input ssh
    Hence every time you try to login to the console or try the ssh the authentication will head to the radius server because of the following command "login  authentication mgmt".
    You cannot make it locally. Whatever defined on the method list mgmt first will be taking the precedence.
    enable seceret will be locally defined. but you have the following configured:
    aaa  authorization  exec mgmt group my_radius local
    line  con 0
    authorization exec mgmt
    line  vty 0 4
    authorization exec mgmt
    Hence exec mode will also be done via radius server.
    when you configure:
    aaa  authentication login VIEW_CONFG local
    line vty 0 4
    login  authentication VIEW_CONFG
    You are making the authentication local, hence it is working the way you want.
    In short, whatever authentication is defined 1st on the method list will take precendence. the fallback will be checked only if the 1st aaa server is not reachable.
    Hope this helps.
    Regards,
    Anisha
    P.S.: please mark this thread as answered if you feel your query is resolved. Do rate helpful posts.

  • AAA and Role based access (NPS)

    Hi
    I authenticate all my cisco switches and routers with AAA + NPS + AD
    A server runs NPS service with cisco attribute shell:priv-lvl=15 or 5, depending of AD group.
    But I'd like configure role based with IOS view.
    When I issue the enable view command,  I get
    Password:
    I tried with my AD password, enable configurated password, and always gets
    % Authentication failed
    Mi line vty config
    line vty 0 4
    authorization exec VTY-AAA
    login authentication VTY-AAA
    transport input ssh

    Have you gone through the below listed parser view configuration example. Please check here
    View authentication is performed by an external authentication server via the new attribute "cli-view-name" so you need to use cisco-av-pair as cli-view-name=xxxx
    AAA authentication associates only one view name to a particular user; that is, only one view name can be configured for a user in an authentication server.
    In case you still have any issues, run debug parser view and share the output, I'll try to help.
    ~BR
    Jatin Katyal
    **Do rate helpful posts**

  • Renumbering with ACL-Friendly Role-Based Addressing or...?

    We are a mid-sized manufacturing firm operating out of three locations and we are in the process of making plans to restructure and renumber our networks so as to better facilitate automated configuration management and security, in addition to easing our deployment of IPv6.  Currently, at each site the L3/L2 boundary resides at the network core, but increasing traffic/chatter has us considering moving the L3/L2 boundary to the access layer(s), which consist of 3560-X units in the wiring closets that are supporting edge devices either directly or via 8-port 3560-C compact switches in the further reaches of our manufacturing and warehouse spaces.
    As we contemplate moving to a completely routed network, the big unknown we're struggling with is whether or not it is safe or even desirable to abandon ACL-friendly addressing, and whether, in doing so, we can expect to run into hardware limitations resulting from longer ACLs.
    Currently, each of our site-wide VLANs gets a subnet of the form 10.x.y.0/24, where x identifies the site and y identifies the class of equipment connected to said VLAN.  This allows us to match internal traffic of a given type with just a single ACE, irrespective of where the end-point device resides geographically.  Moving L3 routing decisions out to the access switches will require that we adopt smaller prefix assignments, with as many as 8 distinct subnets on each of our standard-issue 3560CG-8PC compact switches.  Why so many, you ask?  We currently have more than 30 ACL-relevant classifications of devices/hosts - a number that will only grow with time, and to maximize the availability of all services, it is our policy to physically distribute edge devices of a given class (eg. printers, access points, etc) over as many access switches as possible.
    From what I can see, we have three options, each of which present trade-offs in terms of management complexity and address utilization efficiency: 
    Option 1: Stick with ACL-friendly addressing, both for IPv4 and IPv6, and allocate uniform prefixes to each access switch.  For IPv4, within the 10.0.0.0/8 block we would probably allocate 8 bits to the site ID (/16), followed by 6 bits as the switch ID (/22), and 7 bits to identify the equipment/host classification (/29), for a maximum of 5 available addresses for a given class of devices on a given access switch.  For IPv6, assuming we have a /48 block for each site, we would use the first two bits to identify the type of allocation, the following 6 as the switch ID (/56), and the following 8 as the equipment/host classification (/64).
    Option 2: Abandon ACL-friendly addressing and dynamically allocate standard-sized prefixes from a common pool to each VLAN on a given switch.  The advantages of this approach are increased utilization efficiency and more addresses available within each VLAN, but it comes at the cost of non-summarizable routing tables and ACLs, and even if the hardware can handle this, it means we're talking about a more complex configuration management system and less ease in troubleshooting problems.
    Option 3: Do something similar to option 1, but with the L2/L3 boundary positioned at the distribution layer rather than the access layer.  I'm disinclined to go this route, as it seems to require the same, if not more, management complexity than we'll encounter with option 1, with only marginal benefits over keeping things the way they are currently (L2/L3 boundary at the network core).
    Thoughts?  What issues have we neglected to consider?  No matter which approach we select, it shall be assumed that we will be building a system to track all of these prefix assignments, provision switches, and manage their configurations.  From a standpoint of routing protocols, we would probably be looking at OSPFv2/v3.  It can also be assumed that if we encounter legacy devices requiring direct L2 connectivity to one another that we already have ways of bridging their traffic using external devices, so as far as this discussion is concerned, they aren't an issue.
    Thanks in advance for your ideas!
    -Aaron

    Hi David,
    Permissions based on GUI components is a simple & neat idea. But is it rugged? Really secure? It might fall short of Grady Booch's idea of Responsibilities of objects. Also that your Roles and Access components are coupled well with Views!!!!!!!
    My suggestion regarding the Management Beans is only to do with the dynamic modification which our discussion was giong forward.
    If we go back to our fundamental objective of implementing a Role based access control,let me put some basic questions.
    We have taken the roles data from a static XML file during the start up of the container. The Roles or Access are wanted to be changed dynamically during the running of the container. You would scrutinize the changes of Roles and access before permission during the case of dynamic modification.
    Do you want this change to happen only for that particular session? Don't you want these changes to persist??? When the container is restarted, don't you want the changes to stay back?
    If the answer to the above is YES(yes I want to persist changes), how about doing a write operation(update role/access) of the XML file and continue your operation? After all, you can get the request to a web or session bean and keep going.
    If the answer to the above is NO(no, i don't want to persist), you can still get the change role request to a web or session bean and keep going.
    Either way, there is going to be an intense scrutiny of the operator before giving her permissions!!!
    One hurdle could be that how to get all neighbouring servers know about the changes in roles and access??? An MBean or App Server API could help you in this.
    May I request all who see this direction to pour in more comments/ideas ? I would like to hear from David, duffymo, komone and jschell.
    Rajesh

  • Role Based Access problem in forms

    This would be a long reading.
    I'm having a problem with forms Role Based Access.
    We have two databases, one in London and one in Zurich. We have installed
    application server and oracle forms on London database. We have implemented
    Role Based Access to forms. For this we have created a database role (say ZUR_USER)
    in both databases. The view FRM50_ENABLED_ROLES which is used by forms role based access control
    is also created in both databases with a 'grant select to public'.
    Our form system has a menu and forms under that menu. Both menu and the underlying forms have been
    assigned Menu Security/Item Roles to the above mentioned ZUR_USER role and the role is assigned
    to various users.
    Now a Zurich user is trying to login to Zurich database using the URL for forms installation
    in London server. He can login successfully and can see the menu heading in the main screen but
    when he clicks the menu he doesn't see the underlying forms list.
    When we try the same user id and database from London (using the same URL) we see all the forms.
    Any idea what are we missing. The Menu Security is setup at menu level as well as the form level under
    that menu. User can see the menu but not the form under that menu from Zurich. No such problem while
    login from London.

    I'm using the Forms 10g
    and yes the only difference is between login from Zurich and London.
    Problem definitely is due to Role Based Access setup.
    The user in Zurich can see the Menu but not the items under that menu.
    I have set the security set up at both menu and menu item(i.e. form name) level.

  • Role Based Access Control in Java

    Hi,
    we are designing a software solution that makes use of the Role Based Access Control pattern to control access of functions, EJBs, Servlets to certain users based on their "role".
    I have not been able to understand clearly how that pattern can be implemented in Java. In addition, I stumbled on the java.security.acl and I wondering how will the package work together with RBAC pattern (Or is the pattern already implemented in some package)?
    Does any1 have any comments on this? Thnx
    Dave

    Hi David,
    Permissions based on GUI components is a simple & neat idea. But is it rugged? Really secure? It might fall short of Grady Booch's idea of Responsibilities of objects. Also that your Roles and Access components are coupled well with Views!!!!!!!
    My suggestion regarding the Management Beans is only to do with the dynamic modification which our discussion was giong forward.
    If we go back to our fundamental objective of implementing a Role based access control,let me put some basic questions.
    We have taken the roles data from a static XML file during the start up of the container. The Roles or Access are wanted to be changed dynamically during the running of the container. You would scrutinize the changes of Roles and access before permission during the case of dynamic modification.
    Do you want this change to happen only for that particular session? Don't you want these changes to persist??? When the container is restarted, don't you want the changes to stay back?
    If the answer to the above is YES(yes I want to persist changes), how about doing a write operation(update role/access) of the XML file and continue your operation? After all, you can get the request to a web or session bean and keep going.
    If the answer to the above is NO(no, i don't want to persist), you can still get the change role request to a web or session bean and keep going.
    Either way, there is going to be an intense scrutiny of the operator before giving her permissions!!!
    One hurdle could be that how to get all neighbouring servers know about the changes in roles and access??? An MBean or App Server API could help you in this.
    May I request all who see this direction to pour in more comments/ideas ? I would like to hear from David, duffymo, komone and jschell.
    Rajesh

  • ADF UIX Role Based Access Control Implementation

    Hi,
    Can anybody suggest a detailed example or tutorials of how to implement a role based access control for my ADF UIX application.
    The application users can be dymanically added to specific roles (admin, Secretary, Guest). Based on the roles, they should be allowed to access only certain links or ADF entity/view operations. Can this be implemented in a centralized way.
    Can this be done using JAZN or JAAS. If so, Please provide me references to simple tutorial on how to do this.
    Thanks a lot.
    Sathya

    Brenden,
    I think you are following a valid approach. The default security in J2EE and JAAS (JAZN) is to configure roles and users in either static files (jazn-data.xml) or the Oracle Internet Directory and then use either jazn admin APIs or the OID APIs to programmatically access users, groups and Permissions (your role_functions are Permissions in a JAAS context).
    If you modelled your security infrastructure in OID than the database, an administrator would be able to use the Delegated Administration Service (DAS), as web based console in Oracle Application Server. To configure security this way, you would have two options:
    1. Use J2EE declarative security and configure all you .do access points in web.xml and constrain it by a role name (which is a user group name in OID). The benefit of this approach is that you can get Struts actions working dirctly with it because Struts actions have a roles attribute.
    The disadvantage is that you can't dynamically create new roles because they have to be mapped in web.xml
    2. Use JAAS and check Permissions on individual URLs. This allows you to perform finer grained and flexible access control, but also requires changes to Struts. Unlike the approach of subclassing the DataActionForward class, I would subclass the Struts RequestProcessor and change the processRoles method to evaluate JAAS permissions.
    The disadvantage of this approach is that it requires coding that should be done carefully not to lock you in to your own implementation of Struts so that you couldn't easily upgrade to newer versions.
    1 - 2 have the benefit of that the policies can be used by all applications in an enterprise that use Oracle Application Server and e.g. SSO.
    Your approach - as said - is valid and I think many customers will look for the database first when looking at implementing security (so would I).
    Two links that you might be interested in to read are:
    http://sourceforge.net/projects/jguard/ --> an open source JAAS based security framework that stores the user, roles and permissions in database tables similar to your approach
    http://www.oracle.com/technology/products/jdev/collateral/papers/10g/adfstrutsj2eesec.pdf --> a whitepaper I've written about J2EE security for Web applications written with Struts and JavaServer pages. You may not be able to use all of it, but its a good source of information.
    Frank

  • Any best practice to apply role based access control?

    Hi,
    I am starting to apply the access permissions for new users as being set by admin. I am choosing Role Based Access Control for this task.
    Can you please share the best practices or any built-in feature in JSF to achieve my goal?
    Regards,
    Faysi

    Hi,
    The macro pattern is my work. I've received a lot of help from forums as this one and from the Java developers community in general and I am very happy to help others and share my work.
    Regarding the architect responsibility of defining the pages according to the roles that have access to them : there is the enterprise.software infrastructure.facade
    java package.
    Here I implemented the Facade GoF software design pattern in the GroupsAndRolesAccessFacade java class. Thus, this is the only class the developer uses in order to define groups and roles of users and to define their access as per page.
    This is according to Java EE 6 tutorial, section VII Security, page 471.
    A group, role or user is created with an Identity Management application or by a custom application.
    Pages of the application and their sections are defined or modified together with the group, role or user who has access to them.
    For this u can use the createActiveGroup and createActiveRole methods of the GroupsAndRolesAccessFacade class.
    I've been in situations where end users very strict about the functionality of the application.
    If you try to abstract web development, u can think of writing to database, reading from database and modifying the database as actions.
    Each of these actions should have suggester, approver and implementor.
    Thus u can't call the createActiveGroup method for example, without calling first the requestActiveGroupCreationHelper and then the approveOrDeclineActiveGroupCreationHelper method.
    After the pages a group has access to have been defined with the createActiveGroup method, a developer can find out the pages and their sections a group has access to by calling the getMinimumInformationAboutGroup method.
    Further more, if the application is very strict, that is if every action which envolves writing to the database must be recorded, this concept of suggester, approver and implementor is available throught the recordActiveGroupAction method.
    For example, there is a web shop, its managers can change the prices of the products, but the boss will want to know who had the dared to lower prices.
    This action of lowering prices, is an action of modifying the information in the database and u can save in the database who suggested it, who approved it and who implemented it.
    Now that I write about the functionality of the macro pattern, I realise that some methods should have more proper names and I haven't had time to write documentation in the API, but this will be a complete when I add the web pages for the architect to use for defining access control and for the end users to view who and what is doing with their application.

  • Why Role based Firefighter

    Hello Folks,
    What is the difference between Role based and Firefighter Id based Firefighting from an organization point of view.
    The general practice is to go with Firefighter ID but I want to know a situation when Firefighter Role based strategy can be an advantage over the other.
    In the user guide it is not mentioned when and why Role based Firefighter should be used.
    Thanks in advance,
    Amol Bharti

    FF access via role assignments can be approved and provisioned in Access Enforcer (AE). Firefighter access can also be removed via Access Enforcer by submitting a request to remove the firefighter roles. FF access approvals are captured in the AE audit trail. The business reason for requesting/approving the access can also be captured in the comment section of AE.
    FF access could be granted only after appropriate approvals EVERY time a user needs FF access. Each time a request for the FF role through AE (the request could go through a separate workflow path) and the request will be approved before being provisioned to the user. The approver can change the validity dates on the role assignment so that it can be provisioned for one day, for a week, a month, etc... An audit trail in AE will provide the approver information for historical purposes. This meets the policy of approvals every time FF access is provided instead of the 24/7 master data set-up in the original Firefighter process.
    When running an SOD risk analysis on the user, the report will show the SODs the user has including their Firefighter access. (These SODs would then be mitigated per user even though they are a Firefighter.) There is a risk to the company when a firefighter can do one half of the risk on their own user ID and the second half of the risk on their Firefighter ID. Although this could still be caught, it would take some manual analysis. By using role-based Firefighter, all activities are performed and recorded under the user's normal user ID.
    The Firefighter does not need to "check-out" a Firefighter ID the access is on their normal user ID.
    The standard SAP audit trails have the user IDs instead of the firefighter IDs, so when researching the change, the firefighter logs don't need to be analyzed to see which user had used that Firefighter ID at that time.

  • CSM Role Based Administration

    Does Cisco Security Manager 4.x and Cisco Secure Access Control Server 5.x integrated role based administration has fine-grained control for devices? E.g.,
    * User-a can only manage policy-a for device-a
    * User-b can only manage policy-b for device-b

    ACS 4.2 should allow role-based access, but until the final build of CSM 4.0 is released this cannot be confirmed.
    I am not aware of plans to add the support within ACS 5.x, but you can always engage your Cisco account team to submit a product enhancement request on your behalf.
    Scott

  • JHeadStart Security problem-error page cannot be found- role based security

    JHeadStart Security problem-error page cannot be found- role based security
    Good morning! How are you? I would need some help in a jheadstart 10.1.3.2 security case and I was wondering if you could give me a hand to go on. I create the Model project with tables of oe schema. Then in JHeadStart to perform security I follow the following steps: In ViewController/WEB-INF/web.xml – properties I do the following: login configuration: http basic authentication rfc 7617: realm:jazn.com
    Security roles : I define two roles: customer and administrator , Security Constraints: web_resources: All_pages, Url Patterns: faces/*. Then in Tools/Embedded OC4J Preferences/Global/Authentication JAZN/Realms/jazn.com/users: I define two users c1, password c1 and a1,password a1, roles/member users/ I attribute the roles to the relevant users c1—customer and a1—administrator. Then in application definition editor on service level I define security/use role based authorization=true , authorization type: JAAS and when access denied go to next group=true. On group level e.g.: ProductInformation: Authorization/Authorized Roles Permissions: administrator.On item level : Orders/Items/OrderTotal/Operations/Update Allowed: #{jhsUserRoles['administrator']},Then I generate the pages (run the jag) . The generation is completed successfully but when I run the View Controller project a “the website declined to show this webpage…(page cannot be found)’ is displayed. What should I do? I would appreciate it if you would help me on this issue! Thank you very much.

    Thand you very much for your reply! Unfortunately there is a specific restriction-convention in the project I work in. I am supposed to perform role based security with my own tables and no by the jheadstart’s ones. Could you find out what is my fault with the steps I follow trying to perform the process?
    To remind you my steps I paste the following again:
    JHeadStart Security problem-error page cannot be found- role based security
    Good morning! How are you? I would need some help in a jheadstart 10.1.3.2 security case and I was wondering if you could give me a hand to go on. I create the Model project with tables of oe schema. Then in JHeadStart to perform security I follow the following steps: In ViewController/WEB-INF/web.xml – properties I do the following: login configuration: http basic authentication rfc 7617: realm:jazn.com
    Security roles : I define two roles: customer and administrator , Security Constraints: web_resources: All_pages, Url Patterns: faces/*. Then in Tools/Embedded OC4J Preferences/Global/Authentication JAZN/Realms/jazn.com/users: I define two users c1, password c1 and a1,password a1, roles/member users/ I attribute the roles to the relevant users c1—customer and a1—administrator. Then in application definition editor on service level I define security/use role based authorization=true , authorization type: JAAS and when access denied go to next group=true. On group level e.g.: ProductInformation: Authorization/Authorized Roles Permissions: administrator.On item level : Orders/Items/OrderTotal/Operations/Update Allowed: #{jhsUserRoles['administrator']},Then I generate the pages (run the jag) . The generation is completed successfully but when I run the View Controller project a “the website declined to show this webpage…(page cannot be found)’ is displayed. What should I do? I would appreciate it if you would help me on this issue! Thank you very much.

  • PPM Consulting Solution Role Based RPM Navigation for PPM50

    Hi,
    We just upgraded from PPM 4.5 to PPM 5.0. In PPM 4.5 the detail navigation in Portal is dynamic and changes based on the application opened in content area. I believe it is due to  PPM Consulting Solution Role Based RPM Navigation as mentioned in SAP Note 0001276641.
    How can we get a similar dynamic detail naviation in Portal for PPM 5.0. Is there a corresponding consulting solution in PPM50 as well?
    Thanks,
    Yomesh

    Hello Yomesh,
    As per my understanding there is no consulting solution for this in 5.0.
    Alternatively, you can try to utilize the config around 'Define Authorizations for Detail Screen Views/Subviews' IMG node and see if you can build a solution using the ACL authorizations.
    I have not yet tried this in our system, but i'll give it a try and let you know.
    Thanks,
    Gaurav

  • Role Based workflows & Sync Options

    Hi Team,
    I would like to know if the system allows for role based rights in authoring the content. Eg: teachers have right to edit content while the student can only view or download the content.
    What are the Sync options available. Does the content automatically get updated when moving from offline to online mode?

    Hello and welcome to the forum,
    Are you a newbie with Captivate? The published version (either SWF or HTML5) cannot be edited, only the 'raw' unpublished CPTX or CPVC files can be edited. So, your teachers should need to have Captivate installed and then they can edit cptx/cpvc files and republish them. For students you upload published output to a LMS or a webserver.
    Lilybiri
    Sorry forgot about sync, no, since you have to republish when file has been edited.

Maybe you are looking for