{"id":3502,"date":"2022-09-30T10:53:59","date_gmt":"2022-09-30T03:53:59","guid":{"rendered":"https:\/\/ton.packetlove.com\/blog\/?p=3502"},"modified":"2022-09-30T12:19:05","modified_gmt":"2022-09-30T05:19:05","slug":"setup-elasticsearch-and-kibana-openid-connect-with-azure-ad","status":"publish","type":"post","link":"https:\/\/ton.packetlove.com\/blog\/devops\/setup-elasticsearch-and-kibana-openid-connect-with-azure-ad.html","title":{"rendered":"Setup Elasticsearch and Kibana OpenID Connect with Azure AD"},"content":{"rendered":"<figure id=\"attachment_3503\" aria-describedby=\"caption-attachment-3503\" style=\"width: 616px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/elastic_co_azure_ad-616x640.png\" alt=\"\" width=\"616\" height=\"640\" class=\"size-medium wp-image-3503\" srcset=\"https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/elastic_co_azure_ad-616x640.png 616w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/elastic_co_azure_ad-986x1024.png 986w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/elastic_co_azure_ad-768x797.png 768w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/elastic_co_azure_ad-96x100.png 96w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/elastic_co_azure_ad.png 1100w\" sizes=\"auto, (max-width: 616px) 100vw, 616px\" \/><figcaption id=\"caption-attachment-3503\" class=\"wp-caption-text\">elastic.co with Azure AD<\/figcaption><\/figure>\n<p>\u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e35\u0e04\u0e23\u0e31\u0e1a <strong>DevOps 101<\/strong> \u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32 \u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e21\u0e35\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e32\u0e41\u0e19\u0e30\u0e19\u0e33 \u0e01\u0e32\u0e23 setup <strong>Single Sign-On (SSO)<\/strong> \u0e02\u0e2d\u0e07 App \u0e40\u0e23\u0e32 .. \u0e14\u0e49\u0e27\u0e22 <strong>Azure AD<\/strong> \u0e42\u0e14\u0e22\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32 \u0e44\u0e21\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e40\u0e1b\u0e47\u0e19 admin \u0e02\u0e2d\u0e07 org \u0e19\u0e31\u0e49\u0e19\u0e46 .. \u0e40\u0e1b\u0e47\u0e19 user \u0e18\u0e23\u0e23\u0e21\u0e14\u0e32 \u0e01\u0e47\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16 \u0e17\u0e33\u0e44\u0e14\u0e49<br \/>\n\u0e43\u0e19\u0e17\u0e35\u0e48\u0e19\u0e35\u0e49 \u0e08\u0e30\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e02\u0e2d\u0e07 <strong>OpenID Connect (OIDC)<\/strong> \u0e19\u0e30\u0e04\u0e23\u0e31\u0e1a \u0e0b\u0e36\u0e48\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16 \u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e17\u0e31\u0e49\u0e07\u0e01\u0e31\u0e1a <strong>Google<\/strong>, <strong>GitHub<\/strong>, <strong>AWS Cognito<\/strong> \u0e41\u0e25\u0e30\u0e2d\u0e37\u0e48\u0e19\u0e46 \u0e44\u0e14\u0e49 .. \u0e41\u0e15\u0e48\u0e43\u0e19\u0e17\u0e35\u0e48\u0e19\u0e35\u0e49\u0e1c\u0e21\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e40\u0e1b\u0e47\u0e19 <strong>Azure AD<\/strong> \u0e19\u0e30\u0e04\u0e23\u0e31\u0e1a<\/p>\n<p>\u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e02\u0e2d\u0e07\u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23 \u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49 \u0e1e\u0e19\u0e31\u0e01\u0e07\u0e32\u0e19\u0e17\u0e38\u0e01\u0e04\u0e19 login \u0e14\u0e49\u0e27\u0e22 <strong>Azure AD<\/strong> \u0e2b\u0e23\u0e37\u0e2d\u0e16\u0e49\u0e32\u0e1e\u0e39\u0e14\u0e43\u0e2b\u0e49\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08\u0e07\u0e48\u0e32\u0e22 \u0e01\u0e47\u0e04\u0e37\u0e2d\u0e43\u0e0a\u0e49 <strong>email \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17<\/strong> \u0e43\u0e19\u0e17\u0e38\u0e01\u0e46 App \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 \u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e40\u0e23\u0e32\u0e43\u0e0a\u0e49 <strong>Office365<\/strong> \u0e2d\u0e22\u0e39\u0e48\u0e41\u0e25\u0e49\u0e27 .. \u0e08\u0e30\u0e44\u0e14\u0e49\u0e2a\u0e30\u0e14\u0e27\u0e01\u0e43\u0e19\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23 \u0e1e\u0e19\u0e31\u0e01\u0e07\u0e32\u0e19 \u0e17\u0e35\u0e48\u0e21\u0e35\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e2d\u0e2d\u0e01 \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e40\u0e2a\u0e21\u0e2d \u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07 add \u0e41\u0e1a\u0e1a local user ..<\/p>\n<p>\u0e43\u0e19\u0e17\u0e35\u0e48\u0e19\u0e35\u0e49\u0e1c\u0e21\u0e08\u0e30\u0e22\u0e01\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e01\u0e32\u0e23 \u0e19\u0e33 <strong>Azure AD (OpenID Connect)<\/strong>  \u0e21\u0e32\u0e43\u0e0a\u0e49\u0e01\u0e31\u0e1a <strong>ELK Stack<\/strong> \u0e42\u0e14\u0e22\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e43\u0e0a\u0e49\u0e44\u0e14\u0e49 \u0e01\u0e31\u0e1a <strong>ELK Stack<\/strong> \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32 <strong>hosted<\/strong> \u0e40\u0e2d\u0e07 \u0e41\u0e25\u0e30\u0e43\u0e0a\u0e49\u0e44\u0e14\u0e49\u0e01\u0e31\u0e1a <strong>elastic.co<\/strong> \u0e19\u0e30\u0e04\u0e23\u0e31\u0e1a .. <\/p>\n<p><strong>\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23 Setup OpenID Connect<\/strong> \u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e15\u0e32\u0e21\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19 \u0e43\u0e19 docs \u0e02\u0e2d\u0e07 <strong>elastic.co<\/strong> \u0e44\u0e14\u0e49\u0e40\u0e25\u0e22\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<br \/>\n<a href=\"https:\/\/www.elastic.co\/guide\/en\/cloud\/current\/ec-securing-clusters-oidc-op.html#ec-securing-clusters-oidc-op\">https:\/\/www.elastic.co\/guide\/en\/cloud\/current\/ec-securing-clusters-oidc-op.html#ec-securing-clusters-oidc-op<\/a><\/p>\n<p>\u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19 \u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e16\u0e17\u0e33 <strong>Role Mappings<\/strong> \u0e44\u0e14\u0e49\u0e43\u0e19 <strong>Kibana<\/strong> \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e43\u0e19\u0e17\u0e35\u0e48\u0e19\u0e35\u0e49 \u0e1c\u0e21\u0e08\u0e30\u0e43\u0e2b\u0e49 user \u0e17\u0e35\u0e48 login \u0e1c\u0e48\u0e32\u0e19 <strong>Azure AD (OIDC)<\/strong> \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 \u0e21\u0e35 \u0e2a\u0e34\u0e17\u0e18\u0e34\u0e41\u0e04\u0e48 <strong>viewer<\/strong> \u0e01\u0e47\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e44\u0e14\u0e49\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e19\u0e35\u0e49 <\/p>\n<blockquote><p><strong>User field: realm.name<\/strong><br \/>\n<strong>Type: text<\/strong><br \/>\n<strong>Value: oidc1<\/strong> (\u0e0a\u0e37\u0e48\u0e2d realm \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32 config \u0e43\u0e19\u0e2b\u0e19\u0e49\u0e32 login \u0e02\u0e2d\u0e07 Kibana)<\/p><\/blockquote>\n<figure id=\"attachment_3506\" aria-describedby=\"caption-attachment-3506\" style=\"width: 640px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings-640x432.png\" alt=\"\" width=\"640\" height=\"432\" class=\"size-medium wp-image-3506\" srcset=\"https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings-640x432.png 640w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings-1024x691.png 1024w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings-768x518.png 768w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings-1536x1037.png 1536w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings-2048x1382.png 2048w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings-100x67.png 100w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption id=\"caption-attachment-3506\" class=\"wp-caption-text\">Kibana Role Mappings<\/figcaption><\/figure>\n<p>\u0e2b\u0e23\u0e37\u0e2d\u0e16\u0e49\u0e32\u0e40\u0e23\u0e32 \u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 <strong>Role mapping<\/strong> \u0e40\u0e09\u0e1e\u0e32\u0e30\u0e40\u0e08\u0e32\u0e30\u0e08\u0e07\u0e27\u0e48\u0e32 <strong>user (email)<\/strong> \u0e04\u0e19\u0e44\u0e2b\u0e19 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e2d\u0e30\u0e44\u0e23\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e44\u0e14\u0e49 \u0e1a\u0e49\u0e32\u0e07 \u0e40\u0e23\u0e32\u0e01\u0e47\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16 \u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e44\u0e14\u0e49 \u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e19\u0e35\u0e49 <\/p>\n<blockquote><p><strong>User field: username<\/strong><br \/>\n<strong>Type: text<\/strong><br \/>\n<strong>Value: user@email.com<\/strong> (email \u0e02\u0e2d\u0e07 user \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23)<\/p><\/blockquote>\n<figure id=\"attachment_3510\" aria-describedby=\"caption-attachment-3510\" style=\"width: 640px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings_by_email-640x432.png\" alt=\"\" width=\"640\" height=\"432\" class=\"size-medium wp-image-3510\" srcset=\"https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings_by_email-640x432.png 640w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings_by_email-1024x691.png 1024w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings_by_email-768x518.png 768w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings_by_email-1536x1037.png 1536w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings_by_email-2048x1382.png 2048w, https:\/\/ton.packetlove.com\/blog\/wp-content\/uploads\/2022\/09\/Kibana_Role_Mappings_by_email-100x67.png 100w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption id=\"caption-attachment-3510\" class=\"wp-caption-text\">Kibana Role Mappings Specific by Email<\/figcaption><\/figure>\n<p>\u0e08\u0e30\u0e40\u0e2b\u0e47\u0e19\u0e27\u0e48\u0e32 \u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e19\u0e33 <strong>Azure AD (OpenID Connect)<\/strong> \u0e21\u0e32\u0e43\u0e0a\u0e49\u0e01\u0e31\u0e1a <strong>Kibana<\/strong> \u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e44\u0e14\u0e49 \u0e17\u0e33\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32\u0e2a\u0e30\u0e14\u0e27\u0e01 \u0e43\u0e19\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23 <strong>user<\/strong> \u0e41\u0e25\u0e30\u0e01\u0e32\u0e23 \u0e17\u0e33 <strong>Role Mappings<\/strong> \u0e01\u0e47\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e01\u0e33\u0e2b\u0e19\u0e14 <strong>permission \u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30 user<\/strong> \u0e43\u0e2b\u0e49\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e01\u0e31\u0e19\u0e44\u0e14\u0e49 .. \u0e40\u0e23\u0e32\u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e44\u0e1b <strong>add local user<\/strong> \u0e1a\u0e19 <strong>Elasticsearch<\/strong> \u0e41\u0e25\u0e30\u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e19\u0e33 <strong>OpenID Connect<\/strong> \u0e44\u0e1b\u0e43\u0e0a\u0e49\u0e01\u0e31\u0e1a <strong>App<\/strong> \u0e2d\u0e37\u0e48\u0e19\u0e46 \u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e44\u0e14\u0e49\u0e14\u0e49\u0e27\u0e22\u0e40\u0e0a\u0e48\u0e19\u0e01\u0e31\u0e19\u0e04\u0e23\u0e31\u0e1a .. \u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19 <strong>App<\/strong> \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e40\u0e02\u0e35\u0e22\u0e19\u0e40\u0e2d\u0e07 \u0e2b\u0e23\u0e37\u0e2d <strong>OpenSource<\/strong> \u0e15\u0e48\u0e32\u0e07\u0e46 \u0e01\u0e47\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a <strong>OpenID Connect<\/strong> \u0e01\u0e31\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e43\u0e2b\u0e0d\u0e48 \ud83d\ude42<\/p>\n<p>\u0e16\u0e49\u0e32\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e19\u0e46 \u0e2a\u0e07\u0e2a\u0e31\u0e22\u0e15\u0e23\u0e07\u0e44\u0e2b\u0e19 comment \u0e01\u0e31\u0e19\u0e40\u0e02\u0e49\u0e32\u0e21\u0e32\u0e16\u0e32\u0e21\u0e44\u0e14\u0e49\u0e19\u0e30\u0e04\u0e23\u0e31\u0e1a \u0e44\u0e21\u0e48\u0e22\u0e32\u0e01\u0e04\u0e23\u0e31\u0e1a \u0e25\u0e2d\u0e07\u0e44\u0e1b\u0e17\u0e33\u0e40\u0e25\u0e48\u0e19\u0e14\u0e39 <a href=\"http:\/\/elastic.co\">elastic.co<\/a> \u0e40\u0e2d\u0e07 \u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e1f\u0e23\u0e35 14 \u0e27\u0e31\u0e19\u0e04\u0e23\u0e31\u0e1a \u0e2b\u0e23\u0e37\u0e2d\u0e16\u0e49\u0e32\u0e08\u0e30 Hosted \u0e40\u0e2d\u0e07\u0e14\u0e49\u0e27\u0e22 <strong>docker-compose<\/strong> \u0e07\u0e48\u0e32\u0e22\u0e46 \u0e01\u0e47\u0e44\u0e14\u0e49\u0e04\u0e23\u0e31\u0e1a \ud83d\ude42<\/p>\n<p>\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07: <a href=\"https:\/\/github.com\/pornpasok\/docker-elk\">https:\/\/github.com\/pornpasok\/docker-elk<\/a><\/p>\n<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fcbkbttn_like \"><fb:like href=\"https:\/\/ton.packetlove.com\/blog\/devops\/setup-elasticsearch-and-kibana-openid-connect-with-azure-ad.html\" action=\"like\" colorscheme=\"light\" layout=\"button_count\"  size=\"small\"><\/fb:like><\/div><div class=\"fb-share-button  \" data-href=\"https:\/\/ton.packetlove.com\/blog\/devops\/setup-elasticsearch-and-kibana-openid-connect-with-azure-ad.html\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>\u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e35\u0e04\u0e23\u0e31\u0e1a DevOps 101 \u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32 \u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e21\u0e35\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e32\u0e41\u0e19\u0e30\u0e19\u0e33 \u0e01\u0e32\u0e23 setup Single Sign-On (SSO) \u0e02\u0e2d\u0e07 App \u0e40\u0e23\u0e32 .. \u0e14\u0e49\u0e27\u0e22 Azure AD \u0e42\u0e14\u0e22\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32 \u0e44\u0e21\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e40\u0e1b\u0e47\u0e19 admin \u0e02\u0e2d\u0e07 org \u0e19\u0e31\u0e49\u0e19\u0e46 .. \u0e40\u0e1b\u0e47\u0e19 user \u0e18\u0e23\u0e23\u0e21\u0e14\u0e32 \u0e01\u0e47\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16 \u0e17\u0e33\u0e44\u0e14\u0e49 \u0e43\u0e19\u0e17\u0e35\u0e48\u0e19\u0e35\u0e49 \u0e08\u0e30\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e02\u0e2d\u0e07 OpenID Connect (OIDC) \u0e19\u0e30\u0e04\u0e23\u0e31\u0e1a \u0e0b\u0e36\u0e48\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16 \u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e17\u0e31\u0e49\u0e07\u0e01\u0e31\u0e1a Google, GitHub, AWS Cognito \u0e41\u0e25\u0e30\u0e2d\u0e37\u0e48\u0e19\u0e46 \u0e44\u0e14\u0e49 .. \u0e41\u0e15\u0e48\u0e43\u0e19\u0e17\u0e35\u0e48\u0e19\u0e35\u0e49\u0e1c\u0e21\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e40\u0e1b\u0e47\u0e19 Azure AD \u0e19\u0e30\u0e04\u0e23\u0e31\u0e1a \u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e02\u0e2d\u0e07\u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23 \u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49 \u0e1e\u0e19\u0e31\u0e01\u0e07\u0e32\u0e19\u0e17\u0e38\u0e01\u0e04\u0e19 login \u0e14\u0e49\u0e27\u0e22 Azure AD [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1080],"tags":[1096,1090,1097,1099,1098],"class_list":["post-3502","post","type-post","status-publish","format-standard","hentry","category-devops","tag-azuread","tag-elk","tag-kibana","tag-openid","tag-rolemapping"],"_links":{"self":[{"href":"https:\/\/ton.packetlove.com\/blog\/wp-json\/wp\/v2\/posts\/3502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ton.packetlove.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ton.packetlove.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ton.packetlove.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ton.packetlove.com\/blog\/wp-json\/wp\/v2\/comments?post=3502"}],"version-history":[{"count":16,"href":"https:\/\/ton.packetlove.com\/blog\/wp-json\/wp\/v2\/posts\/3502\/revisions"}],"predecessor-version":[{"id":3521,"href":"https:\/\/ton.packetlove.com\/blog\/wp-json\/wp\/v2\/posts\/3502\/revisions\/3521"}],"wp:attachment":[{"href":"https:\/\/ton.packetlove.com\/blog\/wp-json\/wp\/v2\/media?parent=3502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ton.packetlove.com\/blog\/wp-json\/wp\/v2\/categories?post=3502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ton.packetlove.com\/blog\/wp-json\/wp\/v2\/tags?post=3502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}