mirror of
https://github.com/hashicorp/vault.git
synced 2026-05-28 04:10:44 -04:00
* add and update feature descriptions * add description doc links, improve spacing, remove dividers * update tests * Update ui/app/components/recovery/page/snapshots/load.hbs * update seal action and tests * use description argument for simple descriptions * clean up * update with finalized descriptions * updated policy descriptions * update client count description * fix typo and update tests * update tests * more test updates * Apply suggestions from code review --------- Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com> Co-authored-by: Kianna <30884335+kiannaquach@users.noreply.github.com>
156 lines
No EOL
5.4 KiB
Handlebars
156 lines
No EOL
5.4 KiB
Handlebars
{{!
|
|
Copyright IBM Corp. 2016, 2025
|
|
SPDX-License-Identifier: BUSL-1.1
|
|
}}
|
|
|
|
{{#if this.showPageHeader}}
|
|
<Page::Header @title="Authentication methods">
|
|
<:breadcrumbs>
|
|
<Page::Breadcrumbs @breadcrumbs={{@breadcrumbs}} />
|
|
</:breadcrumbs>
|
|
<:description>
|
|
Configure authentication methods for accessing Vault.
|
|
<Hds::Link::Inline @isHrefExternal={{true}} @href={{doc-link "/vault/gui/mfa"}}>
|
|
Learn more
|
|
</Hds::Link::Inline>
|
|
</:description>
|
|
<:actions>
|
|
{{#if this.showIntroButton}}
|
|
<Hds::Button
|
|
class="has-right-margin-4"
|
|
@color="secondary"
|
|
@icon="bulb"
|
|
@text="New to Auth methods?"
|
|
{{on "click" this.showIntroPage}}
|
|
data-test-button="intro"
|
|
/>
|
|
{{/if}}
|
|
</:actions>
|
|
</Page::Header>
|
|
{{/if}}
|
|
|
|
{{#if this.showWizard}}
|
|
<Wizard::Methods::MethodsWizard @isIntroModal={{this.shouldRenderIntroModal}} @onRefresh={{this.refreshMethodsList}} />
|
|
{{/if}}
|
|
|
|
{{#if this.showContent}}
|
|
<Toolbar>
|
|
<ToolbarFilters>
|
|
<SearchSelect
|
|
@id="filter-by-auth-type"
|
|
@options={{this.authMethodArrayByType}}
|
|
@selectLimit="1"
|
|
@disallowNewItems={{true}}
|
|
@fallbackComponent="input-search"
|
|
@onChange={{this.filterAuthType}}
|
|
@placeholder={{"Filter by auth type"}}
|
|
@displayInherit={{true}}
|
|
@inputValue={{if this.selectedAuthType (array this.selectedAuthType)}}
|
|
@disabled={{if this.selectedAuthName true false}}
|
|
class="is-marginless"
|
|
/>
|
|
<SearchSelect
|
|
@id="filter-by-auth-name"
|
|
@options={{this.authMethodArrayByName}}
|
|
@selectLimit="1"
|
|
@disallowNewItems={{true}}
|
|
@fallbackComponent="input-search"
|
|
@onChange={{this.filterAuthName}}
|
|
@placeholder={{"Filter by auth name"}}
|
|
@displayInherit={{true}}
|
|
@inputValue={{if this.selectedAuthName (array this.selectedAuthName)}}
|
|
class="is-marginless has-left-padding-s"
|
|
/>
|
|
</ToolbarFilters>
|
|
<ToolbarActions>
|
|
<ToolbarLink @route="vault.cluster.settings.auth.enable" @type="add" data-test-auth-enable>
|
|
Enable new method
|
|
</ToolbarLink>
|
|
</ToolbarActions>
|
|
</Toolbar>
|
|
|
|
{{#each (this.sortMethods this.authMethodList) as |method|}}
|
|
<LinkedBlock
|
|
@params={{array "vault.cluster.access.method" method.id}}
|
|
class="list-item-row"
|
|
data-test-linked-block={{or method.id method.accessor}}
|
|
>
|
|
<div class="level is-mobile">
|
|
<div>
|
|
<div class="is-grid align-items-center linked-block-title">
|
|
<Hds::TooltipButton
|
|
@text={{method.methodType}}
|
|
aria-label="Type of auth mount"
|
|
data-test-button={{method.methodType}}
|
|
>
|
|
<Icon @name={{method.icon}} class="has-text-grey-light" />
|
|
</Hds::TooltipButton>
|
|
<span class="has-text-weight-semibold has-text-black overflow-wrap">
|
|
{{method.path}}
|
|
</span>
|
|
<br />
|
|
<code class="has-text-grey is-size-8">
|
|
{{method.accessor}}
|
|
</code>
|
|
</div>
|
|
</div>
|
|
<div class="level-right is-flex is-paddingless is-marginless">
|
|
<div class="level-item">
|
|
<Hds::Dropdown @isInline={{true}} @listPosition="bottom-right" as |dd|>
|
|
<dd.ToggleIcon
|
|
@icon="more-horizontal"
|
|
@text="Overflow options"
|
|
@hasChevron={{false}}
|
|
data-test-popup-menu-trigger
|
|
/>
|
|
<dd.Interactive @route="vault.cluster.access.method.section" @models={{array method.id "configuration"}}>
|
|
View configuration
|
|
</dd.Interactive>
|
|
{{#if
|
|
(or
|
|
(has-capability @model.capabilities "update" pathKey="authMethodConfig" params=method.id)
|
|
(and
|
|
(eq method.methodType "aws")
|
|
(has-capability @model.capabilities "update" pathKey="authMethodConfigAws" params=method.id)
|
|
)
|
|
)
|
|
}}
|
|
<dd.Interactive @route="vault.cluster.settings.auth.configure" @model={{method.id}}>
|
|
Edit configuration
|
|
</dd.Interactive>
|
|
{{/if}}
|
|
{{#if
|
|
(and
|
|
(not-eq method.methodType "token")
|
|
(has-capability @model.capabilities "delete" pathKey="authMethodDelete" params=method.id)
|
|
)
|
|
}}
|
|
<dd.Interactive
|
|
@color="critical"
|
|
{{on "click" (fn (mut this.methodToDisable) method)}}
|
|
data-test-button="Disable auth method"
|
|
>
|
|
Disable
|
|
</dd.Interactive>
|
|
{{/if}}
|
|
</Hds::Dropdown>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</LinkedBlock>
|
|
{{else}}
|
|
<Hds::ApplicationState class="top-padding-32 is-marginless" as |A|>
|
|
<A.Header @title="No Authentication Methods found" @titleTag="h2" data-test-empty-state-title />
|
|
</Hds::ApplicationState>
|
|
{{/each}}
|
|
|
|
{{#if this.methodToDisable}}
|
|
<ConfirmModal
|
|
@color="critical"
|
|
@confirmTitle="Disable method?"
|
|
@confirmMessage="This may affect access to Vault data."
|
|
@onClose={{fn (mut this.methodToDisable) null}}
|
|
@onConfirm={{perform this.disableMethod this.methodToDisable}}
|
|
/>
|
|
{{/if}}
|
|
{{/if}} |