# Enable user to generate API Key and access API

**URL:** https://discuss.elastic.co/t/enable-user-to-generate-api-key-and-access-api/318695
**Category:** Elasticsearch
**Tags:** elastic-stack-security
**Created:** [November 10, 2022, 9:55pm UTC](https://discuss.elastic.co/t/enable-user-to-generate-api-key-and-access-api/318695 "2022-11-10T21:55:49Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![zaeemmasood](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/zaeemmasood/32/102383_2.png) [@zaeemmasood](https://discuss.elastic.co/u/zaeemmasood)
#### Post date: [November 10, 2022, 9:55pm UTC](https://discuss.elastic.co/t/enable-user-to-generate-api-key-and-access-api/318695/1 "2022-11-10T21:55:49Z")

</div>

Hello. We are running ELK 7.6.2 stack.

I need to create a user and provide it access for API key generation along with API access.

When I check in Kibana console it says "API keys not enabled in Elasticsearch"

Please guide on where to start.

TIA

---

<div class="post-metadata">

### Author: ![leandrojmp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/leandrojmp/32/107231_2.png) [@leandrojmp](https://discuss.elastic.co/u/leandrojmp)
#### Post date: [November 10, 2022, 10:45pm UTC](https://discuss.elastic.co/t/enable-user-to-generate-api-key-and-access-api/318695/2 "2022-11-10T22:45:25Z")

</div>

Do you have security enabled and configured elasticsearch to use HTTPS?

---

<div class="post-metadata">

### Author: ![zaeemmasood](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/zaeemmasood/32/102383_2.png) [@zaeemmasood](https://discuss.elastic.co/u/zaeemmasood)
#### Post date: [November 10, 2022, 11:02pm UTC](https://discuss.elastic.co/t/enable-user-to-generate-api-key-and-access-api/318695/3 "2022-11-10T23:02:00Z")

</div>

Hello and thanks.

No it uses http only.

During set up however i did run the certutil command and created `elastic-certificates.p12` file for tls set up.

---

<div class="post-metadata">

### Author: ![leandrojmp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/leandrojmp/32/107231_2.png) [@leandrojmp](https://discuss.elastic.co/u/leandrojmp)
#### Post date: [November 10, 2022, 11:28pm UTC](https://discuss.elastic.co/t/enable-user-to-generate-api-key-and-access-api/318695/4 "2022-11-10T23:28:19Z")

</div>

You need to enable `https` to use API Keys.

From the [documentation](https://www.elastic.co/guide/en/elasticsearch/reference/7.6/security-api-create-api-key.html).

> When you are running in production mode, a bootstrap check prevents you from enabling the API key service unless you also enable TLS on the HTTP interface.

Follow this [documentation](https://www.elastic.co/guide/en/elasticsearch/reference/7.6/configuring-tls.html#tls-http) to enable https.

---

<div class="post-metadata">

### Author: ![zaeemmasood](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/zaeemmasood/32/102383_2.png) [@zaeemmasood](https://discuss.elastic.co/u/zaeemmasood)
#### Post date: [November 11, 2022, 12:41pm UTC](https://discuss.elastic.co/t/enable-user-to-generate-api-key-and-access-api/318695/5 "2022-11-11T12:41:50Z")

</div>

Thanks. Looks like I enabled it in my configuration. The elasticsearch.yml contains:

```auto
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

```

Please guide

---

<div class="post-metadata">

### Author: ![leandrojmp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/leandrojmp/32/107231_2.png) [@leandrojmp](https://discuss.elastic.co/u/leandrojmp)
#### Post date: [November 11, 2022, 12:58pm UTC](https://discuss.elastic.co/t/enable-user-to-generate-api-key-and-access-api/318695/6 "2022-11-11T12:58:20Z")

</div>

Please, check the [documentation](https://www.elastic.co/guide/en/elasticsearch/reference/7.6/configuring-tls.html#tls-http), it is explained there what you need to do.

You need to configure encryption in the **http** endpoint, you configured just in the **transport** endpoint.

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [November 13, 2022, 11:44pm UTC](https://discuss.elastic.co/t/enable-user-to-generate-api-key-and-access-api/318695/7 "2022-11-13T23:44:22Z")

</div>

Please upgrade, 7.6 is [EOL](https://www.elastic.co/support/eol) and no longer supported.

---

<div class="post-metadata">

### Author: ![Yang\_Wang](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/yang_wang/32/48857_2.png) [@Yang\_Wang](https://discuss.elastic.co/u/Yang_Wang)
#### Post date: [November 14, 2022, 12:04am UTC](https://discuss.elastic.co/t/enable-user-to-generate-api-key-and-access-api/318695/8 "2022-11-14T00:04:11Z")

</div>

I second on what @warkolm said., Please upgrade also because HTTPS is no longer required for API key since v7.16

---

<div class="post-metadata">

### Author: ![zaeemmasood](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/zaeemmasood/32/102383_2.png) [@zaeemmasood](https://discuss.elastic.co/u/zaeemmasood)
#### Post date: [November 14, 2022, 2:26am UTC](https://discuss.elastic.co/t/enable-user-to-generate-api-key-and-access-api/318695/9 "2022-11-14T02:26:38Z")

</div>

Thanks. We will upgrade to a stable version 8.

Do you mean https is no longer required for  
API key since version 7.16?

We are running 7.62 which is a later version.

---

<div class="post-metadata">

### Author: ![leandrojmp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/leandrojmp/32/107231_2.png) [@leandrojmp](https://discuss.elastic.co/u/leandrojmp)
#### Post date: [November 14, 2022, 2:43am UTC](https://discuss.elastic.co/t/enable-user-to-generate-api-key-and-access-api/318695/10 "2022-11-14T02:43:43Z")

</div>

> [@zaeemmasood](#):
>
> Do you mean https is no longer required for  
> API key since version 7.16?

The validation check if the https was enabled to allow the use of API Key was removed in [7.16](https://www.elastic.co/guide/en/elasticsearch/reference/7.17/release-notes-7.16.0.html#enhancement-7.16.0) according to the release notes and this [github commit](https://github.com/elastic/elasticsearch/pull/76801).

So, if you want to use API Key without enabling HTTPS you need to upgrade to a version above 7.16, the ideal would be 7.17.7 so you would be able to use the upgrade assistant to check if you have any issue before upgrading to version 8.

> [@zaeemmasood](#):
>
> We are running 7.62 which is a later version.

There is no 7.62, you are running 7.6.2.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [December 12, 2022, 2:43am UTC](https://discuss.elastic.co/t/enable-user-to-generate-api-key-and-access-api/318695/11 "2022-12-12T02:43:49Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
