Hi Steve, Great, thanks for that - deleting the policy file and reloading the policies works perfectly.
Cheers, Richard Steve Bayliss wrote: > Hi Richard > > The active policies (generated on first-time installation/startup from the > directory you found below) are under > > $FEDORA_HOME/fedora-xacml-policies (then under repository-policies/default) > > So try modifying the policy there (and then reloading) - in fact you could > simply delete this policy to see if it is causing the problem. > > Steve > > >> -----Original Message----- >> From: Richard Jones [mailto:[email protected]] >> Sent: 22 June 2010 11:48 >> To: Steve Bayliss >> Cc: [email protected] >> Subject: Re: [Fedora-commons-developers] Authorisation Error using API >> >> >> Hi Steve, >> >> Ah, interesting, thanks for that; didn't know about this - >> found the file: >> >> fed...@fedora:~/fedora-dev/fedora-32/server$ find . | grep deny >> ./fedora-internal-use/fedora-internal-use-repository-policies- >> approximating-2.0/deny-reloadPolicies-if-not-localhost.xml >> ./fedora-internal-use/fedora-internal-use-repository-policies- >> approximating-2.0/deny-purge-datastream-if-active-or-inactive.xml >> ./fedora-internal-use/fedora-internal-use-repository-policies- >> approximating-2.0/deny-serverShutdown-if-not-localhost.xml >> ./fedora-internal-use/fedora-internal-use-repository-policies- >> approximating-2.0/deny-policy-management-if-not-administrator.xml >> ./fedora-internal-use/fedora-internal-use-repository-policies- >> approximating-2.0/deny-apim-if-not-localhost.xml >> ./fedora-internal-use/fedora-internal-use-repository-policies- >> approximating-2.0/deny-inactive-or-deleted-objects-or-datastre >> ams-if-not-administrator.xml >> ./fedora-internal-use/fedora-internal-use-repository-policies- >> approximating-2.0/deny-purge-object-if-active-or-inactive.xml >> >> is this the correct one? It seems fairly hidden away, >> perhaps there's >> somewhere else I should be editing these policies? >> >> Anyway, I have removed the policy file completely (for the >> purposes of >> testing) and run the fedora-reload-policies tool: >> >> fed...@fedora:~/fedora-dev/fedora-32/server$ find . | grep deny >> ./fedora-internal-use/fedora-internal-use-repository-policies- >> approximating-2.0/deny-reloadPolicies-if-not-localhost.xml >> ./fedora-internal-use/fedora-internal-use-repository-policies- >> approximating-2.0/deny-purge-datastream-if-active-or-inactive.xml >> ./fedora-internal-use/fedora-internal-use-repository-policies- >> approximating-2.0/deny-serverShutdown-if-not-localhost.xml >> ./fedora-internal-use/fedora-internal-use-repository-policies- >> approximating-2.0/deny-policy-management-if-not-administrator.xml >> ./fedora-internal-use/fedora-internal-use-repository-policies- >> approximating-2.0/deny-inactive-or-deleted-objects-or-datastre >> ams-if-not-administrator.xml >> ./fedora-internal-use/fedora-internal-use-repository-policies- >> approximating-2.0/deny-purge-object-if-active-or-inactive.xml >> >> fed...@fedora:~/fedora-dev/fedora-32/server/bin$ >> ./fedora-reload-policies.sh http fedoraAdmin ***** >> SUCCESS: Policies have been reloaded >> >> but am still seeing exactly the same results. >> >> I then tried modifying the deny-apim-if-not-localhost.xml, >> changing the >> Apply rules as follows: >> >> <Rule RuleId="1" Effect="Deny"> >> <Condition FunctionId="urn:oasis:names:tc:xacml:1.0:function:not"> >> <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:or"> >> <!-- Apply >> FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-at-le >> ast-one-member-of"> >> >> <EnvironmentAttributeDesignator >> AttributeId="urn:fedora:names:fedora:2.1:environment:httpReque >> st:clientIpAddress" >> DataType="http://www.w3.org/2001/XMLSchema#string"/> >> <Apply >> FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-bag"> >> <AttributeValue >> DataType="http://www.w3.org/2001/XMLSchema#string">127.0.0.1</ >> AttributeValue> >> >> </Apply> >> </Apply --> >> <Apply >> FunctionId="urn:oasis:names:tc:xacml:1.0:function:regexp-strin >> g-match"> >> <AttributeValue >> DataType="http://www.w3.org/2001/XMLSchema#string">.*</AttributeValue> >> <Apply >> FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-one-a >> nd-only"> >> <EnvironmentAttributeDesignator >> AttributeId="urn:fedora:names:fedora:2.1:environment:httpReque >> st:clientIpAddress" >> DataType="http://www.w3.org/2001/XMLSchema#string"/> >> </Apply> >> </Apply> >> </Apply> >> </Condition> >> </Rule> >> >> I believe, from the documentation in the file, that this should mean >> that any IP address which matches the regular expression .* >> (so, all of >> them) will be permitted to access the API. This approach also failed. >> >> I tried also restarting tomcat after policy reloads, without effect. >> >> Any thoughts? >> >> Cheers, >> >> Richard >> >> >> Steve Bayliss wrote: >> >>> Hi Richard >>> >>> You don't by any chance have the >>> >> deny-apim-if-not-localhost.xml policy on >> >>> the new machine? This policy will (unedited) prevent API-M >>> >> access unless >> >>> you're accessing Fedora from the same machine on which it >>> >> is installed. >> >>> Regards >>> Steve >>> >>> >>> >>>> -----Original Message----- >>>> From: Richard Jones [mailto:[email protected]] >>>> Sent: 21 June 2010 15:24 >>>> To: [email protected] >>>> Subject: [Fedora-commons-developers] Authorisation Error using API >>>> >>>> >>>> Hi Folks, >>>> >>>> I'm having a bizarre problem with my Fedora 3.2. I've >>>> >> been using the >> >>>> desktop admin client to create objects in the repository, >>>> >> and today I >> >>>> have moved my fedora repository onto another machine. Now when I >>>> attempt to create new objects through both the SOAP (using >>>> the desktop >>>> client) or the REST API's I get these >>>> >> AuthzDeniedExceptions. I have >> >>>> used the desktop client to successfully authenticate onto >>>> >> the Fedora >> >>>> instance, and I can perform READ operations such as search >>>> and retrieve, >>>> but when I ask it to create a new object I get this error >>>> >> in the logs. >> >>>> Any suggestions? >>>> >>>> Cheers, >>>> >>>> Richard >>>> >>>> >>>> ERROR 2010-06-21 14:18:06.793 [http-8080-Processor24] >>>> (FedoraAPIMBindingSOAPHTTPImpl) Error getting next PID >>>> fedora.server.errors.authorization.AuthzDeniedException: >>>> at >>>> fedora.server.security.PolicyEnforcementPoint.enforce(PolicyEn >>>> forcementPoint.java:457) >>>> at >>>> fedora.server.security.DefaultAuthorization.enforceGetNextPid( >>>> DefaultAuthorization.java:637) >>>> at >>>> fedora.server.management.DefaultManagement.getNextPID(DefaultM >>>> anagement.java:1181) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess >>>> orImpl.java:57) >>>> at >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth >>>> odAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:616) >>>> at >>>> fedora.server.messaging.NotificationInvocationHandler.invoke(N >>>> >>>> >>> otificationInvocationHandler.java:92) >>> >>> >>>> at $Proxy0.getNextPID(Unknown Source) >>>> at >>>> fedora.server.management.ManagementModule.getNextPID(Managemen >>>> tModule.java:323) >>>> at >>>> fedora.server.management.FedoraAPIMBindingSOAPHTTPImpl.getNext >>>> PID(FedoraAPIMBindingSOAPHTTPImpl.java:507) >>>> at >>>> fedora.server.management.FedoraAPIMBindingSOAPHTTPSkeleton.get >>>> NextPID(FedoraAPIMBindingSOAPHTTPSkeleton.java:432) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess >>>> orImpl.java:57) >>>> at >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth >>>> odAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:616) >>>> at >>>> org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCPro >>>> vider.java:397) >>>> at >>>> org.apache.axis.providers.java.RPCProvider.processMessage(RPCP >>>> rovider.java:186) >>>> at >>>> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvide >>>> r.java:323) >>>> at >>>> org.apache.axis.strategies.InvocationStrategy.visit(Invocation >>>> Strategy.java:32) >>>> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) >>>> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) >>>> at >>>> >>>> >> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453) >> >>>> at >>>> >> org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) >> >>>> at >>>> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet. >>>> java:699) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) >>>> at >>>> org.apache.axis.transport.http.AxisServletBase.service(AxisSer >>>> vletBase.java:327) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt >>>> er(ApplicationFilterChain.java:269) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli >>>> cationFilterChain.java:188) >>>> at >>>> fedora.server.security.servletfilters.FilterSetup.doFilter(Fil >>>> terSetup.java:256) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt >>>> er(ApplicationFilterChain.java:215) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli >>>> cationFilterChain.java:188) >>>> at >>>> fedora.server.security.servletfilters.FilterSetup.doFilter(Fil >>>> terSetup.java:256) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt >>>> er(ApplicationFilterChain.java:215) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli >>>> cationFilterChain.java:188) >>>> at >>>> fedora.server.security.servletfilters.FilterSetup.doFilter(Fil >>>> terSetup.java:256) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt >>>> er(ApplicationFilterChain.java:215) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli >>>> cationFilterChain.java:188) >>>> at >>>> fedora.server.security.servletfilters.FilterSetup.doFilter(Fil >>>> terSetup.java:256) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt >>>> er(ApplicationFilterChain.java:215) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli >>>> cationFilterChain.java:188) >>>> at >>>> fedora.server.security.servletfilters.FilterSetup.doFilter(Fil >>>> terSetup.java:256) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt >>>> er(ApplicationFilterChain.java:215) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli >>>> cationFilterChain.java:188) >>>> at >>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW >>>> rapperValve.java:213) >>>> at >>>> org.apache.catalina.core.StandardContextValve.invoke(StandardC >>>> ontextValve.java:174) >>>> at >>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Aut >>>> henticatorBase.java:525) >>>> at >>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHost >>>> Valve.java:127) >>>> at >>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport >>>> Valve.java:117) >>>> at >>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn >>>> gineValve.java:108) >>>> at >>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap >>>> ter.java:174) >>>> at >>>> org.apache.coyote.http11.Http11Processor.process(Http11Process >>>> or.java:874) >>>> at >>>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHa >>>> ndler.processConnection(Http11BaseProtocol.java:665) >>>> at >>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolT >>>> cpEndpoint.java:528) >>>> at >>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(Le >>>> >>>> >>> aderFollowerWorkerThread.java:81) >>> >>> >>>> at >>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( >>>> ThreadPool.java:689) >>>> at java.lang.Thread.run(Thread.java:636) >>>> >>>> Cheers, >>>> >>>> Richard >>>> >>>> -- >>>> Richard Jones >>>> Head of Repository Systems, Symplectic Limited >>>> e: [email protected] >>>> t: 0845 026 4755 >>>> t: +44 (0)207 7334036 >>>> w: http://www.symplectic.co.uk/ >>>> >>>> >>>> -------------------------------------------------------------- >>>> ---------------- >>>> ThinkGeek and WIRED's GeekDad team up for the Ultimate >>>> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the >>>> lucky parental unit. See the prize list and enter to win: >>>> http://p.sf.net/sfu/thinkgeek-promo >>>> _______________________________________________ >>>> Fedora-commons-developers mailing list >>>> [email protected] >>>> >>>> >> https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers >> >>>> >>> >>> >> -- >> Richard Jones >> Head of Repository Systems, Symplectic Limited >> e: [email protected] >> t: 0845 026 4755 >> t: +44 (0)207 7334036 >> w: http://www.symplectic.co.uk/ >> >> >> > > -- Richard Jones Head of Repository Systems, Symplectic Limited e: [email protected] t: 0845 026 4755 t: +44 (0)207 7334036 w: http://www.symplectic.co.uk/ ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ Fedora-commons-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers
