-
Notifications
You must be signed in to change notification settings - Fork 25.3k
add documentation for MS Graph plugin #130703
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
🔍 Preview links for changed docs:
🔔 The preview site may take up to 3 minutes to finish building. These links will become live once it completes. |
8836670
to
e884907
Compare
e884907
to
1a01d28
Compare
88a84df
to
81cf4ca
Compare
81cf4ca
to
a8599c7
Compare
a8599c7
to
c26b3c1
Compare
c26b3c1
to
425099e
Compare
Pinging @elastic/es-docs (Team:Docs) |
Pinging @elastic/es-security (Team:Security) |
|
||
The plugin must be installed on every node in the cluster, and each node must be restarted after installation. | ||
|
||
You can download this plugin for [offline install](/reference/elasticsearch-plugins/plugin-management-custom-url.md) from [https://artifacts.elastic.co/downloads/elasticsearch-plugins/microsoft-graph-authz/microsoft-graph-authz-{{version}}.zip](https://artifacts.elastic.co/downloads/elasticsearch-plugins/microsoft-graph-authz/microsoft-graph-authz-{{version}}.zip). To verify the `.zip` file, use the [SHA hash](https://artifacts.elastic.co/downloads/elasticsearch-plugins/microsoft-graph-authz/microsoft-graph-authz-{{version}}.zip.sha512) or [ASC key](https://artifacts.elastic.co/downloads/elasticsearch-plugins/microsoft-graph-authz/microsoft-graph-authz-{{version}}.zip.asc). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's difficult for me to verify this link as I don't think we've published any artifacts yet 🤔
88b47fd
to
243e5a1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a few suggestions
@@ -0,0 +1,13 @@ | |||
--- | |||
mapped_pages: | |||
- https://www.elastic.co/guide/en/elasticsearch/plugins/current/authentication.html |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if these plugins are only available as of 9.1, we should state that. this docs set is only applicable to a 9+ context which is why we wouldn't have 8.19 listed as well
- https://www.elastic.co/guide/en/elasticsearch/plugins/current/authentication.html | |
- https://www.elastic.co/guide/en/elasticsearch/plugins/current/authentication.html | |
applies_to: | |
stack: ga 9.1 |
@@ -0,0 +1,35 @@ | |||
--- | |||
mapped_pages: | |||
- https://www.elastic.co/guide/en/elasticsearch/plugins/current/ms-graph-authz.html |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- https://www.elastic.co/guide/en/elasticsearch/plugins/current/ms-graph-authz.html | |
- https://www.elastic.co/guide/en/elasticsearch/plugins/current/ms-graph-authz.html | |
applies_to: | |
stack: ga 9.1 |
This plugin can be installed using the plugin manager: | ||
|
||
```sh | ||
sudo bin/elasticsearch-plugin install microsoft-graph-authz | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this plugin work for all deployment types, or just self-managed vanilla elasticsearch?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been testing with Elastic Cloud, but it should work with any other deployment type
|
||
# Authentication Plugins [authentication] | ||
|
||
Authentication plugins extend the functionality provided by the built-in [authentication realms](docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/authentication-realms.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Authentication plugins extend the functionality provided by the built-in [authentication realms](docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/authentication-realms.md) | |
Authentication plugins extend the functionality provided by the built-in [authentication realms](docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/authentication-realms.md). |
|
||
## Create a custom Azure Application | ||
|
||
1) Log in to the [Azure portal](https://portal.azure.com) and go to Microsoft Entra ID |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1) Log in to the [Azure portal](https://portal.azure.com) and go to Microsoft Entra ID | |
1) Log in to the [Azure portal](https://portal.azure.com) and go to Microsoft Entra ID. |
::: | ||
4) Under Manage > Certificates & secrets | ||
- Create a new client secret | ||
- Take note of the Value - this is needed later, and is only shown once |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Take note of the Value - this is needed later, and is only shown once | |
- Take note of you new client secret's **Value**. This is needed later, and is only displayed once. |
:alt: get your application ID | ||
::: | ||
4) Under Manage > Certificates & secrets | ||
- Create a new client secret |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Create a new client secret | |
- Create a new client secret. |
5) Under Manage > API permissions | ||
- Go to “Add a permission” | ||
- Choose “Microsoft Graph” | ||
- Choose “Application permissions” | ||
- Select “Directory.ReadWrite.All, Group.ReadWrite.All, User.Read.All” | ||
- Note that an Azure Admin will need to approve these permissions before the credentials can be used | ||
:::{image} ./images/ms-graph-authz/05-configure-api-permissions.png | ||
:alt: configure api permissions | ||
::: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ordered procedures of more than two items need a numbered list
5) Under Manage > API permissions | |
- Go to “Add a permission” | |
- Choose “Microsoft Graph” | |
- Choose “Application permissions” | |
- Select “Directory.ReadWrite.All, Group.ReadWrite.All, User.Read.All” | |
- Note that an Azure Admin will need to approve these permissions before the credentials can be used | |
:::{image} ./images/ms-graph-authz/05-configure-api-permissions.png | |
:alt: configure api permissions | |
::: | |
5) Under **Manage** > **API permissions**, do the following: | |
1. Go to **Add a permission**. | |
2. Choose **Microsoft Graph**. | |
3. Choose **Application permissions**. | |
4. Select the following permissions: `Directory.ReadWrite.All`, `Group.ReadWrite.All`, and `User.Read.All`. | |
Note that an Azure Admin will need to approve these permissions before the credentials can be used | |
:::{image} ./images/ms-graph-authz/05-configure-api-permissions.png | |
:alt: configure API permissions | |
::: |
|
||
# Configuration properties [configuration-properties] | ||
|
||
Once the plugin is installed, the following configuration settings are available: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Once the plugin is installed, the following configuration settings are available: | |
After the plugin is installed, the following configuration settings are available: |
|
||
Create a Microsoft Graph realm, following the above settings, then configure an existing realm to delegate to it using `authorization_realms`. | ||
|
||
For example, to authenticate via Microsoft Entra with SAML and use the Microsoft Graph plugin to look up group membership: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For example, to authenticate via Microsoft Entra with SAML and use the Microsoft Graph plugin to look up group membership: | |
For example, the following configuration authenticates using Microsoft Entra with SAML, and uses the Microsoft Graph plugin to look up group membership: |
Add documentation for the plugin introduced in #128396
This will need a manual backport to 8.19