///
Search

Okta Template App, Okta Plugin Template App ๊ตฌ์„ฑ

Secure Web Authentication (SWA) ์ดํ•ดํ•˜๊ธฐ

1. SWA์˜ ์ฃผ์š” ๊ฐœ๋… ๋ฐ ํŠน์ง•

โ€ข
SAML/OIDC ์—ฐ๋™์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์˜ค๋ž˜๋œ ๊ทธ๋ฃน์›จ์–ด, ERP, ์ธ์‚ฌ ์‹œ์Šคํ…œ ๋“ฑ์—์„œ๋„ SSO(Single Sign-On)์™€ ์œ ์‚ฌํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
โ€ข
ํ‘œ์ค€ ์ธ์ฆ ํ”„๋กœํ† ์ฝœ(SAML 2.0, OIDC ๋“ฑ)์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•ด IdP(Okta ๋“ฑ)๊ฐ€ ์‚ฌ์šฉ์ž์˜ ๊ณ„์ • ์ •๋ณด๋ฅผ ๋Œ€์‹  ์ž…๋ ฅํ•ด ์ฃผ๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
โ€ข
์‰ฝ๊ฒŒ ๋งํ•ด, ๋ธŒ๋ผ์šฐ์ €์˜ '๋น„๋ฐ€๋ฒˆํ˜ธ ์ €์žฅ' ๊ธฐ๋Šฅ์„ ๊ธฐ์—… ์ˆ˜์ค€์˜ ๋ณด์•ˆ์œผ๋กœ ๊ณ ๋„ํ™”ํ•œ ํ˜•ํƒœ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
SAML ์•ฑ์€ ๋ฐ˜๋“œ์‹œ IdP๋ฅผ ๊ฑฐ์ณ์•ผ๋งŒ ๋กœ๊ทธ์ธ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, SWA๋Š” IdP๋ฅผ ํ†ตํ•˜์ง€ ์•Š๊ณ  ์ง์ ‘ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€์—์„œ๋„ ์ธ์ฆ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
โ€ข
์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์˜ฅํƒ€์˜ ์•”ํ˜ธํ™”๋œ ์ €์žฅ์†Œ์— ์•ˆ์ „ํ•˜๊ฒŒ ๋ณด๊ด€๋˜๋ฉฐ ๊ด€๋ฆฌ์ž์กฐ์ฐจ ์‹ค์ œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์—†์–ด ๋‚ด๋ถ€์ž์— ์˜ํ•œ ์ •๋ณด ์œ ์ถœ ์œ„ํ—˜์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
โ€ข
๊ด€๋ฆฌ์ž๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ ํ• ๋‹น ์‹œ ๊ณ„์ • ์ •๋ณด๋ฅผ ํ•œ ๋ฒˆ๋งŒ ๋“ฑ๋กํ•˜๋ฉด, ์ดํ›„์—๋Š” ๋ณ„๋„์˜ ์ž๊ฒฉ ์ฆ๋ช… ์ž…๋ ฅ ์—†์ด ํด๋ฆญ ํ•œ ๋ฒˆ์œผ๋กœ ์ ‘์†์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

2. SWA(Secure Web Authentication) Template

ํ…œํ”Œ๋ฆฟ ์•ฑ์„ ํ™œ์šฉํ•˜๋ฉด ์šด์˜ ์ค‘์ธ ์‹œ์Šคํ…œ์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—ฐ๋™์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
App ์ด๋ฆ„
์„ค๋ช…
Template App
ํ•ด๋‹น ์•ฑ์ด ํผ ํฌ์ŠคํŠธ(Form POST) ๋ฐฉ์‹์˜ ์ธ์ฆ์„ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Template Plugin App
์•ฑ ์‚ฌ์ดํŠธ ๋‚ด์— ์‚ฌ์šฉ์ž ๊ณ„์ •, ๋น„๋ฐ€๋ฒˆํ˜ธ ํ•„๋“œ ๋ฐ ์ œ์ถœ ๋ฒ„ํŠผ์ด ์‹๋ณ„๋˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Template App 3 Fields
Template Plugin App๊ณผ ์œ ์‚ฌํ•˜๋ฉฐ username, password ์ด์™ธ์—๋„ ํšŒ์‚ฌID ์™€ ๊ฐ™์ด ํ•˜๋‚˜์˜ ํ•„๋“œ๋ฅผ ๋” ์ž…๋ ฅํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Template 2 Page Plugin App
Template Plugin App๊ณผ ์œ ์‚ฌํ•˜๋ฉฐ ์ธ์ฆ ํ๋ฆ„์ด 2๊ฐœ์˜ ๋ณ„๊ฐœ ํŽ˜์ด์ง€๋กœ ๋‚˜๋‰œ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Browser plugin์„ ํ†ตํ•œ ๋ธŒ๋ผ์šฐ์ € ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•œ ์ž๋™ ๋กœ๊ทธ์ธ์ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ…œํ”Œ๋ฆฟ์ž…๋‹ˆ๋‹ค.
Template Basic Auth App
basic Auth๋ฅผ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Template Frame Plugin App
iframes๋ฅผ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[Okta] SWA ์•ฑ ๋“ฑ๋กํ•˜๊ธฐ

1.
In theย Admin Console, go toย ApplicationsApplications.
2.
Clickย Browse App Catalog.
3.
Search forย Template.

Template App

์ง€์ •๋œ URL๋กœ์˜ Form POST ์ธ์ฆ์„ ์ง€์›ํ•˜๋Š” ์•ฑ์ด๋ผ๋ฉด ๋ณธ ํ…œํ”Œ๋ฆฟ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ์ด๋ฆ„์˜ ํŒŒ๋ผ๋ฏธํ„ฐ์— ID์™€ PW๋ฅผ ๋งคํ•‘ํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ถ”๊ฐ€์ ์ธ ๊ณ ์ • ํ•„๋“œ(Static Fields) ๊ฐ’์„ ํฌํ•จํ•˜์—ฌ ์ธ์ฆ ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
General Settings ํŽ˜์ด์ง€์—์„œ ์ž…๋ ฅํ•ด์•ผํ•˜๋Š” ์ •๋ณด๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์„ค๋ช…
URL
Enter the URL of the login form to which you're submitting the POST (not the URL where you view the form).
Username parameterย andย Password parameterย fields
์˜ต์…˜ ํŒŒ๋ผ๋ฏธํ„ฐ
Application Visibility
Specify whether to display the application icon to users.
Browser plugin auto-submit
Specify whether to log users in automatically when they land on the login page.
โ€ข
URL: Enter the URL of the login form to which you're submitting the POST (not the URL where you view the form).
โ€ข
Username parameterย andย Password parameterย fields: Enter the parameter names that contain the username and password data.
โ€ข
Optional parameterย fields: Enter extra static field data in the name/value pairs.
โ—ฆ
From the Chrome browser, log in to the app you want to integrate with.
โ—ฆ
Use Chrome developer tools to view the traffic that is being sent to the page.
โ—ฆ
Open to the page with the target login form, and switch to theย Networkย tab.
โ—ฆ
Select theย Preserve logย checkbox.
โ—ฆ
Clear out the existing traffic and perform your login.
โ—ฆ
In theย Headersย tab, click theย POSTย to the page to see all the data posted and the URL to which it's being sent.
โ€ข
Application Visibility: Specify whether to display the application icon to users.
โ€ข
Browser plugin auto-submit: Specify whether to log users in automatically when they land on the login page.

Template Plugin App/Template App 3 Fields/Template 2 Page Plugin App/Template Frame Plugin App

์•ฑ์— XSRF(๊ต์ฐจ ์‚ฌ์ดํŠธ ์š”์ฒญ ์œ„์กฐ) ๋ฐฉ์–ด ์ฒด๊ณ„๊ฐ€ ์ ์šฉ๋˜์–ด ์žˆ๋‹ค๋ฉด, 'Template Plugin App' ๋˜๋Š” 'Template Plugin 3 Fields' ์•ฑ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ํŽ˜์ด์ง€ ๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์—์„œ ์ƒ์„ฑ๋œ XSRF ํ† ํฐ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๋˜ํ•œ, ASP ํŽ˜์ด์ง€์—์„œ ์ฃผ๋กœ ์ƒ์„ฑ๋˜๋Š” EVENTVALIDATION์ด๋‚˜ FORMVALIDATION๊ณผ ๊ฐ™์€ ํ•„๋“œ๊ฐ€ ์žˆ๋Š”์ง€๋„ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์š”์†Œ๊ฐ€ ์‹๋ณ„๋˜๋Š” ๊ฒฝ์šฐ, ๋ฐ˜๋“œ์‹œ ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ธฐ๋ฐ˜์˜ ์•ฑ ํ…œํ”Œ๋ฆฟ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
'Template Plugin App' ๋˜๋Š” 'Template Frame Plugin App'์„ ์„ค์ •ํ•  ๋•Œ๋Š” ๊ด€๋ จ ํ•„๋“œ์— ๋Œ€ํ•œ CSS ์„ ํƒ์ž(CSS Selector)๋ฅผ ์ž…๋ ฅ์ด ํ•„์š”ํ•˜๋ฉฐ, ๋ธŒ๋ผ์šฐ์ € ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ด ์„ ํƒ์ž๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ด๋‹น ํ•„๋“œ๋ฅผ ์‹๋ณ„ํ•˜์—ฌ ์ž๋™์œผ๋กœ ์ธ์ฆ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
General Settings ํŽ˜์ด์ง€์—์„œ ์ž…๋ ฅํ•ด์•ผํ•˜๋Š” ์ •๋ณด๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.
Application label
Login URL
Frame URL
Redirect URL
Regular Expression(์˜ต์…˜)
Username field
Password field
Login Button
Checkbox
Next Button
Extra Field Selector
Extra Field Value
โ€ข
Application label: Enter the label that you want to display under the app on the end users' home page.
โ€ข
Login URL: Enter the URL of the log-in form (the actual URL where you can view the form).
โ€ข
Frame URL: Enter the Frame URL (the URL that contains the frame)
โ€ข
Redirect URL: If going to the login page URL redirects to another page, then enter that URL here.
โ€ข
Regular Expression: (Optional) This allows you to create a regular expression that serves as an allow list. This is done to improve app security by restricting access to the URLs that match the pattern that you define. For example, if your log-in URL isย https://example.com/login, and your change password URL isย https://example.com/change_password, then you can create a regular expression that matchesย https://example.com/(login|change_password).
โ€ข
Username field: Enter the CSS selector for the username field.
โ€ข
Password field: Enter the CSS selector for the password field.
โ€ข
Login Button: Enter the CSS selector for the login button.
โ€ข
Checkbox: Enter the CSS selector for the checkbox (for example, the checkbox for the Remember me, Agree terms, and so forth).
โ€ข
Next Button: Enter the CSS selector for the next button that would redirect you to the next page.
โ€ข
Extra Field Selector: Enter the CSS selector for the extra field.
โ€ข
Extra Field Value: Enter the value for the extra field.