ã·ã³ã°ã«ãµã€ã³ãªã³ïŒSSOïŒæ¥ç¶ã®äœæ
ã·ã³ã°ã«ãµã€ã³ãªã³ïŒSSOïŒæ¥ç¶ãäœæããã«ã¯ããŸã Docker åŽã§æ¥ç¶ãèšå®ãããã®åŸã¢ã€ãã³ãã£ãã£ãããã€ããŒïŒIdPïŒåŽã§èšå®ãè¡ãå¿ èŠããããŸãããã®ã¬ã€ãã§ã¯ãDocker ãš IdP 㧠SSO æ¥ç¶ãèšå®ããæé ã説æããŸãã
ãã®ã¬ã€ãã§ã¯ãDocker ãš IdP ã®äž¡æ¹ã§å€ãã³ããŒïŒããŒã¹ãããå¿ èŠããããŸããã¹ã ãŒãºã«æ¥ç¶ãå®äºãããããã«ããã¹ãŠã®æé ã 1 åã®ã»ãã·ã§ã³ã§å®æœ ããDocker ãš IdP ã®ãã©ãŠã¶ã å¥ã ã«éããŠãã ããšãæšå¥šããŸãã
åææ¡ä»¶
éå§ããåã«ã以äžã®èŠä»¶ãæºãããŠããããšã確èªããŠãã ããïŒ
-
ãã¡ã€ã³ã®æ€èšŒãå®äºããŠãã
-
IdP ã®ã¢ã«ãŠã³ããèšå®ãããŠãã
-
ã·ã³ã°ã«ãµã€ã³ãªã³ã®èšå® ã®æé ãå®äºããŠãã
ã¹ããã 1: Docker 㧠SSO æ¥ç¶ãäœæãã
Docker 㧠SSO æ¥ç¶ãäœæããåã«ãå°ãªããšã 1 ã€ã®ãã¡ã€ã³ãæ€èšŒããå¿ èŠããããŸãã
Admin Console
-
Admin Consoleâ ã«ãµã€ã³ã€ã³ããŸãã
-
Choose profile ããŒãžã§ãOrganization ãŸã㯠Company ãéžæããŸããOrganization ã Company ã®äžéšã§ããå Žåã¯ãCompany ãéžæããCompany ã¬ãã«ã§ Organization ã®ãã¡ã€ã³ãèšå®ããå¿ èŠããããŸãã
-
Security and access ã® SSO and SCIM ãéžæããŸãã
-
Create Connection ãéžæããæ¥ç¶åãå ¥åããŸãã
-
èªèšŒæ¹æ³ãšã㊠SAML ãŸã㯠Azure ADïŒOIDCïŒ ãéžæããŸãã
-
IdP ã«è¿œå ããããã«ã以äžã®å€ãã³ããŒããŸãïŒ
- Okta SAML: Entity ID, ACS URL
- Azure OIDC: Redirect URL
-
ãã®ãŠã£ã³ããŠã¯éããã«ãåŸã§ IdP ããã®æ¥ç¶æ å ±ã貌ãä»ããããã«éãããŸãŸã«ããŠãã ããã
ã¹ããã 2: IdP 㧠SSO æ¥ç¶ãäœæãã
䜿çšãã IdP ã«ãã£ãŠæé ãç°ãªããŸãã以äžã®ã¬ã€ããåèã«ããŠãã ããã
Okta SAML
-
Okta ã¢ã«ãŠã³ãã«ãµã€ã³ã€ã³ããŸãã
-
Admin ãéžæããOkta 管çããŒã¿ã«ãéããŸãã
-
å·ŠåŽã®ããã²ãŒã·ã§ã³ã¡ãã¥ãŒãã Administration ãéžæããŸãã
-
Administration ãéžæããCreate App Integration ãã¯ãªãã¯ããŸãã
-
SAML 2.0 ãéžæããNext ãã¯ãªãã¯ããŸãã
-
App Name ã«ãDocker Hubããšå ¥åããŸãã
-
(ãªãã·ã§ã³)ããŽãã¢ããããŒãããŸãã
-
Next ãã¯ãªãã¯ããŸãã
-
以äžã® Docker ã®å€ã Okta ã®å¯Ÿå¿ãããã£ãŒã«ãã«å ¥åããŸãïŒ
- Docker ACS URL: Single Sign On URL
- Docker Entity ID: Audience URIïŒSP Entity IDïŒ
-
Okta ã®èšå®ã以äžã®ããã«æ§æããŸãïŒ
- Name ID format:
EmailAddress
- Application username:
Email
- Update application on:
Create and update
- Name ID format:
-
Next ãã¯ãªãã¯ããŸãã
-
This is an internal app that we have created ã«ãã§ãã¯ãå ¥ããŸãã
-
Finish ãã¯ãªãã¯ããŸãã
ã¹ããã 3: Docker ãš IdP ãæ¥ç¶ãã
Docker ãš IdP ã§æ¥ç¶ã®èšå®ãå®äºããåŸãããããçžäºã«æ¥ç¶ã㊠SSO æ¥ç¶ãå®äºããŸãã
Okta SAML
-
Okta ã§äœæããã¢ããªãéããView SAML setup instructions ãéžæããŸãã
-
Okta ã® SAML èšå®ããŒãžãã以äžã®å€ãã³ããŒããŸãïŒ
- SAML Sign-in URL
- x509 Certificate
-
Docker Hub ãŸã㯠Admin Console ãéããŸãïŒãã®ã¬ã€ãã®ã¹ããã 1 ã§éãã SSO èšå®ããŒãžã¯ãã®ãŸãŸéããŠãããŠãã ããïŒã
-
Next ãéžæããUpdate single-sign on connection ããŒãžãéããŸãã
-
Docker ã« Okta ã® SAML Sign-in URL ãš x509 Certificate ã®å€ã貌ãä»ããŸãã
-
Next ãéžæããŸãã
-
ïŒãªãã·ã§ã³ïŒããã©ã«ãã®ããŒã ãéžæããNext ãéžæããŸãã
-
SSO æ¥ç¶ã®è©³çŽ°ã確èªããCreate Connection ãéžæããŸãã
ã¹ããã 4: æ¥ç¶ããã¹ããã
Docker 㧠SSO æ¥ç¶ãå®äºãããããã¹ããè¡ãããšãæšå¥šããŸãã
-
ã·ãŒã¯ã¬ããã¢ãŒãïŒIncognitoïŒã®ãã©ãŠã¶ãéããŸãã
-
ãã¡ã€ã³ã®ã¡ãŒã«ã¢ãã¬ã¹ ã䜿çšã㊠Admin Console ã«ãµã€ã³ã€ã³ããŸãã
-
ãã©ãŠã¶ã IdP ã®ãã°ã€ã³ããŒãžã«ãªãã€ã¬ã¯ããããã®ã§ãèªèšŒãè¡ããŸãã
-
Docker ID ã§ã¯ãªãããã¡ã€ã³ã®ã¡ãŒã«ã¢ãã¬ã¹ã§èªèšŒã§ããããšã確èªããŸãã
ãŸããã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ãŒã¹ïŒCLIïŒã䜿çšã㊠SSO æ¥ç¶ããã¹ãããããšãã§ããŸããCLI ã§ãã¹ããè¡ãå ŽåããŠãŒã¶ãŒã¯ ããŒãœãã«ã¢ã¯ã»ã¹ããŒã¯ã³ïŒPATïŒ ã䜿çšããå¿ èŠããããŸãã
ïŒãªãã·ã§ã³ïŒSSO ã®åŒ·å¶é©çš
SSO ã匷å¶ããªãå ŽåããŠãŒã¶ãŒã¯ Docker ã®ãŠãŒã¶ãŒåãšãã¹ã¯ãŒãããŸã㯠SSO ã®ã©ã¡ãã§ããµã€ã³ã€ã³ã§ããŸãã
SSO ã匷å¶é©çšãããšããã¹ãŠã®ãŠãŒã¶ãŒã SSO ã䜿çšã㊠Docker ã«ãµã€ã³ã€ã³ããå¿ èŠããããŸããããã«ãããèªèšŒãäžå åãããIdP ã«èšå®ãããããªã·ãŒãé©çšãããŸãã
-
Admin Consoleâ ã«ãµã€ã³ã€ã³ããŸãã
-
Choose profile ããŒãžã§ Organization ãŸãã¯äŒæ¥ãéžæããŸããOrganization ãäŒæ¥ã®äžéšã§ããå Žåã¯ãäŒæ¥ãéžæããäŒæ¥ã¬ãã«ã§ Organization ã®ãã¡ã€ã³ãèšå®ããå¿ èŠããããŸãã
-
Security and access ã® SSO and SCIM ãéžæããŸãã
-
SSO connections ããŒãã«ã§ Action ã¢ã€ã³ã³ãã¯ãªãã¯ããEnable enforcement ãéžæããŸãã
- SSO ã匷å¶é©çšããããšããŠãŒã¶ãŒã¯ã¡ãŒã«ã¢ãã¬ã¹ããã¹ã¯ãŒãã®å€æŽããŠãŒã¶ãŒã¢ã«ãŠã³ãã® Organization ãžã®å€æãDocker Hub ã§ã® 2FA ã®èšå®ãã§ããªããªããŸãã
- 2FA ã䜿çšããå Žåã¯ãIdP åŽã§ 2FA ãæå¹åããå¿ èŠããããŸãã
-
ç»é¢ã®æ瀺ã«åŸãããã¹ãŠã®ã¿ã¹ã¯ãå®äºããããšã確èªããŸãã
-
Turn on enforcement ãéžæããå®äºããŸãã
ããã«ããããã¹ãŠã®ãŠãŒã¶ãŒã Docker ãžã®ãµã€ã³ã€ã³æã« SSO ã䜿çšããããã«ãªããŸãã
SSO ã匷å¶é©çšããããšããŠãŒã¶ãŒã¯ãã¹ã¯ãŒãã䜿çšã㊠Docker CLI ã«ãµã€ã³ã€ã³ã§ããªããªããŸãâãCLI ã§èªèšŒãè¡ãã«ã¯ãããŒãœãã«ã¢ã¯ã»ã¹ããŒã¯ã³ïŒPATïŒ ã䜿çšããå¿ èŠããããŸãã
è¿œå ãªãœãŒã¹
以äžã®åç»ã§ã¯ãSSO ã®åŒ·å¶é©çšæ¹æ³ã解説ããŠããŸãã