Share Public URL Option Not Present

I've configured anonymous access, but the Share Public URL option mentioned here does not appear. If I visit the resource I want to make available, I can access it anonymously.

Elasticsearch config:

  security:
    enabled: true
    authc:
      anonymous:
        roles: anon_access
        authz_exception: true

Kibana config:

    authc:
      selector.enabled: true
      providers:
        basic.basic1:
          order: 0
        anonymous.anonymous1:
          order: 1
          credentials: "elasticsearch_anonymous_user"

What do the Kibana logs say ?

cc @jportner

At what stage am I looking at the logs, initial startup, on dashboard load, or on mouse click of the share button?

What version of Kibana are you running? I assume you are running 7.11, since that is the docs version that you linked to.

We added the Public URL switch in the upcoming Kibana 7.12.0 release (Expose anonymous access through a switch in sharing menu by streamich · Pull Request #86965 · elastic/kibana · GitHub) and we subsequently updated the docs on anonymous access and embedding (https://github.com/elastic/kibana/pull/90409).

Unfortunately, it looks like we accidentally changed the 7.11 docs to mention the Public URL switch, even though that won't be available until 7.12.0. I'm sorry about that! We'll update the docs accordingly.

Edit: here is the PR to fix the docs in 7.11 ([7.11] Fix embedding docs by jportner · Pull Request #94371 · elastic/kibana · GitHub).

Ha, that's funny, no worries. I can create links and share stuff now as long as the anon user has rights to it so unless that link enables something extra cool, I'm not missing any functionality.

It only makes a difference if you have multiple authentication providers configured in Kibana. If that's the case, a regular iframe embed code will prompt the user to log in before they can see the embedded page. In 7.11 you simply need to modify the URL as outlined on this page. In 7.12+, the Public URL switch will automatically add the auth_provider_hint into the URL for you!

1 Like

I noticed the manual bit I had to do, I look forward to having that piece automated in the next version which will be released.....when? :rofl:

Soon! :grinning_face_with_smiling_eyes:

1 Like

@jportner, I'm trying to add the ?auth_provider_hint=<anonymous-provider-name> parameter to the iframe but it's not working. Where do I put it for dashboard iframes?

<iframe src="https://elk/s/test/app/dashboards#/view/380713f0-7555-11eb-bd61-15269a2e3fef?embed=true&_g=(filters%3A!()%2CrefreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-1y%2Cto%3Anow))" height="600" width="800"></iframe>

Also what is the <anonymous-provider-name> that I should use? The one mentioned in the kibana.yml or elasticsearch.yml?

Add it before the hash fragment:

<iframe src="https://elk/s/test/app/dashboards?auth_provider_hint=anonymous1#/view/380713f0-7555-11eb-bd61-15269a2e3fef?embed=true&_g=(filters%3A!()%2CrefreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-1y%2Cto%3Anow))" height="600" width="800"></iframe>

The provider name is in kibana.yml. In the examples in the docs, the provider name is anonymous1.

Perfect :slight_smile: