Skip to content

100% validation security APIs #3841

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

Merged
merged 2 commits into from
Feb 25, 2025
Merged

100% validation security APIs #3841

merged 2 commits into from
Feb 25, 2025

Conversation

l-trotta
Copy link
Contributor

There were just 3 endpoint with errors:

  • security.get_role: description was missing. server code
  • security.get_user_privileges: we were missing two optional "remote" fields. server code for remote_indices and remote_cluster
  • security.update_settings: auto_expand_replicas is one of that index properties that allows to use null to reset the value to the default, so I thought we could use the new WithNullValue. please don't ask for the server proof :')

Copy link
Contributor

Following you can find the validation results for the APIs you have changed.

API Status Request Response
indices.add_block 🟢 2/2 2/2
indices.analyze 🟢 243/243 243/243
indices.cancel_migrate_reindex 🟢 2/2 2/2
indices.clear_cache 🟢 4/4 4/4
indices.clone 🟢 5/5 5/5
indices.close 🟢 49/49 49/49
indices.create_data_stream 🟢 31/31 31/31
indices.create_from 🟢 4/4 4/4
indices.create 🔴 964/1181 1181/1181
indices.data_streams_stats 🟢 4/4 4/4
indices.delete_alias 🔴 12/12 5/12
indices.delete_data_lifecycle Missing test Missing test
indices.delete_data_stream 🟢 28/28 28/28
indices.delete_index_template 🟢 1/1 1/1
indices.delete_template 🟢 9/9 9/9
indices.delete 🟢 105/105 105/105
indices.disk_usage 🟢 6/6 6/6
indices.downsample 🟢 3/3 3/3
indices.exists_alias 🟢 37/37 37/37
indices.exists_index_template Missing test Missing test
indices.exists_template 🟢 15/15 15/15
indices.exists 🟢 39/39 39/39
indices.explain_data_lifecycle Missing test Missing test
indices.field_usage_stats 🟢 5/5 5/5
indices.flush 🟢 41/41 41/41
indices.forcemerge 🟢 12/12 12/12
indices.get_alias 🟢 68/68 68/68
indices.get_data_lifecycle_stats Missing test Missing test
indices.get_data_lifecycle Missing test Missing test
indices.get_data_stream 🟢 11/11 11/11
indices.get_field_mapping 🟢 15/15 15/15
indices.get_index_template 🔴 21/21 17/21
indices.get_mapping 🔴 135/135 133/135
indices.get_migrate_reindex_status 🟢 1/1 1/1
indices.get_settings 🔴 76/76 72/76
indices.get_template 🟢 32/32 32/32
indices.get 🔴 55/55 53/55
indices.migrate_reindex 🟢 2/2 2/2
indices.migrate_to_data_stream Missing test Missing test
indices.modify_data_stream Missing test Missing test
indices.open 🟢 20/20 20/20
indices.promote_data_stream Missing test Missing test
indices.put_alias 🔴 58/58 20/58
indices.put_data_lifecycle Missing test Missing test
indices.put_index_template 🔴 59/68 68/68
indices.put_mapping 🔴 111/117 117/117
indices.put_settings 🔴 55/58 58/58
indices.put_template 🔴 45/46 46/46
indices.recovery 🟢 9/9 9/9
indices.refresh 🟢 273/273 273/273
indices.reload_search_analyzers 🟢 2/2 2/2
indices.resolve_cluster 🟢 13/13 13/13
indices.resolve_index 🟢 6/6 6/6
indices.rollover 🔴 26/26 1/26
indices.segments 🔴 6/6 5/6
indices.shard_stores 🔴 5/5 4/5
indices.shrink 🟢 5/5 5/5
indices.simulate_index_template 🔴 6/7 5/7
indices.simulate_template 🔴 5/5 4/5
indices.split 🟢 11/11 11/11
indices.stats 🔴 113/113 30/112
indices.update_aliases 🔴 26/26 7/26
indices.validate_query 🟢 12/12 12/12
security.activate_user_profile 🟢 9/9 9/9
security.authenticate 🟢 30/30 30/30
security.bulk_delete_role 🟢 1/1 1/1
security.bulk_put_role 🟢 1/1 1/1
security.bulk_update_api_keys 🟢 4/4 4/4
security.change_password 🟢 9/9 9/9
security.clear_api_key_cache 🟢 13/13 13/13
security.clear_cached_privileges 🟢 3/3 3/3
security.clear_cached_realms 🟢 1/1 1/1
security.clear_cached_roles 🟢 2/2 2/2
security.clear_cached_service_tokens 🟢 4/4 4/4
security.create_api_key 🟢 68/68 59/59
security.create_cross_cluster_api_key 🟢 3/3 3/3
security.create_service_token 🟢 3/3 3/3
security.delegate_pki Missing test Missing test
security.delete_privileges 🟢 6/6 6/6
security.delete_role_mapping 🟢 9/9 9/9
security.delete_role 🟢 8/8 8/8
security.delete_service_token Missing test Missing test
security.delete_user 🟢 9/9 9/9
security.disable_user_profile 🟢 1/1 1/1
security.disable_user 🟢 3/3 3/3
security.enable_user_profile 🟢 1/1 1/1
security.enable_user 🟢 4/4 4/4
security.enroll_kibana Missing test Missing test
security.enroll_node Missing test Missing test
security.get_api_key 🟢 26/26 26/26
security.get_builtin_privileges 🟢 1/1 1/1
security.get_privileges 🟢 12/12 12/12
security.get_role_mapping 🔴 18/18 10/18
security.get_role 🟢 24/24 24/24
security.get_service_accounts Missing test Missing test
security.get_service_credentials 🟢 1/1 1/1
security.get_settings 🟢 3/3 3/3
security.get_token 🟢 25/25 24/24
security.get_user_privileges 🟢 8/8 8/8
security.get_user_profile 🟢 8/8 8/8
security.get_user 🟢 25/25 25/25
security.grant_api_key 🟢 7/7 7/7
security.has_privileges_user_profile 🟢 3/3 3/3
security.has_privileges 🟢 24/24 24/24
security.invalidate_api_key 🟢 12/12 12/12
security.invalidate_token 🟢 11/11 11/11
security.oidc_authenticate Missing test Missing test
security.oidc_logout Missing test Missing test
security.oidc_prepare_authentication Missing test Missing test
security.put_privileges 🟢 10/10 10/10
security.put_role_mapping 🔴 2/11 11/11
security.put_role 🟢 39/39 38/38
security.put_user 🟢 48/48 47/47
security.query_api_keys 🟢 14/14 14/14
security.query_role 🟢 2/2 2/2
security.query_user 🟢 4/4 4/4
security.saml_authenticate Missing test Missing test
security.saml_complete_logout Missing test Missing test
security.saml_invalidate Missing test Missing test
security.saml_logout Missing test Missing test
security.saml_prepare_authentication Missing test Missing test
security.saml_service_provider_metadata Missing test Missing test
security.suggest_user_profiles 🟢 1/1 1/1
security.update_api_key 🟢 5/5 5/5
security.update_cross_cluster_api_key 🟢 2/2 2/2
security.update_settings 🟢 2/2 2/2
security.update_user_profile_data 🟢 1/1 1/1

You can validate these APIs yourself by using the make validate target.

Copy link
Member

@flobernd flobernd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Linter seems to be unhappy.

Copy link
Contributor

Following you can find the validation results for the APIs you have changed.

API Status Request Response
indices.add_block 🟢 2/2 2/2
indices.analyze 🟢 243/243 243/243
indices.cancel_migrate_reindex 🟢 2/2 2/2
indices.clear_cache 🟢 4/4 4/4
indices.clone 🟢 5/5 5/5
indices.close 🟢 49/49 49/49
indices.create_data_stream 🟢 31/31 31/31
indices.create_from 🟢 4/4 4/4
indices.create 🔴 1097/1181 1181/1181
indices.data_streams_stats 🟢 4/4 4/4
indices.delete_alias 🔴 12/12 5/12
indices.delete_data_lifecycle Missing test Missing test
indices.delete_data_stream 🟢 28/28 28/28
indices.delete_index_template 🟢 1/1 1/1
indices.delete_template 🟢 9/9 9/9
indices.delete 🟢 105/105 105/105
indices.disk_usage 🟢 6/6 6/6
indices.downsample 🟢 3/3 3/3
indices.exists_alias 🟢 37/37 37/37
indices.exists_index_template Missing test Missing test
indices.exists_template 🟢 15/15 15/15
indices.exists 🟢 39/39 39/39
indices.explain_data_lifecycle Missing test Missing test
indices.field_usage_stats 🟢 5/5 5/5
indices.flush 🟢 41/41 41/41
indices.forcemerge 🟢 12/12 12/12
indices.get_alias 🟢 68/68 68/68
indices.get_data_lifecycle_stats Missing test Missing test
indices.get_data_lifecycle Missing test Missing test
indices.get_data_stream 🟢 11/11 11/11
indices.get_field_mapping 🟢 15/15 15/15
indices.get_index_template 🔴 21/21 17/21
indices.get_mapping 🔴 135/135 133/135
indices.get_migrate_reindex_status 🟢 1/1 1/1
indices.get_settings 🔴 76/76 66/76
indices.get_template 🟢 32/32 32/32
indices.get 🟢 55/55 55/55
indices.migrate_reindex 🟢 2/2 2/2
indices.migrate_to_data_stream Missing test Missing test
indices.modify_data_stream Missing test Missing test
indices.open 🟢 20/20 20/20
indices.promote_data_stream Missing test Missing test
indices.put_alias 🔴 58/58 20/58
indices.put_data_lifecycle Missing test Missing test
indices.put_index_template 🔴 59/68 68/68
indices.put_mapping 🔴 111/117 117/117
indices.put_settings 🔴 55/58 58/58
indices.put_template 🔴 45/46 46/46
indices.recovery 🟢 9/9 9/9
indices.refresh 🟢 273/273 273/273
indices.reload_search_analyzers 🟢 2/2 2/2
indices.resolve_cluster 🟢 13/13 13/13
indices.resolve_index 🟢 6/6 6/6
indices.rollover 🔴 26/26 1/26
indices.segments 🔴 6/6 5/6
indices.shard_stores 🔴 5/5 4/5
indices.shrink 🟢 5/5 5/5
indices.simulate_index_template 🔴 6/7 5/7
indices.simulate_template 🔴 5/5 4/5
indices.split 🟢 11/11 11/11
indices.stats 🔴 113/113 30/112
indices.update_aliases 🔴 26/26 7/26
indices.validate_query 🟢 12/12 12/12
security.activate_user_profile 🟢 9/9 9/9
security.authenticate 🟢 30/30 30/30
security.bulk_delete_role 🟢 1/1 1/1
security.bulk_put_role 🟢 1/1 1/1
security.bulk_update_api_keys 🟢 4/4 4/4
security.change_password 🟢 9/9 9/9
security.clear_api_key_cache 🟢 13/13 13/13
security.clear_cached_privileges 🟢 3/3 3/3
security.clear_cached_realms 🟢 1/1 1/1
security.clear_cached_roles 🟢 2/2 2/2
security.clear_cached_service_tokens 🟢 4/4 4/4
security.create_api_key 🟢 68/68 59/59
security.create_cross_cluster_api_key 🟢 3/3 3/3
security.create_service_token 🟢 3/3 3/3
security.delegate_pki Missing test Missing test
security.delete_privileges 🟢 6/6 6/6
security.delete_role_mapping 🟢 9/9 9/9
security.delete_role 🟢 8/8 8/8
security.delete_service_token Missing test Missing test
security.delete_user 🟢 9/9 9/9
security.disable_user_profile 🟢 1/1 1/1
security.disable_user 🟢 3/3 3/3
security.enable_user_profile 🟢 1/1 1/1
security.enable_user 🟢 4/4 4/4
security.enroll_kibana Missing test Missing test
security.enroll_node Missing test Missing test
security.get_api_key 🟢 26/26 26/26
security.get_builtin_privileges 🟢 1/1 1/1
security.get_privileges 🟢 12/12 12/12
security.get_role_mapping 🔴 18/18 10/18
security.get_role 🟢 24/24 24/24
security.get_service_accounts Missing test Missing test
security.get_service_credentials 🟢 1/1 1/1
security.get_settings 🟢 3/3 3/3
security.get_token 🟢 25/25 24/24
security.get_user_privileges 🟢 8/8 8/8
security.get_user_profile 🟢 8/8 8/8
security.get_user 🟢 25/25 25/25
security.grant_api_key 🟢 7/7 7/7
security.has_privileges_user_profile 🟢 3/3 3/3
security.has_privileges 🟢 24/24 24/24
security.invalidate_api_key 🟢 12/12 12/12
security.invalidate_token 🟢 11/11 11/11
security.oidc_authenticate Missing test Missing test
security.oidc_logout Missing test Missing test
security.oidc_prepare_authentication Missing test Missing test
security.put_privileges 🟢 10/10 10/10
security.put_role_mapping 🔴 2/11 11/11
security.put_role 🟢 39/39 38/38
security.put_user 🟢 48/48 47/47
security.query_api_keys 🟢 14/14 14/14
security.query_role 🟢 2/2 2/2
security.query_user 🟢 4/4 4/4
security.saml_authenticate Missing test Missing test
security.saml_complete_logout Missing test Missing test
security.saml_invalidate Missing test Missing test
security.saml_logout Missing test Missing test
security.saml_prepare_authentication Missing test Missing test
security.saml_service_provider_metadata Missing test Missing test
security.suggest_user_profiles 🟢 1/1 1/1
security.update_api_key 🟢 5/5 5/5
security.update_cross_cluster_api_key 🟢 2/2 2/2
security.update_settings 🟢 2/2 2/2
security.update_user_profile_data 🟢 1/1 1/1

You can validate these APIs yourself by using the make validate target.

@l-trotta
Copy link
Contributor Author

l-trotta commented Feb 25, 2025

just noticed 2 more api errors, will fix those too before merging nevermind it's validation that's wrong on those ones

@l-trotta l-trotta merged commit f2d4ad7 into main Feb 25, 2025
8 checks passed
@l-trotta l-trotta deleted the security-fixes branch February 25, 2025 13:42
Copy link
Contributor

The backport to 8.x failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-8.x 8.x
# Navigate to the new working tree
cd .worktrees/backport-8.x
# Create a new branch
git switch --create backport-3841-to-8.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 f2d4ad72176072140785e42b0aee0bb0127c6d72
# Push it to GitHub
git push --set-upstream origin backport-3841-to-8.x
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-8.x

Then, create a pull request where the base branch is 8.x and the compare/head branch is backport-3841-to-8.x.

Copy link
Contributor

The backport to 8.17 failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-8.17 8.17
# Navigate to the new working tree
cd .worktrees/backport-8.17
# Create a new branch
git switch --create backport-3841-to-8.17
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 f2d4ad72176072140785e42b0aee0bb0127c6d72
# Push it to GitHub
git push --set-upstream origin backport-3841-to-8.17
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-8.17

Then, create a pull request where the base branch is 8.17 and the compare/head branch is backport-3841-to-8.17.

Copy link
Contributor

The backport to 8.18 failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-8.18 8.18
# Navigate to the new working tree
cd .worktrees/backport-8.18
# Create a new branch
git switch --create backport-3841-to-8.18
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 f2d4ad72176072140785e42b0aee0bb0127c6d72
# Push it to GitHub
git push --set-upstream origin backport-3841-to-8.18
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-8.18

Then, create a pull request where the base branch is 8.18 and the compare/head branch is backport-3841-to-8.18.

github-actions bot pushed a commit that referenced this pull request Feb 25, 2025
* fix security apis

* checkstyle

(cherry picked from commit f2d4ad7)
l-trotta added a commit that referenced this pull request Feb 25, 2025
* fix security apis

* checkstyle

(cherry picked from commit f2d4ad7)

Co-authored-by: Laura Trotta <[email protected]>
l-trotta added a commit that referenced this pull request Feb 25, 2025
* fix security apis

* checkstyle

(cherry picked from commit f2d4ad7)

Co-authored-by: Laura Trotta <[email protected]>
l-trotta added a commit that referenced this pull request Feb 25, 2025
* fix security apis

* checkstyle

(cherry picked from commit f2d4ad7)

Co-authored-by: Laura Trotta <[email protected]>
l-trotta added a commit that referenced this pull request Feb 25, 2025
* fix security apis

* checkstyle

(cherry picked from commit f2d4ad7)

Co-authored-by: Laura Trotta <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants