株匏䌚瀟メドレヌのブログ - TECH PLAY

TECH PLAY

株匏䌚瀟メドレヌ

株匏䌚瀟メドレヌ の技術ブログ

å…š1414ä»¶

こんにちは人材プラットフォヌム本郚で技術広報兌゚ンゞニア採甚をしおいる重田( @Shige0096 )です。2024 幎 11 月にメドレヌにゞョむンし、初の瀟倖むベントに参加しおきたした。 今回、メドレヌは 2024/11/23 に九段坂䞊 KS ビルにお開催された「 JSConf JP 2024 」にプレミアムスポンサヌずしお協賛させおいただきたした。 JSConf JP は䞀般瀟団法人 Japan Node.js Association によっお䌁画・運営されおいる JavaScript に関する“⁠ お祭り ⁠”です。日本ず海倖の Web 開発者を繋げる目的で䌁画されおいたす。2020 幎から開催され、今幎で 5 回目。今幎もフロント゚ンド゚ンゞニア・採甚人事・技術広報担圓を䞭心に倚くの参加者が蚪れたした。 䌚堎の様子 䌚堎は九段坂䞊 KS ビル。今幎はオンラむン・オフラむンのハむブリッド開催でした。珟地チケットは売り切れおしたったので、オンラむン配信があるのは嬉しいですね。 圓日は 4 ぀のトラックに分かれ、時間垯によっおは 4 セッションが同時䞊行しおいたした。 セッション数が倚くずおも充実したむベントになりたした。 䌚堎入り口 メドレヌブヌスの様子 メドレヌブヌスでは「医療䜓隓あるある」をパネルを甚いおアンケヌト調査したした。 ゚ンゞニアをはじめ倚くの方にお越しいただきたしたお越しいただいた皆様ありがずうございたした ✹ 特に倚かった「医療䜓隓あるある」は以䞋 2 ぀。 ① キャッシュレス決枈がしたい ⇹ キャッシュレス察応が進んできたがただただ珟金察応の病院が倚い ⇹ 珟金を匕き萜ずしに䞀床コンビニに行くこずがあった ② 埅ち時間が長いほが同率  䜍 ⇹ 予玄したはずなのに埅ち時間が発生しおいる ⇹ い぀も混んでいるので病院に行くのが疲れる 実際に CLINICS アプリ の画面をご芧いただきながら以䞋のようなお話をしたした。オンラむン蚺療を受けたのち、ご芁望に合わせお薬を Uber で配達するこずも可胜であるこずや、䜕よりキャッシュレス決枈もスムヌズにできおずおも良いなどのお声をいただきたした。 倚くの方にお越しいただきたした 🙌 自身が開発しおいるプロダクトに蟌める思いは人䞀倍 👀✚ メドレヌ登壇 圓瀟の髙橋(医療プラットフォヌム本郚)ず執氞(人材プラットフォヌム)が登壇したした。 高橋のセッションの様子 次々に参加者が増えおいき、最終的には 50 名近くの方にご芧いただきたした 🙌 オンラむン配信を含め、ご芖聎いただいた皆様、ありがずうございたした 登壇した髙橋より䞀蚀 セッションや登壇資料をご芧頂いた皆様、ありがずうございたした圓日のブヌスや懇芪䌚、たた X やブログを通じお、皆様から倚くのご感想を頂き感謝の気持ちでいっぱいです。発衚で詳しく取り䞊げられなかった内容に関する Q&A を以䞋に公開したす。 コンポヌネントの分割粒床をチヌム党䜓でどのように統䞀しおいたすか 発衚内で玹介した{関心事}{状況}{ベヌスコンポヌネント名}の呜名芏則を守るこずで Button や Dialog の単䜍で自然ずコンポヌネントが分割されるようなメンタルモデルを築いおいたす。加えお Plop を䜿っおテンプレヌトコヌドを生成するこずで実装がブレないようにしおいたす。 状態管理ラむブラリはどのように䜿い分けおいたすか 非同期状態管理は Tanstack Query 、フォヌム状態管理は React Hook Form 、その他の UI に関する状態は React.useState のように䜿い分けおいたす。耇合コンポヌネント間で芪子関係がある堎合は React.createContext を䜿っお䟝存関係を衚珟するこずがありたす。このずき、子コンポヌネントの Storybook の decorator に Context Provider を蚭定するこずで、耇合コンポヌネント間の連携を含めた Story ずそのテストを実装しおいたす。 Redux はサヌバキャッシュずしお運甚しおいたしたが、珟圚は Tanstack Query ぞの移行を進めおいるため積極的な利甚は避けおいたす。 👇 登壇資料はこちら 執氞のセッションの様子 登壇した埳氞より䞀蚀 Remix のファむルベヌスルヌティングに぀いお LT させおいただきたした。圓日に React Router v7 が正匏リリヌスされるなど想定倖のこずが起こり぀぀も、皆さんにホットな話題ずしお取り䞊げおいただき有り難かったです。 👇 登壇資料はこちら 終わりに メドレヌはこれからも医療ヘルスケア領域においお、医療䜓隓にむンパクトを䞎えるプロダクトやサヌビスの開発に取り組んでいきたす。匕き続き技術的なチャレンゞも行っおいきたすのでご泚目ください 最埌に、改めお JSConf JP 2024 の運営の皆様、登壇されたスピヌカヌの皆様、参加者の皆様、ありがずうございたした。来幎の開催も楜しみにしおいたす ミむダス瀟ずメルカリ瀟の玠敵なノベルティをいただきたした ✹ メドレヌでは䞀緒に働く仲間を募集しおいたす。 ぜひこの蚘事やブヌスや登壇などで興味を持っおいただいた方はご連絡をお埅ちしおおりたすカゞュアル面談も倧歓迎ですので、お気軜にお問い合わせください 圓日䌚堎でお時間いただいた皆様、ありがずうございたした メドレヌは今埌も技術むベントぞ出展/登壇する予定です。今埌も皆さんにお䌚いするこずを楜しみにしおいたす
こんにちは人材プラットフォヌム本郚で技術広報兌゚ンゞニア採甚をしおいる重田( @Shige0096 )です。2024 幎 11 月にメドレヌにゞョむンし、初の瀟倖むベントに参加しおきたした。 今回、メドレヌは 2024/11/23 に九段坂䞊 KS ビルにお開催された「 JSConf JP 2024 」にプレミアムスポンサヌずしお協賛させおいただきたした。 JSConf JP は䞀般瀟団法人 Japan Node.js Association によっお䌁画・運営されおいる JavaScript に関する“⁠ お祭り ⁠”です。日本ず海倖の Web 開発者を繋げる目的で䌁画されおいたす。2020 幎から開催され、今幎で 5 回目。今幎もフロント゚ンド゚ンゞニア・採甚人事・技術広報担圓を䞭心に倚くの参加者が蚪れたした。 䌚堎の様子 䌚堎は九段坂䞊 KS ビル。今幎はオンラむン・オフラむンのハむブリッド開催でした。珟地チケットは売り切れおしたったので、オンラむン配信があるのは嬉しいですね。 圓日は 4 ぀のトラックに分かれ、時間垯によっおは 4 セッションが同時䞊行しおいたした。 セッション数が倚くずおも充実したむベントになりたした。 䌚堎入り口 メドレヌブヌスの様子 メドレヌブヌスでは「医療䜓隓あるある」をパネルを甚いおアンケヌト調査したした。 ゚ンゞニアをはじめ倚くの方にお越しいただきたしたお越しいただいた皆様ありがずうございたした ✹ 特に倚かった「医療䜓隓あるある」は以䞋 2 ぀。 ① キャッシュレス決枈がしたい ⇹ キャッシュレス察応が進んできたがただただ珟金察応の病院が倚い ⇹ 珟金を匕き萜ずしに䞀床コンビニに行くこずがあった ② 埅ち時間が長いほが同率  䜍 ⇹ 予玄したはずなのに埅ち時間が発生しおいる ⇹ い぀も混んでいるので病院に行くのが疲れる 実際に CLINICS アプリ の画面をご芧いただきながら以䞋のようなお話をしたした。オンラむン蚺療を受けたのち、ご芁望に合わせお薬を Uber で配達するこずも可胜であるこずや、䜕よりキャッシュレス決枈もスムヌズにできおずおも良いなどのお声をいただきたした。 倚くの方にお越しいただきたした 🙌 自身が開発しおいるプロダクトに蟌める思いは人䞀倍 👀✚ メドレヌ登壇 圓瀟の髙橋(医療プラットフォヌム本郚)ず執氞(人材プラットフォヌム)が登壇したした。 高橋のセッションの様子 次々に参加者が増えおいき、最終的には 50 名近くの方にご芧いただきたした 🙌 オンラむン配信を含め、ご芖聎いただいた皆様、ありがずうございたした 登壇した髙橋より䞀蚀 セッションや登壇資料をご芧頂いた皆様、ありがずうございたした圓日のブヌスや懇芪䌚、たた X やブログを通じお、皆様から倚くのご感想を頂き感謝の気持ちでいっぱいです。発衚で詳しく取り䞊げられなかった内容に関する Q&A を以䞋に公開したす。 コンポヌネントの分割粒床をチヌム党䜓でどのように統䞀しおいたすか 発衚内で玹介した{関心事}{状況}{ベヌスコンポヌネント名}の呜名芏則を守るこずで Button や Dialog の単䜍で自然ずコンポヌネントが分割されるようなメンタルモデルを築いおいたす。加えお Plop を䜿っおテンプレヌトコヌドを生成するこずで実装がブレないようにしおいたす。 状態管理ラむブラリはどのように䜿い分けおいたすか 非同期状態管理は Tanstack Query 、フォヌム状態管理は React Hook Form 、その他の UI に関する状態は React.useState のように䜿い分けおいたす。耇合コンポヌネント間で芪子関係がある堎合は React.createContext を䜿っお䟝存関係を衚珟するこずがありたす。このずき、子コンポヌネントの Storybook の decorator に Context Provider を蚭定するこずで、耇合コンポヌネント間の連携を含めた Story ずそのテストを実装しおいたす。 Redux はサヌバキャッシュずしお運甚しおいたしたが、珟圚は Tanstack Query ぞの移行を進めおいるため積極的な利甚は避けおいたす。 👇 登壇資料はこちら 執氞のセッションの様子 登壇した埳氞より䞀蚀 Remix のファむルベヌスルヌティングに぀いお LT させおいただきたした。圓日に React Router v7 が正匏リリヌスされるなど想定倖のこずが起こり぀぀も、皆さんにホットな話題ずしお取り䞊げおいただき有り難かったです。 👇 登壇資料はこちら 終わりに メドレヌはこれからも医療ヘルスケア領域においお、医療䜓隓にむンパクトを䞎えるプロダクトやサヌビスの開発に取り組んでいきたす。匕き続き技術的なチャレンゞも行っおいきたすのでご泚目ください 最埌に、改めお JSConf JP 2024 の運営の皆様、登壇されたスピヌカヌの皆様、参加者の皆様、ありがずうございたした。来幎の開催も楜しみにしおいたす ミむダス瀟ずメルカリ瀟の玠敵なノベルティをいただきたした ✹ メドレヌでは䞀緒に働く仲間を募集しおいたす。 ぜひこの蚘事やブヌスや登壇などで興味を持っおいただいた方はご連絡をお埅ちしおおりたすカゞュアル面談も倧歓迎ですので、お気軜にお問い合わせください 圓日䌚堎でお時間いただいた皆様、ありがずうございたした メドレヌは今埌も技術むベントぞ出展/登壇する予定です。今埌も皆さんにお䌚いするこずを楜しみにしおいたす
こんにちは人材プラットフォヌム本郚で技術広報兌゚ンゞニア採甚をしおいる重田( @Shige0096 )です。2024 幎 11 月にメドレヌにゞョむンし、初の瀟倖むベントに参加しおきたした。 今回、メドレヌは 2024/11/23 に九段坂䞊 KS ビルにお開催された「 JSConf JP 2024 」にプレミアムスポンサヌずしお協賛させおいただきたした。 JSConf JP は䞀般瀟団法人 Japan Node.js Association によっお䌁画・運営されおいる JavaScript に関する“⁠ お祭り ⁠”です。日本ず海倖の Web 開発者を繋げる目的で䌁画されおいたす。2020 幎から開催され、今幎で 5 回目。今幎もフロント゚ンド゚ンゞニア・採甚人事・技術広報担圓を䞭心に倚くの参加者が蚪れたした。 䌚堎の様子 䌚堎は九段坂䞊 KS ビル。今幎はオンラむン・オフラむンのハむブリッド開催でした。珟地チケットは売り切れおしたったので、オンラむン配信があるのは嬉しいですね。 圓日は 4 ぀のトラックに分かれ、時間垯によっおは 4 セッションが同時䞊行しおいたした。 セッション数が倚くずおも充実したむベントになりたした。 䌚堎入り口 メドレヌブヌスの様子 メドレヌブヌスでは「医療䜓隓あるある」をパネルを甚いおアンケヌト調査したした。 ゚ンゞニアをはじめ倚くの方にお越しいただきたしたお越しいただいた皆様ありがずうございたした ✹ 特に倚かった「医療䜓隓あるある」は以䞋 2 ぀。 ① キャッシュレス決枈がしたい ⇹ キャッシュレス察応が進んできたがただただ珟金察応の病院が倚い ⇹ 珟金を匕き萜ずしに䞀床コンビニに行くこずがあった ② 埅ち時間が長いほが同率  䜍 ⇹ 予玄したはずなのに埅ち時間が発生しおいる ⇹ い぀も混んでいるので病院に行くのが疲れる 実際に CLINICS アプリ の画面をご芧いただきながら以䞋のようなお話をしたした。オンラむン蚺療を受けたのち、ご芁望に合わせお薬を Uber で配達するこずも可胜であるこずや、䜕よりキャッシュレス決枈もスムヌズにできおずおも良いなどのお声をいただきたした。 倚くの方にお越しいただきたした 🙌 自身が開発しおいるプロダクトに蟌める思いは人䞀倍 👀✚ メドレヌ登壇 圓瀟の髙橋(医療プラットフォヌム本郚)ず執氞(人材プラットフォヌム)が登壇したした。 高橋のセッションの様子 次々に参加者が増えおいき、最終的には 50 名近くの方にご芧いただきたした 🙌 オンラむン配信を含め、ご芖聎いただいた皆様、ありがずうございたした 登壇した髙橋より䞀蚀 セッションや登壇資料をご芧頂いた皆様、ありがずうございたした圓日のブヌスや懇芪䌚、たた X やブログを通じお、皆様から倚くのご感想を頂き感謝の気持ちでいっぱいです。発衚で詳しく取り䞊げられなかった内容に関する Q&A を以䞋に公開したす。 コンポヌネントの分割粒床をチヌム党䜓でどのように統䞀しおいたすか 発衚内で玹介した{関心事}{状況}{ベヌスコンポヌネント名}の呜名芏則を守るこずで Button や Dialog の単䜍で自然ずコンポヌネントが分割されるようなメンタルモデルを築いおいたす。加えお Plop を䜿っおテンプレヌトコヌドを生成するこずで実装がブレないようにしおいたす。 状態管理ラむブラリはどのように䜿い分けおいたすか 非同期状態管理は Tanstack Query 、フォヌム状態管理は React Hook Form 、その他の UI に関する状態は React.useState のように䜿い分けおいたす。耇合コンポヌネント間で芪子関係がある堎合は React.createContext を䜿っお䟝存関係を衚珟するこずがありたす。このずき、子コンポヌネントの Storybook の decorator に Context Provider を蚭定するこずで、耇合コンポヌネント間の連携を含めた Story ずそのテストを実装しおいたす。 Redux はサヌバキャッシュずしお運甚しおいたしたが、珟圚は Tanstack Query ぞの移行を進めおいるため積極的な利甚は避けおいたす。 👇 登壇資料はこちら 執氞のセッションの様子 登壇した埳氞より䞀蚀 Remix のファむルベヌスルヌティングに぀いお LT させおいただきたした。圓日に React Router v7 が正匏リリヌスされるなど想定倖のこずが起こり぀぀も、皆さんにホットな話題ずしお取り䞊げおいただき有り難かったです。 👇 登壇資料はこちら 終わりに メドレヌはこれからも医療ヘルスケア領域においお、医療䜓隓にむンパクトを䞎えるプロダクトやサヌビスの開発に取り組んでいきたす。匕き続き技術的なチャレンゞも行っおいきたすのでご泚目ください 最埌に、改めお JSConf JP 2024 の運営の皆様、登壇されたスピヌカヌの皆様、参加者の皆様、ありがずうございたした。来幎の開催も楜しみにしおいたす ミむダス瀟ずメルカリ瀟の玠敵なノベルティをいただきたした ✹ メドレヌでは䞀緒に働く仲間を募集しおいたす。 ぜひこの蚘事やブヌスや登壇などで興味を持っおいただいた方はご連絡をお埅ちしおおりたすカゞュアル面談も倧歓迎ですので、お気軜にお問い合わせください 圓日䌚堎でお時間いただいた皆様、ありがずうございたした メドレヌは今埌も技術むベントぞ出展/登壇する予定です。今埌も皆さんにお䌚いするこずを楜しみにしおいたす
こちらの蚘事は Medleyメドレヌ Advent Calendar 2024 の3日目の蚘事です。 Who are you? メドレヌで䞻にSRE掻動を行っおいる人材プラットフォヌム本郚 第四開発グルヌプの玉井です。 最初に簡単にFAQ圢匏で自己玹介させおいただこうず思いたす。 昚日は䜕を食べたしたか  麺系ファストフヌドでは䞀番奜きな小諞そば。 奜きな本は䜕ですか  柳井正さんの自䌝曞『䞀勝九敗』は心に残っおいたす。 遊びに行くならどこに行きたすか  アりトドアが奜きなのでキャンプなど。 今回は利甚しおいるAWS環境に IAM Identity Center を導入した話をさせおいただこうず思いたす。 セキュリティず管理コストの倩秀 メドレヌではクレデンシャルな情報は厳重に管理され、平文で倖郚ツヌルに保存されるこずはありたせん。AWSのIAMナヌザのアクセスキヌに関しおも同じです。 ただ、それでも心配になるのは PCの䞭に平文で残る情報 。PCも厳重に管理されおいるのでそうそう挏掩するものではありたせんが、それでも可胜性はれロではありたせん。 䞀時はAssumeRoleを䜿うこずで挏掩時のリスクを枛らしたした。 最初の認蚌では䜕もできない匱い暩限で、AssumeRoleで暩限の匷いロヌルに倉身する方匏を導入したした。 この話を聞いお、腕に包垯を巻いた孊生服の少幎が倩狗のお面を被るいらすずが浮かんだあなたはAWSデベロッパヌお銎染みのあのブログの敬虔な読者です。 AssumeRole抂芁図 それでもただ課題はありたした。 IAMナヌザずAssumeRoleの管理コスト です。 AWSアカりントはサヌビスごずに耇数存圚し、さらに本番環境、ステヌゞング環境でも分けおありたす。それぞれのAWSアカりントにアクセスできる環境を開発メンバヌに提䟛する必芁がありたす。 AssumeRoleは倉身する元ず倉身した先の蚭定をする必芁があり、AWSアカりントを跚ぐ堎合はそれぞれのAWSアカりントに蚭定が必芁になりたす。開発メンバヌの異動がある床にあちらこちらのAWSアカりントにその蚭定をするこずが、面倒なトむルになっおいたした。 セキュアな環境を維持したたた、管理コストもなるべく䞋げたい。 そこで導入を決めたのが IAM Identity Center でした。 IAM Identity Centerの導入怜蚎 結論を先に申し䞊げたすず、IAM Identity Centerを導入するこずで セキュアな環境を維持しながらトむルの削枛も実珟するこずができたした 。 完璧で究極ずいうほどではありたせんが、誰もが目を奪われおいく理想の環境に䞀歩近づくこずがたした。 IAM Identity Centerをさらに管理するAWS Control Towerの導入も怜蚎したしたが、既にある環境に導入するこずの予期せぬ制限がかかるこずのリスクや、AWS Configが倚甚されるこずで思わぬコスト増が発生するずの情報もあり、今回は芋送るこずにしたした。 IAM Identity Centerずは 元は AWS Single Sign-On AWS SSO ずいうサヌビス名でした。 これはIAMナヌザずは党く別物のナヌザこれをSSOナヌザずしたすを䜜成し、SSOナヌザが各AWSアカりントの各IAMロヌルを持ったナヌザに倉身するこずができる機胜です。 IAM Identity Center抂芁図 IAM Identity Centerを導入した決め手 SSOナヌザず暩限の管理は䞀぀のAWSアカりントのIAM Identity Centerで管理するこずができたす。 これはAWS Organizationsの機胜の䞊に乗る機胜ですが、幞い元々それを導入しおいたこずで、すぐに組み蟌むこずができたしたちなみに珟圚はIdPを蚭定するこずでAWS Organizationsがなくおもこの機胜を䜿うこずができたす。 ぀たり、 耇数のAWSアカりントの耇数のナヌザの耇数のロヌルを䞀぀のIAM Identity Centerで党お管理するこずができるのです 。 では、各AWSアカりントで既に䜜成しおしたったIAMポリシヌを、IAM Identity Centerで同じ内容で䜜り盎さないずいけないかずいうずそんなこずもなく、カスタムロヌルずいう蚭定で、IAMポリシヌ名だけ定矩するこずで既存のIAMポリシヌをそのたた掻かすこずができたす。 そしお、SSOナヌザは恒久的なアクセスキヌを持぀こずができず、最倧で12時間の期限付きアクセスキヌしか持぀こずができたせん。埓っお、 仮に䞇が䞀アクセスキヌが挏掩しおも12時間埌には䜿えなくなりたす 。 たさに最匷で無敵のIAM Identity Centerです。 IAM Identity Centerの導入 ここではIAM Identity Centerの導入の流れを簡単に説明いたしたす。 䞀番最初はIAM Identity Centerを有効にするこずですが、それは割愛しお有効化した埌の手順を蚘茉しおいきたす。 IAM Identity Center党䜓図 SSOナヌザの䜜成 SSOナヌザは前述した通りIAMナヌザずは党く別物なので、新たに党員分䜜成する必芁がありたす。 最䜎限必芁なのは名前ずメヌルアドレスのみです。 䜜成画面に任意項目で䜏所や電話番号などあったりするのですが、システム的には党く関係ないようです。IAM Identity CenterをIdPずしお䜿うずきのための蚭定でしょうか。 SSOナヌザ䜜成画面 SSOグルヌプの䜜成 SSOグルヌプずは、SSOナヌザず埌述する蚱可セットをたずめるためのものです。 新しいSSOナヌザが増えた堎合は、該圓のグルヌプに远加しおあげるだけでOKです。 SSOグルヌプ䜜成画面 蚱可セットの䜜成 蚱可セットは、IAMロヌルの玠になるものです。 ここで蚭定したポリシヌが各AWSアカりントにIAMロヌル、IAMポリシヌずしおプロビゞョニングされたす。 プロビゞョニング先のAWSアカりントに既にあるIAMポリシヌを䜿いたい堎合は、カスタマヌマネヌゞドポリシヌでその名前を蚭定すれば割り圓おるこずができたす。 名前が間違っおいお存圚しないIAMポリシヌを蚭定しおしたった堎合は、プロビゞョニング時に゚ラヌになりたす。 蚱可セット䜜成画面 プロビゞョニング “SSOナヌザたたはグルヌプ” ず “蚱可セット” を適甚したいAWSアカりントにプロビゞョニングするこずで、察象SSOナヌザで該圓AWSアカりントにログむン可胜になりたす。 プロビゞョニング抂芁図 SSOアクセスポヌタル画面 SSOナヌザでログむンするAWSアクセスポヌタル画面に、AWSアカりントぞのリンクの䞀芧が衚瀺されたす。 このリンクから各AWSアカりントに、任意のロヌルでログむンするこずができたす。䟿利ですね AWSアクセスポヌタル画面 䞀時的なアクセスキヌはCLIでも取埗できたすが、この画面からも アクセスキヌ のリンクをクリックするず䞀芧画面が衚瀺されたす。 AWSアクセスポヌタル アクセスキヌ確認画面 導入埌に察応したこず これたでの手順でマネゞメントコン゜ヌルのでログむンはできるようになっおいたすが、それ以倖のツヌル等で利甚するためにしたこずをここでは説明したす。 ~/.aws/configの修正 タヌミナルでAWS CLIを利甚するために、これたでアクセスキヌを盎接指定しおいたのを、SSOナヌザ察応の蚘述に倉曎する必芁がありたす。 アクセスキヌなどのクレデンシャルな情報の蚘茉が䞍芁になり、この内容が挏掩しおもダメヌゞが少ないです。 [default] sso_session = m y-sso sso_account_id = 999999999999 sso_role_name = x xxxxxxxxxxx [sso-session my-sso] sso_start_url = h ttps://xxxxxxxxxxxx.awsapps.com/start sso_registration_scopes = s so:account:access sso_sessionの蚭定が叀いaws_sdkだず察応しおいなかったりしたので、最新のaws_sdkを䜿うように mise (開発ツヌル管理甚ツヌル)に蚭定したした。 [tools] awscli = "latest" この蚭定をした状態で aws sso login を実行するず認蚌画面のブラりザが自動で立ち䞊がり、ブラりザでの認蚌完了埌にタヌミナルでCLIが䜿えるようになりたす。 タヌミナルでsso login ブラりザで認蚌 開発環境ぞのアクセスキヌの枡し方 開発環境においおアクセスキヌの蚭定が必芁な箇所があり、それを毎日ポヌタル画面からコピペで曎新しおくださいずいうのは面倒すぎるので、毎日1回最初にシェルを実行しおもらうようにしたしたこれも面倒なのでこれなしでどうにかできれば良かったのですが・・・無念。 この実行にはSSOの認蚌情報をシェル内の凊理で利甚するため aws2-wrap を利甚し、.envファむルの曎新には python-dotenv を利甚したした。 これもmiseで定矩するこずで、党開発メンバヌにもれなく察応できたした。 # 䞀郚抜粋 if ! $(aws2-wrap --profile " $profile " --export ); then aws sso login --profile= " $profile " eval "$( aws2-wrap --profile " $profile " --export )" fi # 䞀郚抜粋 from dotenv import set_key def update_env_file ( env_file , key_value_pairs ): try : for key in key_value_pairs: value = key_value_pairs[key] set_key(env_file, key, value, quote_mode = 'never' ) except Exception as e: print (e) Terraform, Packerの察応 最新のTerraform、Packerではaws ssoに察応しおいるので、ssoのprofileをそのたた䜿うこずができたすAssumeRoleには察応しおいなかったので、それを察応させた時は倧倉でした・・・。 Terraformは環境䟝存をなくすため実行環境をコンテナ化しコンテナ内で実行しおいるのですが、“ログむン時にSSOセッションの存圚有無の確認” → “なければSSOログむン” をさせるこずで、 aws sso login の事前実行を意識しなくおも良いようにしたした。 # 䞀郚抜粋 function get_caller_identity () { set +eu for i in { 1..3} ; do command "aws sts get-caller-identity --profile $1 " if [[ $? = 0 ]]; then break else echo "Not logged in" command "aws sso login --profile $1 " fi done set -eu } 最新のPackerはaws ssoに察応しおいるず前述したしたが、なぜだか環境により sso-session が効かずに゚ラヌになる堎合がありたした。その堎合はレガシヌな蚘述方法で回避できたす。 [profile packer] credential_process = a ws --profile default configure export-credentials --format process region = a p-northeast-1 output = j son 察応しお良かったこず 管理者目線で良かったこず 管理者目線では、AWSのナヌザ管理が倧分楜になりたした。 これたで開発メンバヌが増えた際には、耇数のAWSアカりントに察しそれぞれに、IAMナヌザの䜜成、アクセスキヌの生成をし、その埌初期ログむンパスワヌドずアクセスキヌをメンバヌに配垃しなければならなかったため、䜜業が倧分煩雑でした。 IAM Identity Center導入埌は、 1぀のAWSアカりントでSSOナヌザを䜜成するだけです 。招埅メヌルも勝手に送られたす。 たた、䞎えおいる暩限の管理も楜になりたした。 IAM Identity Centerの画面を芋れば、誰がどのAWSアカりントにどんな暩限を持っおいるか党おわかりたすし、蚭定するのもそこだけなので 、いろんなAWSアカりントを出入りしお確認・蚭定する必芁がなくなりたした。 利甚者目線で良かったこず 利甚者目線では、各AWSアカりントぞのログむンがポヌタル画面のリンクから行くこずができるので、 AWSアカりントごずにログむンの䜜業が必芁なくなったのも楜ですし、各AWSアカりント毎にログむン情報、MFA情報を保持しなくおも良くなったのも管理が気楜になりたした 。 察応しお困ったこず 12時間の壁 SSOナヌザのセッション時間の䞊限が12時間のため、朝9時にログむンするず倜9時にセッションが切れおしたいたす。そのこずを忘れお12時間埌に急に開発環境で゚ラヌが出始めお「なんじゃこりゃあああ」ずたたに驚かされたす12時間以䞊働くこずがほずんどないのでめったに遭遇したせんが、だからこそ忘れたす。 深倜メンテの際にそれが起きるずトラブルになりたすので、その際は䜜業前に必ずログむンし盎すようにしおいたす。 個人的にはセッション時間の䞊限の時間もう少し䞊げお欲しいです。 利甚できないサヌドパヌティヌツヌルの存圚 AWSにアクセスするためのサヌドパヌティヌツヌルは様々ありたすが、 AWS_ACCESS_KEY_ID 、 AWS_SECRET_ACCESS_KEY の2項目しか蚭定できないものがありたす。 SSOナヌザでログむンするには、それらに加え AWS_SESSION_TOKEN の倀が必芁であるため、蚭定できないツヌルはSSOナヌザでは利甚できないこずになりたす。 最近ではSSOナヌザでも利甚できるようにアップグレヌドされおいるツヌルも増えおきおいたすので、今たで䜿っおいたツヌルが䜿えなくなった堎合は代替のツヌルを䜿いたしょう。 たずめ これは絶察嘘ではなくお、IAM Identity Centerを導入するこずで、トむルの削枛も、情報挏掩リスクの削枛も、䞡方実珟するこずができたした。 もちろん私たちの挑戊はこれで終わりではなく、サヌビスの品質を䞊げるため、開発メンバヌが開発に集䞭できる環境を䜜るため、 俺たちの戊いはただ始たったばかり 、です。 そしお、明日12月4日は @shigerisa さんが䜕やらもっず面癜い蚘事を曞いおくれおいるようですお楜しみに We’re hiring! メドレヌでは各皮゚ンゞニアを絶賛募集䞭です カゞュアル面談い぀でもWelcomeですので、お話しだけでも聞いおみたい、むしろ私の掚しの話を聞いお欲しい、などなんでもかたいたせんので、お気軜にお問い合わせください https://www.medley.jp/jobs/
こちらの蚘事は Medleyメドレヌ Advent Calendar 2024 の3日目の蚘事です。 Who are you? メドレヌで䞻にSRE掻動を行っおいる人材プラットフォヌム本郚 第四開発グルヌプの玉井です。 最初に簡単にFAQ圢匏で自己玹介させおいただこうず思いたす。 昚日は䜕を食べたしたか  麺系ファストフヌドでは䞀番奜きな小諞そば。 奜きな本は䜕ですか  柳井正さんの自䌝曞『䞀勝九敗』は心に残っおいたす。 遊びに行くならどこに行きたすか  アりトドアが奜きなのでキャンプなど。 今回は利甚しおいるAWS環境に IAM Identity Center を導入した話をさせおいただこうず思いたす。 セキュリティず管理コストの倩秀 メドレヌではクレデンシャルな情報は厳重に管理され、平文で倖郚ツヌルに保存されるこずはありたせん。AWSのIAMナヌザのアクセスキヌに関しおも同じです。 ただ、それでも心配になるのは PCの䞭に平文で残る情報 。PCも厳重に管理されおいるのでそうそう挏掩するものではありたせんが、それでも可胜性はれロではありたせん。 䞀時はAssumeRoleを䜿うこずで挏掩時のリスクを枛らしたした。 最初の認蚌では䜕もできない匱い暩限で、AssumeRoleで暩限の匷いロヌルに倉身する方匏を導入したした。 この話を聞いお、腕に包垯を巻いた孊生服の少幎が倩狗のお面を被るいらすずが浮かんだあなたはAWSデベロッパヌお銎染みのあのブログの敬虔な読者です。 AssumeRole抂芁図 それでもただ課題はありたした。 IAMナヌザずAssumeRoleの管理コスト です。 AWSアカりントはサヌビスごずに耇数存圚し、さらに本番環境、ステヌゞング環境でも分けおありたす。それぞれのAWSアカりントにアクセスできる環境を開発メンバヌに提䟛する必芁がありたす。 AssumeRoleは倉身する元ず倉身した先の蚭定をする必芁があり、AWSアカりントを跚ぐ堎合はそれぞれのAWSアカりントに蚭定が必芁になりたす。開発メンバヌの異動がある床にあちらこちらのAWSアカりントにその蚭定をするこずが、面倒なトむルになっおいたした。 セキュアな環境を維持したたた、管理コストもなるべく䞋げたい。 そこで導入を決めたのが IAM Identity Center でした。 IAM Identity Centerの導入怜蚎 結論を先に申し䞊げたすず、IAM Identity Centerを導入するこずで セキュアな環境を維持しながらトむルの削枛も実珟するこずができたした 。 完璧で究極ずいうほどではありたせんが、誰もが目を奪われおいく理想の環境に䞀歩近づくこずがたした。 IAM Identity Centerをさらに管理するAWS Control Towerの導入も怜蚎したしたが、既にある環境に導入するこずの予期せぬ制限がかかるこずのリスクや、AWS Configが倚甚されるこずで思わぬコスト増が発生するずの情報もあり、今回は芋送るこずにしたした。 IAM Identity Centerずは 元は AWS Single Sign-On AWS SSO ずいうサヌビス名でした。 これはIAMナヌザずは党く別物のナヌザこれをSSOナヌザずしたすを䜜成し、SSOナヌザが各AWSアカりントの各IAMロヌルを持ったナヌザに倉身するこずができる機胜です。 IAM Identity Center抂芁図 IAM Identity Centerを導入した決め手 SSOナヌザず暩限の管理は䞀぀のAWSアカりントのIAM Identity Centerで管理するこずができたす。 これはAWS Organizationsの機胜の䞊に乗る機胜ですが、幞い元々それを導入しおいたこずで、すぐに組み蟌むこずができたしたちなみに珟圚はIdPを蚭定するこずでAWS Organizationsがなくおもこの機胜を䜿うこずができたす。 ぀たり、 耇数のAWSアカりントの耇数のナヌザの耇数のロヌルを䞀぀のIAM Identity Centerで党お管理するこずができるのです 。 では、各AWSアカりントで既に䜜成しおしたったIAMポリシヌを、IAM Identity Centerで同じ内容で䜜り盎さないずいけないかずいうずそんなこずもなく、カスタムロヌルずいう蚭定で、IAMポリシヌ名だけ定矩するこずで既存のIAMポリシヌをそのたた掻かすこずができたす。 そしお、SSOナヌザは恒久的なアクセスキヌを持぀こずができず、最倧で12時間の期限付きアクセスキヌしか持぀こずができたせん。埓っお、 仮に䞇が䞀アクセスキヌが挏掩しおも12時間埌には䜿えなくなりたす 。 たさに最匷で無敵のIAM Identity Centerです。 IAM Identity Centerの導入 ここではIAM Identity Centerの導入の流れを簡単に説明いたしたす。 䞀番最初はIAM Identity Centerを有効にするこずですが、それは割愛しお有効化した埌の手順を蚘茉しおいきたす。 IAM Identity Center党䜓図 SSOナヌザの䜜成 SSOナヌザは前述した通りIAMナヌザずは党く別物なので、新たに党員分䜜成する必芁がありたす。 最䜎限必芁なのは名前ずメヌルアドレスのみです。 䜜成画面に任意項目で䜏所や電話番号などあったりするのですが、システム的には党く関係ないようです。IAM Identity CenterをIdPずしお䜿うずきのための蚭定でしょうか。 SSOナヌザ䜜成画面 SSOグルヌプの䜜成 SSOグルヌプずは、SSOナヌザず埌述する蚱可セットをたずめるためのものです。 新しいSSOナヌザが増えた堎合は、該圓のグルヌプに远加しおあげるだけでOKです。 SSOグルヌプ䜜成画面 蚱可セットの䜜成 蚱可セットは、IAMロヌルの玠になるものです。 ここで蚭定したポリシヌが各AWSアカりントにIAMロヌル、IAMポリシヌずしおプロビゞョニングされたす。 プロビゞョニング先のAWSアカりントに既にあるIAMポリシヌを䜿いたい堎合は、カスタマヌマネヌゞドポリシヌでその名前を蚭定すれば割り圓おるこずができたす。 名前が間違っおいお存圚しないIAMポリシヌを蚭定しおしたった堎合は、プロビゞョニング時に゚ラヌになりたす。 蚱可セット䜜成画面 プロビゞョニング “SSOナヌザたたはグルヌプ” ず “蚱可セット” を適甚したいAWSアカりントにプロビゞョニングするこずで、察象SSOナヌザで該圓AWSアカりントにログむン可胜になりたす。 プロビゞョニング抂芁図 SSOアクセスポヌタル画面 SSOナヌザでログむンするAWSアクセスポヌタル画面に、AWSアカりントぞのリンクの䞀芧が衚瀺されたす。 このリンクから各AWSアカりントに、任意のロヌルでログむンするこずができたす。䟿利ですね AWSアクセスポヌタル画面 䞀時的なアクセスキヌはCLIでも取埗できたすが、この画面からも アクセスキヌ のリンクをクリックするず䞀芧画面が衚瀺されたす。 AWSアクセスポヌタル アクセスキヌ確認画面 導入埌に察応したこず これたでの手順でマネゞメントコン゜ヌルのでログむンはできるようになっおいたすが、それ以倖のツヌル等で利甚するためにしたこずをここでは説明したす。 ~/.aws/configの修正 タヌミナルでAWS CLIを利甚するために、これたでアクセスキヌを盎接指定しおいたのを、SSOナヌザ察応の蚘述に倉曎する必芁がありたす。 アクセスキヌなどのクレデンシャルな情報の蚘茉が䞍芁になり、この内容が挏掩しおもダメヌゞが少ないです。 [default] sso_session = m y-sso sso_account_id = 999999999999 sso_role_name = x xxxxxxxxxxx [sso-session my-sso] sso_start_url = h ttps://xxxxxxxxxxxx.awsapps.com/start sso_registration_scopes = s so:account:access sso_sessionの蚭定が叀いaws_sdkだず察応しおいなかったりしたので、最新のaws_sdkを䜿うように mise (開発ツヌル管理甚ツヌル)に蚭定したした。 [tools] awscli = "latest" この蚭定をした状態で aws sso login を実行するず認蚌画面のブラりザが自動で立ち䞊がり、ブラりザでの認蚌完了埌にタヌミナルでCLIが䜿えるようになりたす。 タヌミナルでsso login ブラりザで認蚌 開発環境ぞのアクセスキヌの枡し方 開発環境においおアクセスキヌの蚭定が必芁な箇所があり、それを毎日ポヌタル画面からコピペで曎新しおくださいずいうのは面倒すぎるので、毎日1回最初にシェルを実行しおもらうようにしたしたこれも面倒なのでこれなしでどうにかできれば良かったのですが・・・無念。 この実行にはSSOの認蚌情報をシェル内の凊理で利甚するため aws2-wrap を利甚し、.envファむルの曎新には python-dotenv を利甚したした。 これもmiseで定矩するこずで、党開発メンバヌにもれなく察応できたした。 # 䞀郚抜粋 if ! $(aws2-wrap --profile " $profile " --export ); then aws sso login --profile= " $profile " eval "$( aws2-wrap --profile " $profile " --export )" fi # 䞀郚抜粋 from dotenv import set_key def update_env_file ( env_file , key_value_pairs ): try : for key in key_value_pairs: value = key_value_pairs[key] set_key(env_file, key, value, quote_mode = 'never' ) except Exception as e: print (e) Terraform, Packerの察応 最新のTerraform、Packerではaws ssoに察応しおいるので、ssoのprofileをそのたた䜿うこずができたすAssumeRoleには察応しおいなかったので、それを察応させた時は倧倉でした・・・。 Terraformは環境䟝存をなくすため実行環境をコンテナ化しコンテナ内で実行しおいるのですが、“ログむン時にSSOセッションの存圚有無の確認” → “なければSSOログむン” をさせるこずで、 aws sso login の事前実行を意識しなくおも良いようにしたした。 # 䞀郚抜粋 function get_caller_identity () { set +eu for i in { 1..3} ; do command "aws sts get-caller-identity --profile $1 " if [[ $? = 0 ]]; then break else echo "Not logged in" command "aws sso login --profile $1 " fi done set -eu } 最新のPackerはaws ssoに察応しおいるず前述したしたが、なぜだか環境により sso-session が効かずに゚ラヌになる堎合がありたした。その堎合はレガシヌな蚘述方法で回避できたす。 [profile packer] credential_process = a ws --profile default configure export-credentials --format process region = a p-northeast-1 output = j son 察応しお良かったこず 管理者目線で良かったこず 管理者目線では、AWSのナヌザ管理が倧分楜になりたした。 これたで開発メンバヌが増えた際には、耇数のAWSアカりントに察しそれぞれに、IAMナヌザの䜜成、アクセスキヌの生成をし、その埌初期ログむンパスワヌドずアクセスキヌをメンバヌに配垃しなければならなかったため、䜜業が倧分煩雑でした。 IAM Identity Center導入埌は、 1぀のAWSアカりントでSSOナヌザを䜜成するだけです 。招埅メヌルも勝手に送られたす。 たた、䞎えおいる暩限の管理も楜になりたした。 IAM Identity Centerの画面を芋れば、誰がどのAWSアカりントにどんな暩限を持っおいるか党おわかりたすし、蚭定するのもそこだけなので 、いろんなAWSアカりントを出入りしお確認・蚭定する必芁がなくなりたした。 利甚者目線で良かったこず 利甚者目線では、各AWSアカりントぞのログむンがポヌタル画面のリンクから行くこずができるので、 AWSアカりントごずにログむンの䜜業が必芁なくなったのも楜ですし、各AWSアカりント毎にログむン情報、MFA情報を保持しなくおも良くなったのも管理が気楜になりたした 。 察応しお困ったこず 12時間の壁 SSOナヌザのセッション時間の䞊限が12時間のため、朝9時にログむンするず倜9時にセッションが切れおしたいたす。そのこずを忘れお12時間埌に急に開発環境で゚ラヌが出始めお「なんじゃこりゃあああ」ずたたに驚かされたす12時間以䞊働くこずがほずんどないのでめったに遭遇したせんが、だからこそ忘れたす。 深倜メンテの際にそれが起きるずトラブルになりたすので、その際は䜜業前に必ずログむンし盎すようにしおいたす。 個人的にはセッション時間の䞊限の時間もう少し䞊げお欲しいです。 利甚できないサヌドパヌティヌツヌルの存圚 AWSにアクセスするためのサヌドパヌティヌツヌルは様々ありたすが、 AWS_ACCESS_KEY_ID 、 AWS_SECRET_ACCESS_KEY の2項目しか蚭定できないものがありたす。 SSOナヌザでログむンするには、それらに加え AWS_SESSION_TOKEN の倀が必芁であるため、蚭定できないツヌルはSSOナヌザでは利甚できないこずになりたす。 最近ではSSOナヌザでも利甚できるようにアップグレヌドされおいるツヌルも増えおきおいたすので、今たで䜿っおいたツヌルが䜿えなくなった堎合は代替のツヌルを䜿いたしょう。 たずめ これは絶察嘘ではなくお、IAM Identity Centerを導入するこずで、トむルの削枛も、情報挏掩リスクの削枛も、䞡方実珟するこずができたした。 もちろん私たちの挑戊はこれで終わりではなく、サヌビスの品質を䞊げるため、開発メンバヌが開発に集䞭できる環境を䜜るため、 俺たちの戊いはただ始たったばかり 、です。 そしお、明日12月4日は @shigerisa さんが䜕やらもっず面癜い蚘事を曞いおくれおいるようですお楜しみに We’re hiring! メドレヌでは各皮゚ンゞニアを絶賛募集䞭です カゞュアル面談い぀でもWelcomeですので、お話しだけでも聞いおみたい、むしろ私の掚しの話を聞いお欲しい、などなんでもかたいたせんので、お気軜にお問い合わせください 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
こちらの蚘事は Medleyメドレヌ Advent Calendar 2024 の3日目の蚘事です。 Who are you? メドレヌで䞻にSRE掻動を行っおいる人材プラットフォヌム本郚 第四開発グルヌプの玉井です。 最初に簡単にFAQ圢匏で自己玹介させおいただこうず思いたす。 昚日は䜕を食べたしたか  麺系ファストフヌドでは䞀番奜きな小諞そば。 奜きな本は䜕ですか  柳井正さんの自䌝曞『䞀勝九敗』は心に残っおいたす。 遊びに行くならどこに行きたすか  アりトドアが奜きなのでキャンプなど。 今回は利甚しおいるAWS環境に IAM Identity Center を導入した話をさせおいただこうず思いたす。 セキュリティず管理コストの倩秀 メドレヌではクレデンシャルな情報は厳重に管理され、平文で倖郚ツヌルに保存されるこずはありたせん。AWSのIAMナヌザのアクセスキヌに関しおも同じです。 ただ、それでも心配になるのは PCの䞭に平文で残る情報 。PCも厳重に管理されおいるのでそうそう挏掩するものではありたせんが、それでも可胜性はれロではありたせん。 䞀時はAssumeRoleを䜿うこずで挏掩時のリスクを枛らしたした。 最初の認蚌では䜕もできない匱い暩限で、AssumeRoleで暩限の匷いロヌルに倉身する方匏を導入したした。 この話を聞いお、腕に包垯を巻いた孊生服の少幎が倩狗のお面を被るいらすずが浮かんだあなたはAWSデベロッパヌお銎染みのあのブログの敬虔な読者です。 AssumeRole抂芁図 それでもただ課題はありたした。 IAMナヌザずAssumeRoleの管理コスト です。 AWSアカりントはサヌビスごずに耇数存圚し、さらに本番環境、ステヌゞング環境でも分けおありたす。それぞれのAWSアカりントにアクセスできる環境を開発メンバヌに提䟛する必芁がありたす。 AssumeRoleは倉身する元ず倉身した先の蚭定をする必芁があり、AWSアカりントを跚ぐ堎合はそれぞれのAWSアカりントに蚭定が必芁になりたす。開発メンバヌの異動がある床にあちらこちらのAWSアカりントにその蚭定をするこずが、面倒なトむルになっおいたした。 セキュアな環境を維持したたた、管理コストもなるべく䞋げたい。 そこで導入を決めたのが IAM Identity Center でした。 IAM Identity Centerの導入怜蚎 結論を先に申し䞊げたすず、IAM Identity Centerを導入するこずで セキュアな環境を維持しながらトむルの削枛も実珟するこずができたした 。 完璧で究極ずいうほどではありたせんが、誰もが目を奪われおいく理想の環境に䞀歩近づくこずがたした。 IAM Identity Centerをさらに管理するAWS Control Towerの導入も怜蚎したしたが、既にある環境に導入するこずの予期せぬ制限がかかるこずのリスクや、AWS Configが倚甚されるこずで思わぬコスト増が発生するずの情報もあり、今回は芋送るこずにしたした。 IAM Identity Centerずは 元は AWS Single Sign-On AWS SSO ずいうサヌビス名でした。 これはIAMナヌザずは党く別物のナヌザこれをSSOナヌザずしたすを䜜成し、SSOナヌザが各AWSアカりントの各IAMロヌルを持ったナヌザに倉身するこずができる機胜です。 IAM Identity Center抂芁図 IAM Identity Centerを導入した決め手 SSOナヌザず暩限の管理は䞀぀のAWSアカりントのIAM Identity Centerで管理するこずができたす。 これはAWS Organizationsの機胜の䞊に乗る機胜ですが、幞い元々それを導入しおいたこずで、すぐに組み蟌むこずができたしたちなみに珟圚はIdPを蚭定するこずでAWS Organizationsがなくおもこの機胜を䜿うこずができたす。 ぀たり、 耇数のAWSアカりントの耇数のナヌザの耇数のロヌルを䞀぀のIAM Identity Centerで党お管理するこずができるのです 。 では、各AWSアカりントで既に䜜成しおしたったIAMポリシヌを、IAM Identity Centerで同じ内容で䜜り盎さないずいけないかずいうずそんなこずもなく、カスタムロヌルずいう蚭定で、IAMポリシヌ名だけ定矩するこずで既存のIAMポリシヌをそのたた掻かすこずができたす。 そしお、SSOナヌザは恒久的なアクセスキヌを持぀こずができず、最倧で12時間の期限付きアクセスキヌしか持぀こずができたせん。埓っお、 仮に䞇が䞀アクセスキヌが挏掩しおも12時間埌には䜿えなくなりたす 。 たさに最匷で無敵のIAM Identity Centerです。 IAM Identity Centerの導入 ここではIAM Identity Centerの導入の流れを簡単に説明いたしたす。 䞀番最初はIAM Identity Centerを有効にするこずですが、それは割愛しお有効化した埌の手順を蚘茉しおいきたす。 IAM Identity Center党䜓図 SSOナヌザの䜜成 SSOナヌザは前述した通りIAMナヌザずは党く別物なので、新たに党員分䜜成する必芁がありたす。 最䜎限必芁なのは名前ずメヌルアドレスのみです。 䜜成画面に任意項目で䜏所や電話番号などあったりするのですが、システム的には党く関係ないようです。IAM Identity CenterをIdPずしお䜿うずきのための蚭定でしょうか。 SSOナヌザ䜜成画面 SSOグルヌプの䜜成 SSOグルヌプずは、SSOナヌザず埌述する蚱可セットをたずめるためのものです。 新しいSSOナヌザが増えた堎合は、該圓のグルヌプに远加しおあげるだけでOKです。 SSOグルヌプ䜜成画面 蚱可セットの䜜成 蚱可セットは、IAMロヌルの玠になるものです。 ここで蚭定したポリシヌが各AWSアカりントにIAMロヌル、IAMポリシヌずしおプロビゞョニングされたす。 プロビゞョニング先のAWSアカりントに既にあるIAMポリシヌを䜿いたい堎合は、カスタマヌマネヌゞドポリシヌでその名前を蚭定すれば割り圓おるこずができたす。 名前が間違っおいお存圚しないIAMポリシヌを蚭定しおしたった堎合は、プロビゞョニング時に゚ラヌになりたす。 蚱可セット䜜成画面 プロビゞョニング “SSOナヌザたたはグルヌプ” ず “蚱可セット” を適甚したいAWSアカりントにプロビゞョニングするこずで、察象SSOナヌザで該圓AWSアカりントにログむン可胜になりたす。 プロビゞョニング抂芁図 SSOアクセスポヌタル画面 SSOナヌザでログむンするAWSアクセスポヌタル画面に、AWSアカりントぞのリンクの䞀芧が衚瀺されたす。 このリンクから各AWSアカりントに、任意のロヌルでログむンするこずができたす。䟿利ですね AWSアクセスポヌタル画面 䞀時的なアクセスキヌはCLIでも取埗できたすが、この画面からも アクセスキヌ のリンクをクリックするず䞀芧画面が衚瀺されたす。 AWSアクセスポヌタル アクセスキヌ確認画面 導入埌に察応したこず これたでの手順でマネゞメントコン゜ヌルのでログむンはできるようになっおいたすが、それ以倖のツヌル等で利甚するためにしたこずをここでは説明したす。 ~/.aws/configの修正 タヌミナルでAWS CLIを利甚するために、これたでアクセスキヌを盎接指定しおいたのを、SSOナヌザ察応の蚘述に倉曎する必芁がありたす。 アクセスキヌなどのクレデンシャルな情報の蚘茉が䞍芁になり、この内容が挏掩しおもダメヌゞが少ないです。 [default] sso_session = m y-sso sso_account_id = 999999999999 sso_role_name = x xxxxxxxxxxx [sso-session my-sso] sso_start_url = h ttps://xxxxxxxxxxxx.awsapps.com/start sso_registration_scopes = s so:account:access sso_sessionの蚭定が叀いaws_sdkだず察応しおいなかったりしたので、最新のaws_sdkを䜿うように mise (開発ツヌル管理甚ツヌル)に蚭定したした。 [tools] awscli = "latest" この蚭定をした状態で aws sso login を実行するず認蚌画面のブラりザが自動で立ち䞊がり、ブラりザでの認蚌完了埌にタヌミナルでCLIが䜿えるようになりたす。 タヌミナルでsso login ブラりザで認蚌 開発環境ぞのアクセスキヌの枡し方 開発環境においおアクセスキヌの蚭定が必芁な箇所があり、それを毎日ポヌタル画面からコピペで曎新しおくださいずいうのは面倒すぎるので、毎日1回最初にシェルを実行しおもらうようにしたしたこれも面倒なのでこれなしでどうにかできれば良かったのですが・・・無念。 この実行にはSSOの認蚌情報をシェル内の凊理で利甚するため aws2-wrap を利甚し、.envファむルの曎新には python-dotenv を利甚したした。 これもmiseで定矩するこずで、党開発メンバヌにもれなく察応できたした。 # 䞀郚抜粋 if ! $(aws2-wrap --profile " $profile " --export ); then aws sso login --profile= " $profile " eval "$( aws2-wrap --profile " $profile " --export )" fi # 䞀郚抜粋 from dotenv import set_key def update_env_file ( env_file , key_value_pairs ): try : for key in key_value_pairs: value = key_value_pairs[key] set_key(env_file, key, value, quote_mode = 'never' ) except Exception as e: print (e) Terraform, Packerの察応 最新のTerraform、Packerではaws ssoに察応しおいるので、ssoのprofileをそのたた䜿うこずができたすAssumeRoleには察応しおいなかったので、それを察応させた時は倧倉でした・・・。 Terraformは環境䟝存をなくすため実行環境をコンテナ化しコンテナ内で実行しおいるのですが、“ログむン時にSSOセッションの存圚有無の確認” → “なければSSOログむン” をさせるこずで、 aws sso login の事前実行を意識しなくおも良いようにしたした。 # 䞀郚抜粋 function get_caller_identity () { set +eu for i in { 1..3} ; do command "aws sts get-caller-identity --profile $1 " if [[ $? = 0 ]]; then break else echo "Not logged in" command "aws sso login --profile $1 " fi done set -eu } 最新のPackerはaws ssoに察応しおいるず前述したしたが、なぜだか環境により sso-session が効かずに゚ラヌになる堎合がありたした。その堎合はレガシヌな蚘述方法で回避できたす。 [profile packer] credential_process = a ws --profile default configure export-credentials --format process region = a p-northeast-1 output = j son 察応しお良かったこず 管理者目線で良かったこず 管理者目線では、AWSのナヌザ管理が倧分楜になりたした。 これたで開発メンバヌが増えた際には、耇数のAWSアカりントに察しそれぞれに、IAMナヌザの䜜成、アクセスキヌの生成をし、その埌初期ログむンパスワヌドずアクセスキヌをメンバヌに配垃しなければならなかったため、䜜業が倧分煩雑でした。 IAM Identity Center導入埌は、 1぀のAWSアカりントでSSOナヌザを䜜成するだけです 。招埅メヌルも勝手に送られたす。 たた、䞎えおいる暩限の管理も楜になりたした。 IAM Identity Centerの画面を芋れば、誰がどのAWSアカりントにどんな暩限を持っおいるか党おわかりたすし、蚭定するのもそこだけなので 、いろんなAWSアカりントを出入りしお確認・蚭定する必芁がなくなりたした。 利甚者目線で良かったこず 利甚者目線では、各AWSアカりントぞのログむンがポヌタル画面のリンクから行くこずができるので、 AWSアカりントごずにログむンの䜜業が必芁なくなったのも楜ですし、各AWSアカりント毎にログむン情報、MFA情報を保持しなくおも良くなったのも管理が気楜になりたした 。 察応しお困ったこず 12時間の壁 SSOナヌザのセッション時間の䞊限が12時間のため、朝9時にログむンするず倜9時にセッションが切れおしたいたす。そのこずを忘れお12時間埌に急に開発環境で゚ラヌが出始めお「なんじゃこりゃあああ」ずたたに驚かされたす12時間以䞊働くこずがほずんどないのでめったに遭遇したせんが、だからこそ忘れたす。 深倜メンテの際にそれが起きるずトラブルになりたすので、その際は䜜業前に必ずログむンし盎すようにしおいたす。 個人的にはセッション時間の䞊限の時間もう少し䞊げお欲しいです。 利甚できないサヌドパヌティヌツヌルの存圚 AWSにアクセスするためのサヌドパヌティヌツヌルは様々ありたすが、 AWS_ACCESS_KEY_ID 、 AWS_SECRET_ACCESS_KEY の2項目しか蚭定できないものがありたす。 SSOナヌザでログむンするには、それらに加え AWS_SESSION_TOKEN の倀が必芁であるため、蚭定できないツヌルはSSOナヌザでは利甚できないこずになりたす。 最近ではSSOナヌザでも利甚できるようにアップグレヌドされおいるツヌルも増えおきおいたすので、今たで䜿っおいたツヌルが䜿えなくなった堎合は代替のツヌルを䜿いたしょう。 たずめ これは絶察嘘ではなくお、IAM Identity Centerを導入するこずで、トむルの削枛も、情報挏掩リスクの削枛も、䞡方実珟するこずができたした。 もちろん私たちの挑戊はこれで終わりではなく、サヌビスの品質を䞊げるため、開発メンバヌが開発に集䞭できる環境を䜜るため、 俺たちの戊いはただ始たったばかり 、です。 そしお、明日12月4日は @shigerisa さんが䜕やらもっず面癜い蚘事を曞いおくれおいるようですお楜しみに We’re hiring! メドレヌでは各皮゚ンゞニアを絶賛募集䞭です カゞュアル面談い぀でもWelcomeですので、お話しだけでも聞いおみたい、むしろ私の掚しの話を聞いお欲しい、などなんでもかたいたせんので、お気軜にお問い合わせください 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
こちらの蚘事は Medleyメドレヌ Advent Calendar 2024 の3日目の蚘事です。 Who are you? メドレヌで䞻にSRE掻動を行っおいる人材プラットフォヌム本郚 第四開発グルヌプの玉井です。 最初に簡単にFAQ圢匏で自己玹介させおいただこうず思いたす。 昚日は䜕を食べたしたか  麺系ファストフヌドでは䞀番奜きな小諞そば。 奜きな本は䜕ですか  柳井正さんの自䌝曞『䞀勝九敗』は心に残っおいたす。 遊びに行くならどこに行きたすか  アりトドアが奜きなのでキャンプなど。 今回は利甚しおいるAWS環境に IAM Identity Center を導入した話をさせおいただこうず思いたす。 セキュリティず管理コストの倩秀 メドレヌではクレデンシャルな情報は厳重に管理され、平文で倖郚ツヌルに保存されるこずはありたせん。AWSのIAMナヌザのアクセスキヌに関しおも同じです。 ただ、それでも心配になるのは PCの䞭に平文で残る情報 。PCも厳重に管理されおいるのでそうそう挏掩するものではありたせんが、それでも可胜性はれロではありたせん。 䞀時はAssumeRoleを䜿うこずで挏掩時のリスクを枛らしたした。 最初の認蚌では䜕もできない匱い暩限で、AssumeRoleで暩限の匷いロヌルに倉身する方匏を導入したした。 この話を聞いお、腕に包垯を巻いた孊生服の少幎が倩狗のお面を被るいらすずが浮かんだあなたはAWSデベロッパヌお銎染みのあのブログの敬虔な読者です。 AssumeRole抂芁図 それでもただ課題はありたした。 IAMナヌザずAssumeRoleの管理コスト です。 AWSアカりントはサヌビスごずに耇数存圚し、さらに本番環境、ステヌゞング環境でも分けおありたす。それぞれのAWSアカりントにアクセスできる環境を開発メンバヌに提䟛する必芁がありたす。 AssumeRoleは倉身する元ず倉身した先の蚭定をする必芁があり、AWSアカりントを跚ぐ堎合はそれぞれのAWSアカりントに蚭定が必芁になりたす。開発メンバヌの異動がある床にあちらこちらのAWSアカりントにその蚭定をするこずが、面倒なトむルになっおいたした。 セキュアな環境を維持したたた、管理コストもなるべく䞋げたい。 そこで導入を決めたのが IAM Identity Center でした。 IAM Identity Centerの導入怜蚎 結論を先に申し䞊げたすず、IAM Identity Centerを導入するこずで セキュアな環境を維持しながらトむルの削枛も実珟するこずができたした 。 完璧で究極ずいうほどではありたせんが、誰もが目を奪われおいく理想の環境に䞀歩近づくこずがたした。 IAM Identity Centerをさらに管理するAWS Control Towerの導入も怜蚎したしたが、既にある環境に導入するこずの予期せぬ制限がかかるこずのリスクや、AWS Configが倚甚されるこずで思わぬコスト増が発生するずの情報もあり、今回は芋送るこずにしたした。 IAM Identity Centerずは 元は AWS Single Sign-On AWS SSO ずいうサヌビス名でした。 これはIAMナヌザずは党く別物のナヌザこれをSSOナヌザずしたすを䜜成し、SSOナヌザが各AWSアカりントの各IAMロヌルを持ったナヌザに倉身するこずができる機胜です。 IAM Identity Center抂芁図 IAM Identity Centerを導入した決め手 SSOナヌザず暩限の管理は䞀぀のAWSアカりントのIAM Identity Centerで管理するこずができたす。 これはAWS Organizationsの機胜の䞊に乗る機胜ですが、幞い元々それを導入しおいたこずで、すぐに組み蟌むこずができたしたちなみに珟圚はIdPを蚭定するこずでAWS Organizationsがなくおもこの機胜を䜿うこずができたす。 ぀たり、 耇数のAWSアカりントの耇数のナヌザの耇数のロヌルを䞀぀のIAM Identity Centerで党お管理するこずができるのです 。 では、各AWSアカりントで既に䜜成しおしたったIAMポリシヌを、IAM Identity Centerで同じ内容で䜜り盎さないずいけないかずいうずそんなこずもなく、カスタムロヌルずいう蚭定で、IAMポリシヌ名だけ定矩するこずで既存のIAMポリシヌをそのたた掻かすこずができたす。 そしお、SSOナヌザは恒久的なアクセスキヌを持぀こずができず、最倧で12時間の期限付きアクセスキヌしか持぀こずができたせん。埓っお、 仮に䞇が䞀アクセスキヌが挏掩しおも12時間埌には䜿えなくなりたす 。 たさに最匷で無敵のIAM Identity Centerです。 IAM Identity Centerの導入 ここではIAM Identity Centerの導入の流れを簡単に説明いたしたす。 䞀番最初はIAM Identity Centerを有効にするこずですが、それは割愛しお有効化した埌の手順を蚘茉しおいきたす。 IAM Identity Center党䜓図 SSOナヌザの䜜成 SSOナヌザは前述した通りIAMナヌザずは党く別物なので、新たに党員分䜜成する必芁がありたす。 最䜎限必芁なのは名前ずメヌルアドレスのみです。 䜜成画面に任意項目で䜏所や電話番号などあったりするのですが、システム的には党く関係ないようです。IAM Identity CenterをIdPずしお䜿うずきのための蚭定でしょうか。 SSOナヌザ䜜成画面 SSOグルヌプの䜜成 SSOグルヌプずは、SSOナヌザず埌述する蚱可セットをたずめるためのものです。 新しいSSOナヌザが増えた堎合は、該圓のグルヌプに远加しおあげるだけでOKです。 SSOグルヌプ䜜成画面 蚱可セットの䜜成 蚱可セットは、IAMロヌルの玠になるものです。 ここで蚭定したポリシヌが各AWSアカりントにIAMロヌル、IAMポリシヌずしおプロビゞョニングされたす。 プロビゞョニング先のAWSアカりントに既にあるIAMポリシヌを䜿いたい堎合は、カスタマヌマネヌゞドポリシヌでその名前を蚭定すれば割り圓おるこずができたす。 名前が間違っおいお存圚しないIAMポリシヌを蚭定しおしたった堎合は、プロビゞョニング時に゚ラヌになりたす。 蚱可セット䜜成画面 プロビゞョニング “SSOナヌザたたはグルヌプ” ず “蚱可セット” を適甚したいAWSアカりントにプロビゞョニングするこずで、察象SSOナヌザで該圓AWSアカりントにログむン可胜になりたす。 プロビゞョニング抂芁図 SSOアクセスポヌタル画面 SSOナヌザでログむンするAWSアクセスポヌタル画面に、AWSアカりントぞのリンクの䞀芧が衚瀺されたす。 このリンクから各AWSアカりントに、任意のロヌルでログむンするこずができたす。䟿利ですね AWSアクセスポヌタル画面 䞀時的なアクセスキヌはCLIでも取埗できたすが、この画面からも アクセスキヌ のリンクをクリックするず䞀芧画面が衚瀺されたす。 AWSアクセスポヌタル アクセスキヌ確認画面 導入埌に察応したこず これたでの手順でマネゞメントコン゜ヌルのでログむンはできるようになっおいたすが、それ以倖のツヌル等で利甚するためにしたこずをここでは説明したす。 ~/.aws/configの修正 タヌミナルでAWS CLIを利甚するために、これたでアクセスキヌを盎接指定しおいたのを、SSOナヌザ察応の蚘述に倉曎する必芁がありたす。 アクセスキヌなどのクレデンシャルな情報の蚘茉が䞍芁になり、この内容が挏掩しおもダメヌゞが少ないです。 [default] sso_session = m y-sso sso_account_id = 999999999999 sso_role_name = x xxxxxxxxxxx [sso-session my-sso] sso_start_url = h ttps://xxxxxxxxxxxx.awsapps.com/start sso_registration_scopes = s so:account:access sso_sessionの蚭定が叀いaws_sdkだず察応しおいなかったりしたので、最新のaws_sdkを䜿うように mise (開発ツヌル管理甚ツヌル)に蚭定したした。 [tools] awscli = "latest" この蚭定をした状態で aws sso login を実行するず認蚌画面のブラりザが自動で立ち䞊がり、ブラりザでの認蚌完了埌にタヌミナルでCLIが䜿えるようになりたす。 タヌミナルでsso login ブラりザで認蚌 開発環境ぞのアクセスキヌの枡し方 開発環境においおアクセスキヌの蚭定が必芁な箇所があり、それを毎日ポヌタル画面からコピペで曎新しおくださいずいうのは面倒すぎるので、毎日1回最初にシェルを実行しおもらうようにしたしたこれも面倒なのでこれなしでどうにかできれば良かったのですが・・・無念。 この実行にはSSOの認蚌情報をシェル内の凊理で利甚するため aws2-wrap を利甚し、.envファむルの曎新には python-dotenv を利甚したした。 これもmiseで定矩するこずで、党開発メンバヌにもれなく察応できたした。 # 䞀郚抜粋 if ! $(aws2-wrap --profile " $profile " --export ); then aws sso login --profile= " $profile " eval "$( aws2-wrap --profile " $profile " --export )" fi # 䞀郚抜粋 from dotenv import set_key def update_env_file ( env_file , key_value_pairs ): try : for key in key_value_pairs: value = key_value_pairs[key] set_key(env_file, key, value, quote_mode = 'never' ) except Exception as e: print (e) Terraform, Packerの察応 最新のTerraform、Packerではaws ssoに察応しおいるので、ssoのprofileをそのたた䜿うこずができたすAssumeRoleには察応しおいなかったので、それを察応させた時は倧倉でした・・・。 Terraformは環境䟝存をなくすため実行環境をコンテナ化しコンテナ内で実行しおいるのですが、“ログむン時にSSOセッションの存圚有無の確認” → “なければSSOログむン” をさせるこずで、 aws sso login の事前実行を意識しなくおも良いようにしたした。 # 䞀郚抜粋 function get_caller_identity () { set +eu for i in { 1..3} ; do command "aws sts get-caller-identity --profile $1 " if [[ $? = 0 ]]; then break else echo "Not logged in" command "aws sso login --profile $1 " fi done set -eu } 最新のPackerはaws ssoに察応しおいるず前述したしたが、なぜだか環境により sso-session が効かずに゚ラヌになる堎合がありたした。その堎合はレガシヌな蚘述方法で回避できたす。 [profile packer] credential_process = a ws --profile default configure export-credentials --format process region = a p-northeast-1 output = j son 察応しお良かったこず 管理者目線で良かったこず 管理者目線では、AWSのナヌザ管理が倧分楜になりたした。 これたで開発メンバヌが増えた際には、耇数のAWSアカりントに察しそれぞれに、IAMナヌザの䜜成、アクセスキヌの生成をし、その埌初期ログむンパスワヌドずアクセスキヌをメンバヌに配垃しなければならなかったため、䜜業が倧分煩雑でした。 IAM Identity Center導入埌は、 1぀のAWSアカりントでSSOナヌザを䜜成するだけです 。招埅メヌルも勝手に送られたす。 たた、䞎えおいる暩限の管理も楜になりたした。 IAM Identity Centerの画面を芋れば、誰がどのAWSアカりントにどんな暩限を持っおいるか党おわかりたすし、蚭定するのもそこだけなので 、いろんなAWSアカりントを出入りしお確認・蚭定する必芁がなくなりたした。 利甚者目線で良かったこず 利甚者目線では、各AWSアカりントぞのログむンがポヌタル画面のリンクから行くこずができるので、 AWSアカりントごずにログむンの䜜業が必芁なくなったのも楜ですし、各AWSアカりント毎にログむン情報、MFA情報を保持しなくおも良くなったのも管理が気楜になりたした 。 察応しお困ったこず 12時間の壁 SSOナヌザのセッション時間の䞊限が12時間のため、朝9時にログむンするず倜9時にセッションが切れおしたいたす。そのこずを忘れお12時間埌に急に開発環境で゚ラヌが出始めお「なんじゃこりゃあああ」ずたたに驚かされたす12時間以䞊働くこずがほずんどないのでめったに遭遇したせんが、だからこそ忘れたす。 深倜メンテの際にそれが起きるずトラブルになりたすので、その際は䜜業前に必ずログむンし盎すようにしおいたす。 個人的にはセッション時間の䞊限の時間もう少し䞊げお欲しいです。 利甚できないサヌドパヌティヌツヌルの存圚 AWSにアクセスするためのサヌドパヌティヌツヌルは様々ありたすが、 AWS_ACCESS_KEY_ID 、 AWS_SECRET_ACCESS_KEY の2項目しか蚭定できないものがありたす。 SSOナヌザでログむンするには、それらに加え AWS_SESSION_TOKEN の倀が必芁であるため、蚭定できないツヌルはSSOナヌザでは利甚できないこずになりたす。 最近ではSSOナヌザでも利甚できるようにアップグレヌドされおいるツヌルも増えおきおいたすので、今たで䜿っおいたツヌルが䜿えなくなった堎合は代替のツヌルを䜿いたしょう。 たずめ これは絶察嘘ではなくお、IAM Identity Centerを導入するこずで、トむルの削枛も、情報挏掩リスクの削枛も、䞡方実珟するこずができたした。 もちろん私たちの挑戊はこれで終わりではなく、サヌビスの品質を䞊げるため、開発メンバヌが開発に集䞭できる環境を䜜るため、 俺たちの戊いはただ始たったばかり 、です。 そしお、明日12月4日は @shigerisa さんが䜕やらもっず面癜い蚘事を曞いおくれおいるようですお楜しみに We’re hiring! メドレヌでは各皮゚ンゞニアを絶賛募集䞭です カゞュアル面談い぀でもWelcomeですので、お話しだけでも聞いおみたい、むしろ私の掚しの話を聞いお欲しい、などなんでもかたいたせんので、お気軜にお問い合わせください 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
こちらの蚘事は Medleyメドレヌ Advent Calendar 2024 の3日目の蚘事です。 Who are you? メドレヌで䞻にSRE掻動を行っおいる人材プラットフォヌム本郚 第四開発グルヌプの玉井です。 最初に簡単にFAQ圢匏で自己玹介させおいただこうず思いたす。 昚日は䜕を食べたしたか  麺系ファストフヌドでは䞀番奜きな小諞そば。 奜きな本は䜕ですか  柳井正さんの自䌝曞『䞀勝九敗』は心に残っおいたす。 遊びに行くならどこに行きたすか  アりトドアが奜きなのでキャンプなど。 今回は利甚しおいるAWS環境に IAM Identity Center を導入した話をさせおいただこうず思いたす。 セキュリティず管理コストの倩秀 メドレヌではクレデンシャルな情報は厳重に管理され、平文で倖郚ツヌルに保存されるこずはありたせん。AWSのIAMナヌザのアクセスキヌに関しおも同じです。 ただ、それでも心配になるのは PCの䞭に平文で残る情報 。PCも厳重に管理されおいるのでそうそう挏掩するものではありたせんが、それでも可胜性はれロではありたせん。 䞀時はAssumeRoleを䜿うこずで挏掩時のリスクを枛らしたした。 最初の認蚌では䜕もできない匱い暩限で、AssumeRoleで暩限の匷いロヌルに倉身する方匏を導入したした。 この話を聞いお、腕に包垯を巻いた孊生服の少幎が倩狗のお面を被るいらすずが浮かんだあなたはAWSデベロッパヌお銎染みのあのブログの敬虔な読者です。 AssumeRole抂芁図 それでもただ課題はありたした。 IAMナヌザずAssumeRoleの管理コスト です。 AWSアカりントはサヌビスごずに耇数存圚し、さらに本番環境、ステヌゞング環境でも分けおありたす。それぞれのAWSアカりントにアクセスできる環境を開発メンバヌに提䟛する必芁がありたす。 AssumeRoleは倉身する元ず倉身した先の蚭定をする必芁があり、AWSアカりントを跚ぐ堎合はそれぞれのAWSアカりントに蚭定が必芁になりたす。開発メンバヌの異動がある床にあちらこちらのAWSアカりントにその蚭定をするこずが、面倒なトむルになっおいたした。 セキュアな環境を維持したたた、管理コストもなるべく䞋げたい。 そこで導入を決めたのが IAM Identity Center でした。 IAM Identity Centerの導入怜蚎 結論を先に申し䞊げたすず、IAM Identity Centerを導入するこずで セキュアな環境を維持しながらトむルの削枛も実珟するこずができたした 。 完璧で究極ずいうほどではありたせんが、誰もが目を奪われおいく理想の環境に䞀歩近づくこずがたした。 IAM Identity Centerをさらに管理するAWS Control Towerの導入も怜蚎したしたが、既にある環境に導入するこずの予期せぬ制限がかかるこずのリスクや、AWS Configが倚甚されるこずで思わぬコスト増が発生するずの情報もあり、今回は芋送るこずにしたした。 IAM Identity Centerずは 元は AWS Single Sign-On AWS SSO ずいうサヌビス名でした。 これはIAMナヌザずは党く別物のナヌザこれをSSOナヌザずしたすを䜜成し、SSOナヌザが各AWSアカりントの各IAMロヌルを持ったナヌザに倉身するこずができる機胜です。 IAM Identity Center抂芁図 IAM Identity Centerを導入した決め手 SSOナヌザず暩限の管理は䞀぀のAWSアカりントのIAM Identity Centerで管理するこずができたす。 これはAWS Organizationsの機胜の䞊に乗る機胜ですが、幞い元々それを導入しおいたこずで、すぐに組み蟌むこずができたしたちなみに珟圚はIdPを蚭定するこずでAWS Organizationsがなくおもこの機胜を䜿うこずができたす。 ぀たり、 耇数のAWSアカりントの耇数のナヌザの耇数のロヌルを䞀぀のIAM Identity Centerで党お管理するこずができるのです 。 では、各AWSアカりントで既に䜜成しおしたったIAMポリシヌを、IAM Identity Centerで同じ内容で䜜り盎さないずいけないかずいうずそんなこずもなく、カスタムロヌルずいう蚭定で、IAMポリシヌ名だけ定矩するこずで既存のIAMポリシヌをそのたた掻かすこずができたす。 そしお、SSOナヌザは恒久的なアクセスキヌを持぀こずができず、最倧で12時間の期限付きアクセスキヌしか持぀こずができたせん。埓っお、 仮に䞇が䞀アクセスキヌが挏掩しおも12時間埌には䜿えなくなりたす 。 たさに最匷で無敵のIAM Identity Centerです。 IAM Identity Centerの導入 ここではIAM Identity Centerの導入の流れを簡単に説明いたしたす。 䞀番最初はIAM Identity Centerを有効にするこずですが、それは割愛しお有効化した埌の手順を蚘茉しおいきたす。 IAM Identity Center党䜓図 SSOナヌザの䜜成 SSOナヌザは前述した通りIAMナヌザずは党く別物なので、新たに党員分䜜成する必芁がありたす。 最䜎限必芁なのは名前ずメヌルアドレスのみです。 䜜成画面に任意項目で䜏所や電話番号などあったりするのですが、システム的には党く関係ないようです。IAM Identity CenterをIdPずしお䜿うずきのための蚭定でしょうか。 SSOナヌザ䜜成画面 SSOグルヌプの䜜成 SSOグルヌプずは、SSOナヌザず埌述する蚱可セットをたずめるためのものです。 新しいSSOナヌザが増えた堎合は、該圓のグルヌプに远加しおあげるだけでOKです。 SSOグルヌプ䜜成画面 蚱可セットの䜜成 蚱可セットは、IAMロヌルの玠になるものです。 ここで蚭定したポリシヌが各AWSアカりントにIAMロヌル、IAMポリシヌずしおプロビゞョニングされたす。 プロビゞョニング先のAWSアカりントに既にあるIAMポリシヌを䜿いたい堎合は、カスタマヌマネヌゞドポリシヌでその名前を蚭定すれば割り圓おるこずができたす。 名前が間違っおいお存圚しないIAMポリシヌを蚭定しおしたった堎合は、プロビゞョニング時に゚ラヌになりたす。 蚱可セット䜜成画面 プロビゞョニング “SSOナヌザたたはグルヌプ” ず “蚱可セット” を適甚したいAWSアカりントにプロビゞョニングするこずで、察象SSOナヌザで該圓AWSアカりントにログむン可胜になりたす。 プロビゞョニング抂芁図 SSOアクセスポヌタル画面 SSOナヌザでログむンするAWSアクセスポヌタル画面に、AWSアカりントぞのリンクの䞀芧が衚瀺されたす。 このリンクから各AWSアカりントに、任意のロヌルでログむンするこずができたす。䟿利ですね AWSアクセスポヌタル画面 䞀時的なアクセスキヌはCLIでも取埗できたすが、この画面からも アクセスキヌ のリンクをクリックするず䞀芧画面が衚瀺されたす。 AWSアクセスポヌタル アクセスキヌ確認画面 導入埌に察応したこず これたでの手順でマネゞメントコン゜ヌルのでログむンはできるようになっおいたすが、それ以倖のツヌル等で利甚するためにしたこずをここでは説明したす。 ~/.aws/configの修正 タヌミナルでAWS CLIを利甚するために、これたでアクセスキヌを盎接指定しおいたのを、SSOナヌザ察応の蚘述に倉曎する必芁がありたす。 アクセスキヌなどのクレデンシャルな情報の蚘茉が䞍芁になり、この内容が挏掩しおもダメヌゞが少ないです。 [default] sso_session = m y-sso sso_account_id = 999999999999 sso_role_name = x xxxxxxxxxxx [sso-session my-sso] sso_start_url = h ttps://xxxxxxxxxxxx.awsapps.com/start sso_registration_scopes = s so:account:access sso_sessionの蚭定が叀いaws_sdkだず察応しおいなかったりしたので、最新のaws_sdkを䜿うように mise (開発ツヌル管理甚ツヌル)に蚭定したした。 [tools] awscli = "latest" この蚭定をした状態で aws sso login を実行するず認蚌画面のブラりザが自動で立ち䞊がり、ブラりザでの認蚌完了埌にタヌミナルでCLIが䜿えるようになりたす。 タヌミナルでsso login ブラりザで認蚌 開発環境ぞのアクセスキヌの枡し方 開発環境においおアクセスキヌの蚭定が必芁な箇所があり、それを毎日ポヌタル画面からコピペで曎新しおくださいずいうのは面倒すぎるので、毎日1回最初にシェルを実行しおもらうようにしたしたこれも面倒なのでこれなしでどうにかできれば良かったのですが・・・無念。 この実行にはSSOの認蚌情報をシェル内の凊理で利甚するため aws2-wrap を利甚し、.envファむルの曎新には python-dotenv を利甚したした。 これもmiseで定矩するこずで、党開発メンバヌにもれなく察応できたした。 # 䞀郚抜粋 if ! $(aws2-wrap --profile " $profile " --export ); then aws sso login --profile= " $profile " eval "$( aws2-wrap --profile " $profile " --export )" fi # 䞀郚抜粋 from dotenv import set_key def update_env_file ( env_file , key_value_pairs ): try : for key in key_value_pairs: value = key_value_pairs[key] set_key(env_file, key, value, quote_mode = 'never' ) except Exception as e: print (e) Terraform, Packerの察応 最新のTerraform、Packerではaws ssoに察応しおいるので、ssoのprofileをそのたた䜿うこずができたすAssumeRoleには察応しおいなかったので、それを察応させた時は倧倉でした・・・。 Terraformは環境䟝存をなくすため実行環境をコンテナ化しコンテナ内で実行しおいるのですが、“ログむン時にSSOセッションの存圚有無の確認” → “なければSSOログむン” をさせるこずで、 aws sso login の事前実行を意識しなくおも良いようにしたした。 # 䞀郚抜粋 function get_caller_identity () { set +eu for i in { 1..3} ; do command "aws sts get-caller-identity --profile $1 " if [[ $? = 0 ]]; then break else echo "Not logged in" command "aws sso login --profile $1 " fi done set -eu } 最新のPackerはaws ssoに察応しおいるず前述したしたが、なぜだか環境により sso-session が効かずに゚ラヌになる堎合がありたした。その堎合はレガシヌな蚘述方法で回避できたす。 [profile packer] credential_process = a ws --profile default configure export-credentials --format process region = a p-northeast-1 output = j son 察応しお良かったこず 管理者目線で良かったこず 管理者目線では、AWSのナヌザ管理が倧分楜になりたした。 これたで開発メンバヌが増えた際には、耇数のAWSアカりントに察しそれぞれに、IAMナヌザの䜜成、アクセスキヌの生成をし、その埌初期ログむンパスワヌドずアクセスキヌをメンバヌに配垃しなければならなかったため、䜜業が倧分煩雑でした。 IAM Identity Center導入埌は、 1぀のAWSアカりントでSSOナヌザを䜜成するだけです 。招埅メヌルも勝手に送られたす。 たた、䞎えおいる暩限の管理も楜になりたした。 IAM Identity Centerの画面を芋れば、誰がどのAWSアカりントにどんな暩限を持っおいるか党おわかりたすし、蚭定するのもそこだけなので 、いろんなAWSアカりントを出入りしお確認・蚭定する必芁がなくなりたした。 利甚者目線で良かったこず 利甚者目線では、各AWSアカりントぞのログむンがポヌタル画面のリンクから行くこずができるので、 AWSアカりントごずにログむンの䜜業が必芁なくなったのも楜ですし、各AWSアカりント毎にログむン情報、MFA情報を保持しなくおも良くなったのも管理が気楜になりたした 。 察応しお困ったこず 12時間の壁 SSOナヌザのセッション時間の䞊限が12時間のため、朝9時にログむンするず倜9時にセッションが切れおしたいたす。そのこずを忘れお12時間埌に急に開発環境で゚ラヌが出始めお「なんじゃこりゃあああ」ずたたに驚かされたす12時間以䞊働くこずがほずんどないのでめったに遭遇したせんが、だからこそ忘れたす。 深倜メンテの際にそれが起きるずトラブルになりたすので、その際は䜜業前に必ずログむンし盎すようにしおいたす。 個人的にはセッション時間の䞊限の時間もう少し䞊げお欲しいです。 利甚できないサヌドパヌティヌツヌルの存圚 AWSにアクセスするためのサヌドパヌティヌツヌルは様々ありたすが、 AWS_ACCESS_KEY_ID 、 AWS_SECRET_ACCESS_KEY の2項目しか蚭定できないものがありたす。 SSOナヌザでログむンするには、それらに加え AWS_SESSION_TOKEN の倀が必芁であるため、蚭定できないツヌルはSSOナヌザでは利甚できないこずになりたす。 最近ではSSOナヌザでも利甚できるようにアップグレヌドされおいるツヌルも増えおきおいたすので、今たで䜿っおいたツヌルが䜿えなくなった堎合は代替のツヌルを䜿いたしょう。 たずめ これは絶察嘘ではなくお、IAM Identity Centerを導入するこずで、トむルの削枛も、情報挏掩リスクの削枛も、䞡方実珟するこずができたした。 もちろん私たちの挑戊はこれで終わりではなく、サヌビスの品質を䞊げるため、開発メンバヌが開発に集䞭できる環境を䜜るため、 俺たちの戊いはただ始たったばかり 、です。 そしお、明日12月4日は @shigerisa さんが䜕やらもっず面癜い蚘事を曞いおくれおいるようですお楜しみに We’re hiring! メドレヌでは各皮゚ンゞニアを絶賛募集䞭です カゞュアル面談い぀でもWelcomeですので、お話しだけでも聞いおみたい、むしろ私の掚しの話を聞いお欲しい、などなんでもかたいたせんので、お気軜にお問い合わせください 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
こちらの蚘事は Medleyメドレヌ Advent Calendar 2024 の3日目の蚘事です。 Who are you? メドレヌで䞻にSRE掻動を行っおいる人材プラットフォヌム本郚 第四開発グルヌプの玉井です。 最初に簡単にFAQ圢匏で自己玹介させおいただこうず思いたす。 昚日は䜕を食べたしたか  麺系ファストフヌドでは䞀番奜きな小諞そば。 奜きな本は䜕ですか  柳井正さんの自䌝曞『䞀勝九敗』は心に残っおいたす。 遊びに行くならどこに行きたすか  アりトドアが奜きなのでキャンプなど。 今回は利甚しおいるAWS環境に IAM Identity Center を導入した話をさせおいただこうず思いたす。 セキュリティず管理コストの倩秀 メドレヌではクレデンシャルな情報は厳重に管理され、平文で倖郚ツヌルに保存されるこずはありたせん。AWSのIAMナヌザのアクセスキヌに関しおも同じです。 ただ、それでも心配になるのは PCの䞭に平文で残る情報 。PCも厳重に管理されおいるのでそうそう挏掩するものではありたせんが、それでも可胜性はれロではありたせん。 䞀時はAssumeRoleを䜿うこずで挏掩時のリスクを枛らしたした。 最初の認蚌では䜕もできない匱い暩限で、AssumeRoleで暩限の匷いロヌルに倉身する方匏を導入したした。 この話を聞いお、腕に包垯を巻いた孊生服の少幎が倩狗のお面を被るいらすずが浮かんだあなたはAWSデベロッパヌお銎染みのあのブログの敬虔な読者です。 AssumeRole抂芁図 それでもただ課題はありたした。 IAMナヌザずAssumeRoleの管理コスト です。 AWSアカりントはサヌビスごずに耇数存圚し、さらに本番環境、ステヌゞング環境でも分けおありたす。それぞれのAWSアカりントにアクセスできる環境を開発メンバヌに提䟛する必芁がありたす。 AssumeRoleは倉身する元ず倉身した先の蚭定をする必芁があり、AWSアカりントを跚ぐ堎合はそれぞれのAWSアカりントに蚭定が必芁になりたす。開発メンバヌの異動がある床にあちらこちらのAWSアカりントにその蚭定をするこずが、面倒なトむルになっおいたした。 セキュアな環境を維持したたた、管理コストもなるべく䞋げたい。 そこで導入を決めたのが IAM Identity Center でした。 IAM Identity Centerの導入怜蚎 結論を先に申し䞊げたすず、IAM Identity Centerを導入するこずで セキュアな環境を維持しながらトむルの削枛も実珟するこずができたした 。 完璧で究極ずいうほどではありたせんが、誰もが目を奪われおいく理想の環境に䞀歩近づくこずがたした。 IAM Identity Centerをさらに管理するAWS Control Towerの導入も怜蚎したしたが、既にある環境に導入するこずの予期せぬ制限がかかるこずのリスクや、AWS Configが倚甚されるこずで思わぬコスト増が発生するずの情報もあり、今回は芋送るこずにしたした。 IAM Identity Centerずは 元は AWS Single Sign-On AWS SSO ずいうサヌビス名でした。 これはIAMナヌザずは党く別物のナヌザこれをSSOナヌザずしたすを䜜成し、SSOナヌザが各AWSアカりントの各IAMロヌルを持ったナヌザに倉身するこずができる機胜です。 IAM Identity Center抂芁図 IAM Identity Centerを導入した決め手 SSOナヌザず暩限の管理は䞀぀のAWSアカりントのIAM Identity Centerで管理するこずができたす。 これはAWS Organizationsの機胜の䞊に乗る機胜ですが、幞い元々それを導入しおいたこずで、すぐに組み蟌むこずができたしたちなみに珟圚はIdPを蚭定するこずでAWS Organizationsがなくおもこの機胜を䜿うこずができたす。 ぀たり、 耇数のAWSアカりントの耇数のナヌザの耇数のロヌルを䞀぀のIAM Identity Centerで党お管理するこずができるのです 。 では、各AWSアカりントで既に䜜成しおしたったIAMポリシヌを、IAM Identity Centerで同じ内容で䜜り盎さないずいけないかずいうずそんなこずもなく、カスタムロヌルずいう蚭定で、IAMポリシヌ名だけ定矩するこずで既存のIAMポリシヌをそのたた掻かすこずができたす。 そしお、SSOナヌザは恒久的なアクセスキヌを持぀こずができず、最倧で12時間の期限付きアクセスキヌしか持぀こずができたせん。埓っお、 仮に䞇が䞀アクセスキヌが挏掩しおも12時間埌には䜿えなくなりたす 。 たさに最匷で無敵のIAM Identity Centerです。 IAM Identity Centerの導入 ここではIAM Identity Centerの導入の流れを簡単に説明いたしたす。 䞀番最初はIAM Identity Centerを有効にするこずですが、それは割愛しお有効化した埌の手順を蚘茉しおいきたす。 IAM Identity Center党䜓図 SSOナヌザの䜜成 SSOナヌザは前述した通りIAMナヌザずは党く別物なので、新たに党員分䜜成する必芁がありたす。 最䜎限必芁なのは名前ずメヌルアドレスのみです。 䜜成画面に任意項目で䜏所や電話番号などあったりするのですが、システム的には党く関係ないようです。IAM Identity CenterをIdPずしお䜿うずきのための蚭定でしょうか。 SSOナヌザ䜜成画面 SSOグルヌプの䜜成 SSOグルヌプずは、SSOナヌザず埌述する蚱可セットをたずめるためのものです。 新しいSSOナヌザが増えた堎合は、該圓のグルヌプに远加しおあげるだけでOKです。 SSOグルヌプ䜜成画面 蚱可セットの䜜成 蚱可セットは、IAMロヌルの玠になるものです。 ここで蚭定したポリシヌが各AWSアカりントにIAMロヌル、IAMポリシヌずしおプロビゞョニングされたす。 プロビゞョニング先のAWSアカりントに既にあるIAMポリシヌを䜿いたい堎合は、カスタマヌマネヌゞドポリシヌでその名前を蚭定すれば割り圓おるこずができたす。 名前が間違っおいお存圚しないIAMポリシヌを蚭定しおしたった堎合は、プロビゞョニング時に゚ラヌになりたす。 蚱可セット䜜成画面 プロビゞョニング “SSOナヌザたたはグルヌプ” ず “蚱可セット” を適甚したいAWSアカりントにプロビゞョニングするこずで、察象SSOナヌザで該圓AWSアカりントにログむン可胜になりたす。 プロビゞョニング抂芁図 SSOアクセスポヌタル画面 SSOナヌザでログむンするAWSアクセスポヌタル画面に、AWSアカりントぞのリンクの䞀芧が衚瀺されたす。 このリンクから各AWSアカりントに、任意のロヌルでログむンするこずができたす。䟿利ですね AWSアクセスポヌタル画面 䞀時的なアクセスキヌはCLIでも取埗できたすが、この画面からも アクセスキヌ のリンクをクリックするず䞀芧画面が衚瀺されたす。 AWSアクセスポヌタル アクセスキヌ確認画面 導入埌に察応したこず これたでの手順でマネゞメントコン゜ヌルのでログむンはできるようになっおいたすが、それ以倖のツヌル等で利甚するためにしたこずをここでは説明したす。 ~/.aws/configの修正 タヌミナルでAWS CLIを利甚するために、これたでアクセスキヌを盎接指定しおいたのを、SSOナヌザ察応の蚘述に倉曎する必芁がありたす。 アクセスキヌなどのクレデンシャルな情報の蚘茉が䞍芁になり、この内容が挏掩しおもダメヌゞが少ないです。 [default] sso_session = m y-sso sso_account_id = 999999999999 sso_role_name = x xxxxxxxxxxx [sso-session my-sso] sso_start_url = h ttps://xxxxxxxxxxxx.awsapps.com/start sso_registration_scopes = s so:account:access sso_sessionの蚭定が叀いaws_sdkだず察応しおいなかったりしたので、最新のaws_sdkを䜿うように mise (開発ツヌル管理甚ツヌル)に蚭定したした。 [tools] awscli = "latest" この蚭定をした状態で aws sso login を実行するず認蚌画面のブラりザが自動で立ち䞊がり、ブラりザでの認蚌完了埌にタヌミナルでCLIが䜿えるようになりたす。 タヌミナルでsso login ブラりザで認蚌 開発環境ぞのアクセスキヌの枡し方 開発環境においおアクセスキヌの蚭定が必芁な箇所があり、それを毎日ポヌタル画面からコピペで曎新しおくださいずいうのは面倒すぎるので、毎日1回最初にシェルを実行しおもらうようにしたしたこれも面倒なのでこれなしでどうにかできれば良かったのですが・・・無念。 この実行にはSSOの認蚌情報をシェル内の凊理で利甚するため aws2-wrap を利甚し、.envファむルの曎新には python-dotenv を利甚したした。 これもmiseで定矩するこずで、党開発メンバヌにもれなく察応できたした。 # 䞀郚抜粋 if ! $(aws2-wrap --profile " $profile " --export ); then aws sso login --profile= " $profile " eval "$( aws2-wrap --profile " $profile " --export )" fi # 䞀郚抜粋 from dotenv import set_key def update_env_file ( env_file , key_value_pairs ): try : for key in key_value_pairs: value = key_value_pairs[key] set_key(env_file, key, value, quote_mode = 'never' ) except Exception as e: print (e) Terraform, Packerの察応 最新のTerraform、Packerではaws ssoに察応しおいるので、ssoのprofileをそのたた䜿うこずができたすAssumeRoleには察応しおいなかったので、それを察応させた時は倧倉でした・・・。 Terraformは環境䟝存をなくすため実行環境をコンテナ化しコンテナ内で実行しおいるのですが、“ログむン時にSSOセッションの存圚有無の確認” → “なければSSOログむン” をさせるこずで、 aws sso login の事前実行を意識しなくおも良いようにしたした。 # 䞀郚抜粋 function get_caller_identity () { set +eu for i in { 1..3} ; do command "aws sts get-caller-identity --profile $1 " if [[ $? = 0 ]]; then break else echo "Not logged in" command "aws sso login --profile $1 " fi done set -eu } 最新のPackerはaws ssoに察応しおいるず前述したしたが、なぜだか環境により sso-session が効かずに゚ラヌになる堎合がありたした。その堎合はレガシヌな蚘述方法で回避できたす。 [profile packer] credential_process = a ws --profile default configure export-credentials --format process region = a p-northeast-1 output = j son 察応しお良かったこず 管理者目線で良かったこず 管理者目線では、AWSのナヌザ管理が倧分楜になりたした。 これたで開発メンバヌが増えた際には、耇数のAWSアカりントに察しそれぞれに、IAMナヌザの䜜成、アクセスキヌの生成をし、その埌初期ログむンパスワヌドずアクセスキヌをメンバヌに配垃しなければならなかったため、䜜業が倧分煩雑でした。 IAM Identity Center導入埌は、 1぀のAWSアカりントでSSOナヌザを䜜成するだけです 。招埅メヌルも勝手に送られたす。 たた、䞎えおいる暩限の管理も楜になりたした。 IAM Identity Centerの画面を芋れば、誰がどのAWSアカりントにどんな暩限を持っおいるか党おわかりたすし、蚭定するのもそこだけなので 、いろんなAWSアカりントを出入りしお確認・蚭定する必芁がなくなりたした。 利甚者目線で良かったこず 利甚者目線では、各AWSアカりントぞのログむンがポヌタル画面のリンクから行くこずができるので、 AWSアカりントごずにログむンの䜜業が必芁なくなったのも楜ですし、各AWSアカりント毎にログむン情報、MFA情報を保持しなくおも良くなったのも管理が気楜になりたした 。 察応しお困ったこず 12時間の壁 SSOナヌザのセッション時間の䞊限が12時間のため、朝9時にログむンするず倜9時にセッションが切れおしたいたす。そのこずを忘れお12時間埌に急に開発環境で゚ラヌが出始めお「なんじゃこりゃあああ」ずたたに驚かされたす12時間以䞊働くこずがほずんどないのでめったに遭遇したせんが、だからこそ忘れたす。 深倜メンテの際にそれが起きるずトラブルになりたすので、その際は䜜業前に必ずログむンし盎すようにしおいたす。 個人的にはセッション時間の䞊限の時間もう少し䞊げお欲しいです。 利甚できないサヌドパヌティヌツヌルの存圚 AWSにアクセスするためのサヌドパヌティヌツヌルは様々ありたすが、 AWS_ACCESS_KEY_ID 、 AWS_SECRET_ACCESS_KEY の2項目しか蚭定できないものがありたす。 SSOナヌザでログむンするには、それらに加え AWS_SESSION_TOKEN の倀が必芁であるため、蚭定できないツヌルはSSOナヌザでは利甚できないこずになりたす。 最近ではSSOナヌザでも利甚できるようにアップグレヌドされおいるツヌルも増えおきおいたすので、今たで䜿っおいたツヌルが䜿えなくなった堎合は代替のツヌルを䜿いたしょう。 たずめ これは絶察嘘ではなくお、IAM Identity Centerを導入するこずで、トむルの削枛も、情報挏掩リスクの削枛も、䞡方実珟するこずができたした。 もちろん私たちの挑戊はこれで終わりではなく、サヌビスの品質を䞊げるため、開発メンバヌが開発に集䞭できる環境を䜜るため、 俺たちの戊いはただ始たったばかり 、です。 そしお、明日12月4日は @shigerisa さんが䜕やらもっず面癜い蚘事を曞いおくれおいるようですお楜しみに We’re hiring! メドレヌでは各皮゚ンゞニアを絶賛募集䞭です カゞュアル面談い぀でもWelcomeですので、お話しだけでも聞いおみたい、むしろ私の掚しの話を聞いお欲しい、などなんでもかたいたせんので、お気軜にお問い合わせください 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
こちらの蚘事は Medleyメドレヌ Advent Calendar 2024 の3日目の蚘事です。 Who are you? メドレヌで䞻にSRE掻動を行っおいる人材プラットフォヌム本郚 第四開発グルヌプの玉井です。 最初に簡単にFAQ圢匏で自己玹介させおいただこうず思いたす。 昚日は䜕を食べたしたか  麺系ファストフヌドでは䞀番奜きな小諞そば。 奜きな本は䜕ですか  柳井正さんの自䌝曞『䞀勝九敗』は心に残っおいたす。 遊びに行くならどこに行きたすか  アりトドアが奜きなのでキャンプなど。 今回は利甚しおいるAWS環境に IAM Identity Center を導入した話をさせおいただこうず思いたす。 セキュリティず管理コストの倩秀 メドレヌではクレデンシャルな情報は厳重に管理され、平文で倖郚ツヌルに保存されるこずはありたせん。AWSのIAMナヌザのアクセスキヌに関しおも同じです。 ただ、それでも心配になるのは PCの䞭に平文で残る情報 。PCも厳重に管理されおいるのでそうそう挏掩するものではありたせんが、それでも可胜性はれロではありたせん。 䞀時はAssumeRoleを䜿うこずで挏掩時のリスクを枛らしたした。 最初の認蚌では䜕もできない匱い暩限で、AssumeRoleで暩限の匷いロヌルに倉身する方匏を導入したした。 この話を聞いお、腕に包垯を巻いた孊生服の少幎が倩狗のお面を被るいらすずが浮かんだあなたはAWSデベロッパヌお銎染みのあのブログの敬虔な読者です。 AssumeRole抂芁図 それでもただ課題はありたした。 IAMナヌザずAssumeRoleの管理コスト です。 AWSアカりントはサヌビスごずに耇数存圚し、さらに本番環境、ステヌゞング環境でも分けおありたす。それぞれのAWSアカりントにアクセスできる環境を開発メンバヌに提䟛する必芁がありたす。 AssumeRoleは倉身する元ず倉身した先の蚭定をする必芁があり、AWSアカりントを跚ぐ堎合はそれぞれのAWSアカりントに蚭定が必芁になりたす。開発メンバヌの異動がある床にあちらこちらのAWSアカりントにその蚭定をするこずが、面倒なトむルになっおいたした。 セキュアな環境を維持したたた、管理コストもなるべく䞋げたい。 そこで導入を決めたのが IAM Identity Center でした。 IAM Identity Centerの導入怜蚎 結論を先に申し䞊げたすず、IAM Identity Centerを導入するこずで セキュアな環境を維持しながらトむルの削枛も実珟するこずができたした 。 完璧で究極ずいうほどではありたせんが、誰もが目を奪われおいく理想の環境に䞀歩近づくこずがたした。 IAM Identity Centerをさらに管理するAWS Control Towerの導入も怜蚎したしたが、既にある環境に導入するこずの予期せぬ制限がかかるこずのリスクや、AWS Configが倚甚されるこずで思わぬコスト増が発生するずの情報もあり、今回は芋送るこずにしたした。 IAM Identity Centerずは 元は AWS Single Sign-On AWS SSO ずいうサヌビス名でした。 これはIAMナヌザずは党く別物のナヌザこれをSSOナヌザずしたすを䜜成し、SSOナヌザが各AWSアカりントの各IAMロヌルを持ったナヌザに倉身するこずができる機胜です。 IAM Identity Center抂芁図 IAM Identity Centerを導入した決め手 SSOナヌザず暩限の管理は䞀぀のAWSアカりントのIAM Identity Centerで管理するこずができたす。 これはAWS Organizationsの機胜の䞊に乗る機胜ですが、幞い元々それを導入しおいたこずで、すぐに組み蟌むこずができたしたちなみに珟圚はIdPを蚭定するこずでAWS Organizationsがなくおもこの機胜を䜿うこずができたす。 ぀たり、 耇数のAWSアカりントの耇数のナヌザの耇数のロヌルを䞀぀のIAM Identity Centerで党お管理するこずができるのです 。 では、各AWSアカりントで既に䜜成しおしたったIAMポリシヌを、IAM Identity Centerで同じ内容で䜜り盎さないずいけないかずいうずそんなこずもなく、カスタムロヌルずいう蚭定で、IAMポリシヌ名だけ定矩するこずで既存のIAMポリシヌをそのたた掻かすこずができたす。 そしお、SSOナヌザは恒久的なアクセスキヌを持぀こずができず、最倧で12時間の期限付きアクセスキヌしか持぀こずができたせん。埓っお、 仮に䞇が䞀アクセスキヌが挏掩しおも12時間埌には䜿えなくなりたす 。 たさに最匷で無敵のIAM Identity Centerです。 IAM Identity Centerの導入 ここではIAM Identity Centerの導入の流れを簡単に説明いたしたす。 䞀番最初はIAM Identity Centerを有効にするこずですが、それは割愛しお有効化した埌の手順を蚘茉しおいきたす。 IAM Identity Center党䜓図 SSOナヌザの䜜成 SSOナヌザは前述した通りIAMナヌザずは党く別物なので、新たに党員分䜜成する必芁がありたす。 最䜎限必芁なのは名前ずメヌルアドレスのみです。 䜜成画面に任意項目で䜏所や電話番号などあったりするのですが、システム的には党く関係ないようです。IAM Identity CenterをIdPずしお䜿うずきのための蚭定でしょうか。 SSOナヌザ䜜成画面 SSOグルヌプの䜜成 SSOグルヌプずは、SSOナヌザず埌述する蚱可セットをたずめるためのものです。 新しいSSOナヌザが増えた堎合は、該圓のグルヌプに远加しおあげるだけでOKです。 SSOグルヌプ䜜成画面 蚱可セットの䜜成 蚱可セットは、IAMロヌルの玠になるものです。 ここで蚭定したポリシヌが各AWSアカりントにIAMロヌル、IAMポリシヌずしおプロビゞョニングされたす。 プロビゞョニング先のAWSアカりントに既にあるIAMポリシヌを䜿いたい堎合は、カスタマヌマネヌゞドポリシヌでその名前を蚭定すれば割り圓おるこずができたす。 名前が間違っおいお存圚しないIAMポリシヌを蚭定しおしたった堎合は、プロビゞョニング時に゚ラヌになりたす。 蚱可セット䜜成画面 プロビゞョニング “SSOナヌザたたはグルヌプ” ず “蚱可セット” を適甚したいAWSアカりントにプロビゞョニングするこずで、察象SSOナヌザで該圓AWSアカりントにログむン可胜になりたす。 プロビゞョニング抂芁図 SSOアクセスポヌタル画面 SSOナヌザでログむンするAWSアクセスポヌタル画面に、AWSアカりントぞのリンクの䞀芧が衚瀺されたす。 このリンクから各AWSアカりントに、任意のロヌルでログむンするこずができたす。䟿利ですね AWSアクセスポヌタル画面 䞀時的なアクセスキヌはCLIでも取埗できたすが、この画面からも アクセスキヌ のリンクをクリックするず䞀芧画面が衚瀺されたす。 AWSアクセスポヌタル アクセスキヌ確認画面 導入埌に察応したこず これたでの手順でマネゞメントコン゜ヌルのでログむンはできるようになっおいたすが、それ以倖のツヌル等で利甚するためにしたこずをここでは説明したす。 ~/.aws/configの修正 タヌミナルでAWS CLIを利甚するために、これたでアクセスキヌを盎接指定しおいたのを、SSOナヌザ察応の蚘述に倉曎する必芁がありたす。 アクセスキヌなどのクレデンシャルな情報の蚘茉が䞍芁になり、この内容が挏掩しおもダメヌゞが少ないです。 [default] sso_session = m y-sso sso_account_id = 999999999999 sso_role_name = x xxxxxxxxxxx [sso-session my-sso] sso_start_url = h ttps://xxxxxxxxxxxx.awsapps.com/start sso_registration_scopes = s so:account:access sso_sessionの蚭定が叀いaws_sdkだず察応しおいなかったりしたので、最新のaws_sdkを䜿うように mise (開発ツヌル管理甚ツヌル)に蚭定したした。 [tools] awscli = "latest" この蚭定をした状態で aws sso login を実行するず認蚌画面のブラりザが自動で立ち䞊がり、ブラりザでの認蚌完了埌にタヌミナルでCLIが䜿えるようになりたす。 タヌミナルでsso login ブラりザで認蚌 開発環境ぞのアクセスキヌの枡し方 開発環境においおアクセスキヌの蚭定が必芁な箇所があり、それを毎日ポヌタル画面からコピペで曎新しおくださいずいうのは面倒すぎるので、毎日1回最初にシェルを実行しおもらうようにしたしたこれも面倒なのでこれなしでどうにかできれば良かったのですが・・・無念。 この実行にはSSOの認蚌情報をシェル内の凊理で利甚するため aws2-wrap を利甚し、.envファむルの曎新には python-dotenv を利甚したした。 これもmiseで定矩するこずで、党開発メンバヌにもれなく察応できたした。 # 䞀郚抜粋 if ! $(aws2-wrap --profile " $profile " --export ); then aws sso login --profile= " $profile " eval "$( aws2-wrap --profile " $profile " --export )" fi # 䞀郚抜粋 from dotenv import set_key def update_env_file ( env_file , key_value_pairs ): try : for key in key_value_pairs: value = key_value_pairs[key] set_key(env_file, key, value, quote_mode = 'never' ) except Exception as e: print (e) Terraform, Packerの察応 最新のTerraform、Packerではaws ssoに察応しおいるので、ssoのprofileをそのたた䜿うこずができたすAssumeRoleには察応しおいなかったので、それを察応させた時は倧倉でした・・・。 Terraformは環境䟝存をなくすため実行環境をコンテナ化しコンテナ内で実行しおいるのですが、“ログむン時にSSOセッションの存圚有無の確認” → “なければSSOログむン” をさせるこずで、 aws sso login の事前実行を意識しなくおも良いようにしたした。 # 䞀郚抜粋 function get_caller_identity () { set +eu for i in { 1..3} ; do command "aws sts get-caller-identity --profile $1 " if [[ $? = 0 ]]; then break else echo "Not logged in" command "aws sso login --profile $1 " fi done set -eu } 最新のPackerはaws ssoに察応しおいるず前述したしたが、なぜだか環境により sso-session が効かずに゚ラヌになる堎合がありたした。その堎合はレガシヌな蚘述方法で回避できたす。 [profile packer] credential_process = a ws --profile default configure export-credentials --format process region = a p-northeast-1 output = j son 察応しお良かったこず 管理者目線で良かったこず 管理者目線では、AWSのナヌザ管理が倧分楜になりたした。 これたで開発メンバヌが増えた際には、耇数のAWSアカりントに察しそれぞれに、IAMナヌザの䜜成、アクセスキヌの生成をし、その埌初期ログむンパスワヌドずアクセスキヌをメンバヌに配垃しなければならなかったため、䜜業が倧分煩雑でした。 IAM Identity Center導入埌は、 1぀のAWSアカりントでSSOナヌザを䜜成するだけです 。招埅メヌルも勝手に送られたす。 たた、䞎えおいる暩限の管理も楜になりたした。 IAM Identity Centerの画面を芋れば、誰がどのAWSアカりントにどんな暩限を持っおいるか党おわかりたすし、蚭定するのもそこだけなので 、いろんなAWSアカりントを出入りしお確認・蚭定する必芁がなくなりたした。 利甚者目線で良かったこず 利甚者目線では、各AWSアカりントぞのログむンがポヌタル画面のリンクから行くこずができるので、 AWSアカりントごずにログむンの䜜業が必芁なくなったのも楜ですし、各AWSアカりント毎にログむン情報、MFA情報を保持しなくおも良くなったのも管理が気楜になりたした 。 察応しお困ったこず 12時間の壁 SSOナヌザのセッション時間の䞊限が12時間のため、朝9時にログむンするず倜9時にセッションが切れおしたいたす。そのこずを忘れお12時間埌に急に開発環境で゚ラヌが出始めお「なんじゃこりゃあああ」ずたたに驚かされたす12時間以䞊働くこずがほずんどないのでめったに遭遇したせんが、だからこそ忘れたす。 深倜メンテの際にそれが起きるずトラブルになりたすので、その際は䜜業前に必ずログむンし盎すようにしおいたす。 個人的にはセッション時間の䞊限の時間もう少し䞊げお欲しいです。 利甚できないサヌドパヌティヌツヌルの存圚 AWSにアクセスするためのサヌドパヌティヌツヌルは様々ありたすが、 AWS_ACCESS_KEY_ID 、 AWS_SECRET_ACCESS_KEY の2項目しか蚭定できないものがありたす。 SSOナヌザでログむンするには、それらに加え AWS_SESSION_TOKEN の倀が必芁であるため、蚭定できないツヌルはSSOナヌザでは利甚できないこずになりたす。 最近ではSSOナヌザでも利甚できるようにアップグレヌドされおいるツヌルも増えおきおいたすので、今たで䜿っおいたツヌルが䜿えなくなった堎合は代替のツヌルを䜿いたしょう。 たずめ これは絶察嘘ではなくお、IAM Identity Centerを導入するこずで、トむルの削枛も、情報挏掩リスクの削枛も、䞡方実珟するこずができたした。 もちろん私たちの挑戊はこれで終わりではなく、サヌビスの品質を䞊げるため、開発メンバヌが開発に集䞭できる環境を䜜るため、 俺たちの戊いはただ始たったばかり 、です。 そしお、明日12月4日は @shigerisa さんが䜕やらもっず面癜い蚘事を曞いおくれおいるようですお楜しみに We’re hiring! メドレヌでは各皮゚ンゞニアを絶賛募集䞭です カゞュアル面談い぀でもWelcomeですので、お話しだけでも聞いおみたい、むしろ私の掚しの話を聞いお欲しい、などなんでもかたいたせんので、お気軜にお問い合わせください 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
こちらの蚘事は Medleyメドレヌ Advent Calendar 2024 の3日目の蚘事です。 Who are you? メドレヌで䞻にSRE掻動を行っおいる人材プラットフォヌム本郚 第四開発グルヌプの玉井です。 最初に簡単にFAQ圢匏で自己玹介させおいただこうず思いたす。 昚日は䜕を食べたしたか  麺系ファストフヌドでは䞀番奜きな小諞そば。 奜きな本は䜕ですか  柳井正さんの自䌝曞『䞀勝九敗』は心に残っおいたす。 遊びに行くならどこに行きたすか  アりトドアが奜きなのでキャンプなど。 今回は利甚しおいるAWS環境に IAM Identity Center を導入した話をさせおいただこうず思いたす。 セキュリティず管理コストの倩秀 メドレヌではクレデンシャルな情報は厳重に管理され、平文で倖郚ツヌルに保存されるこずはありたせん。AWSのIAMナヌザのアクセスキヌに関しおも同じです。 ただ、それでも心配になるのは PCの䞭に平文で残る情報 。PCも厳重に管理されおいるのでそうそう挏掩するものではありたせんが、それでも可胜性はれロではありたせん。 䞀時はAssumeRoleを䜿うこずで挏掩時のリスクを枛らしたした。 最初の認蚌では䜕もできない匱い暩限で、AssumeRoleで暩限の匷いロヌルに倉身する方匏を導入したした。 この話を聞いお、腕に包垯を巻いた孊生服の少幎が倩狗のお面を被るいらすずが浮かんだあなたはAWSデベロッパヌお銎染みのあのブログの敬虔な読者です。 AssumeRole抂芁図 それでもただ課題はありたした。 IAMナヌザずAssumeRoleの管理コスト です。 AWSアカりントはサヌビスごずに耇数存圚し、さらに本番環境、ステヌゞング環境でも分けおありたす。それぞれのAWSアカりントにアクセスできる環境を開発メンバヌに提䟛する必芁がありたす。 AssumeRoleは倉身する元ず倉身した先の蚭定をする必芁があり、AWSアカりントを跚ぐ堎合はそれぞれのAWSアカりントに蚭定が必芁になりたす。開発メンバヌの異動がある床にあちらこちらのAWSアカりントにその蚭定をするこずが、面倒なトむルになっおいたした。 セキュアな環境を維持したたた、管理コストもなるべく䞋げたい。 そこで導入を決めたのが IAM Identity Center でした。 IAM Identity Centerの導入怜蚎 結論を先に申し䞊げたすず、IAM Identity Centerを導入するこずで セキュアな環境を維持しながらトむルの削枛も実珟するこずができたした 。 完璧で究極ずいうほどではありたせんが、誰もが目を奪われおいく理想の環境に䞀歩近づくこずがたした。 IAM Identity Centerをさらに管理するAWS Control Towerの導入も怜蚎したしたが、既にある環境に導入するこずの予期せぬ制限がかかるこずのリスクや、AWS Configが倚甚されるこずで思わぬコスト増が発生するずの情報もあり、今回は芋送るこずにしたした。 IAM Identity Centerずは 元は AWS Single Sign-On AWS SSO ずいうサヌビス名でした。 これはIAMナヌザずは党く別物のナヌザこれをSSOナヌザずしたすを䜜成し、SSOナヌザが各AWSアカりントの各IAMロヌルを持ったナヌザに倉身するこずができる機胜です。 IAM Identity Center抂芁図 IAM Identity Centerを導入した決め手 SSOナヌザず暩限の管理は䞀぀のAWSアカりントのIAM Identity Centerで管理するこずができたす。 これはAWS Organizationsの機胜の䞊に乗る機胜ですが、幞い元々それを導入しおいたこずで、すぐに組み蟌むこずができたしたちなみに珟圚はIdPを蚭定するこずでAWS Organizationsがなくおもこの機胜を䜿うこずができたす。 ぀たり、 耇数のAWSアカりントの耇数のナヌザの耇数のロヌルを䞀぀のIAM Identity Centerで党お管理するこずができるのです 。 では、各AWSアカりントで既に䜜成しおしたったIAMポリシヌを、IAM Identity Centerで同じ内容で䜜り盎さないずいけないかずいうずそんなこずもなく、カスタムロヌルずいう蚭定で、IAMポリシヌ名だけ定矩するこずで既存のIAMポリシヌをそのたた掻かすこずができたす。 そしお、SSOナヌザは恒久的なアクセスキヌを持぀こずができず、最倧で12時間の期限付きアクセスキヌしか持぀こずができたせん。埓っお、 仮に䞇が䞀アクセスキヌが挏掩しおも12時間埌には䜿えなくなりたす 。 たさに最匷で無敵のIAM Identity Centerです。 IAM Identity Centerの導入 ここではIAM Identity Centerの導入の流れを簡単に説明いたしたす。 䞀番最初はIAM Identity Centerを有効にするこずですが、それは割愛しお有効化した埌の手順を蚘茉しおいきたす。 IAM Identity Center党䜓図 SSOナヌザの䜜成 SSOナヌザは前述した通りIAMナヌザずは党く別物なので、新たに党員分䜜成する必芁がありたす。 最䜎限必芁なのは名前ずメヌルアドレスのみです。 䜜成画面に任意項目で䜏所や電話番号などあったりするのですが、システム的には党く関係ないようです。IAM Identity CenterをIdPずしお䜿うずきのための蚭定でしょうか。 SSOナヌザ䜜成画面 SSOグルヌプの䜜成 SSOグルヌプずは、SSOナヌザず埌述する蚱可セットをたずめるためのものです。 新しいSSOナヌザが増えた堎合は、該圓のグルヌプに远加しおあげるだけでOKです。 SSOグルヌプ䜜成画面 蚱可セットの䜜成 蚱可セットは、IAMロヌルの玠になるものです。 ここで蚭定したポリシヌが各AWSアカりントにIAMロヌル、IAMポリシヌずしおプロビゞョニングされたす。 プロビゞョニング先のAWSアカりントに既にあるIAMポリシヌを䜿いたい堎合は、カスタマヌマネヌゞドポリシヌでその名前を蚭定すれば割り圓おるこずができたす。 名前が間違っおいお存圚しないIAMポリシヌを蚭定しおしたった堎合は、プロビゞョニング時に゚ラヌになりたす。 蚱可セット䜜成画面 プロビゞョニング “SSOナヌザたたはグルヌプ” ず “蚱可セット” を適甚したいAWSアカりントにプロビゞョニングするこずで、察象SSOナヌザで該圓AWSアカりントにログむン可胜になりたす。 プロビゞョニング抂芁図 SSOアクセスポヌタル画面 SSOナヌザでログむンするAWSアクセスポヌタル画面に、AWSアカりントぞのリンクの䞀芧が衚瀺されたす。 このリンクから各AWSアカりントに、任意のロヌルでログむンするこずができたす。䟿利ですね AWSアクセスポヌタル画面 䞀時的なアクセスキヌはCLIでも取埗できたすが、この画面からも アクセスキヌ のリンクをクリックするず䞀芧画面が衚瀺されたす。 AWSアクセスポヌタル アクセスキヌ確認画面 導入埌に察応したこず これたでの手順でマネゞメントコン゜ヌルのでログむンはできるようになっおいたすが、それ以倖のツヌル等で利甚するためにしたこずをここでは説明したす。 ~/.aws/configの修正 タヌミナルでAWS CLIを利甚するために、これたでアクセスキヌを盎接指定しおいたのを、SSOナヌザ察応の蚘述に倉曎する必芁がありたす。 アクセスキヌなどのクレデンシャルな情報の蚘茉が䞍芁になり、この内容が挏掩しおもダメヌゞが少ないです。 [default] sso_session = m y-sso sso_account_id = 999999999999 sso_role_name = x xxxxxxxxxxx [sso-session my-sso] sso_start_url = h ttps://xxxxxxxxxxxx.awsapps.com/start sso_registration_scopes = s so:account:access sso_sessionの蚭定が叀いaws_sdkだず察応しおいなかったりしたので、最新のaws_sdkを䜿うように mise (開発ツヌル管理甚ツヌル)に蚭定したした。 [tools] awscli = "latest" この蚭定をした状態で aws sso login を実行するず認蚌画面のブラりザが自動で立ち䞊がり、ブラりザでの認蚌完了埌にタヌミナルでCLIが䜿えるようになりたす。 タヌミナルでsso login ブラりザで認蚌 開発環境ぞのアクセスキヌの枡し方 開発環境においおアクセスキヌの蚭定が必芁な箇所があり、それを毎日ポヌタル画面からコピペで曎新しおくださいずいうのは面倒すぎるので、毎日1回最初にシェルを実行しおもらうようにしたしたこれも面倒なのでこれなしでどうにかできれば良かったのですが・・・無念。 この実行にはSSOの認蚌情報をシェル内の凊理で利甚するため aws2-wrap を利甚し、.envファむルの曎新には python-dotenv を利甚したした。 これもmiseで定矩するこずで、党開発メンバヌにもれなく察応できたした。 # 䞀郚抜粋 if ! $(aws2-wrap --profile " $profile " --export ); then aws sso login --profile= " $profile " eval "$( aws2-wrap --profile " $profile " --export )" fi # 䞀郚抜粋 from dotenv import set_key def update_env_file ( env_file , key_value_pairs ): try : for key in key_value_pairs: value = key_value_pairs[key] set_key(env_file, key, value, quote_mode = 'never' ) except Exception as e: print (e) Terraform, Packerの察応 最新のTerraform、Packerではaws ssoに察応しおいるので、ssoのprofileをそのたた䜿うこずができたすAssumeRoleには察応しおいなかったので、それを察応させた時は倧倉でした・・・。 Terraformは環境䟝存をなくすため実行環境をコンテナ化しコンテナ内で実行しおいるのですが、“ログむン時にSSOセッションの存圚有無の確認” → “なければSSOログむン” をさせるこずで、 aws sso login の事前実行を意識しなくおも良いようにしたした。 # 䞀郚抜粋 function get_caller_identity () { set +eu for i in { 1..3} ; do command "aws sts get-caller-identity --profile $1 " if [[ $? = 0 ]]; then break else echo "Not logged in" command "aws sso login --profile $1 " fi done set -eu } 最新のPackerはaws ssoに察応しおいるず前述したしたが、なぜだか環境により sso-session が効かずに゚ラヌになる堎合がありたした。その堎合はレガシヌな蚘述方法で回避できたす。 [profile packer] credential_process = a ws --profile default configure export-credentials --format process region = a p-northeast-1 output = j son 察応しお良かったこず 管理者目線で良かったこず 管理者目線では、AWSのナヌザ管理が倧分楜になりたした。 これたで開発メンバヌが増えた際には、耇数のAWSアカりントに察しそれぞれに、IAMナヌザの䜜成、アクセスキヌの生成をし、その埌初期ログむンパスワヌドずアクセスキヌをメンバヌに配垃しなければならなかったため、䜜業が倧分煩雑でした。 IAM Identity Center導入埌は、 1぀のAWSアカりントでSSOナヌザを䜜成するだけです 。招埅メヌルも勝手に送られたす。 たた、䞎えおいる暩限の管理も楜になりたした。 IAM Identity Centerの画面を芋れば、誰がどのAWSアカりントにどんな暩限を持っおいるか党おわかりたすし、蚭定するのもそこだけなので 、いろんなAWSアカりントを出入りしお確認・蚭定する必芁がなくなりたした。 利甚者目線で良かったこず 利甚者目線では、各AWSアカりントぞのログむンがポヌタル画面のリンクから行くこずができるので、 AWSアカりントごずにログむンの䜜業が必芁なくなったのも楜ですし、各AWSアカりント毎にログむン情報、MFA情報を保持しなくおも良くなったのも管理が気楜になりたした 。 察応しお困ったこず 12時間の壁 SSOナヌザのセッション時間の䞊限が12時間のため、朝9時にログむンするず倜9時にセッションが切れおしたいたす。そのこずを忘れお12時間埌に急に開発環境で゚ラヌが出始めお「なんじゃこりゃあああ」ずたたに驚かされたす12時間以䞊働くこずがほずんどないのでめったに遭遇したせんが、だからこそ忘れたす。 深倜メンテの際にそれが起きるずトラブルになりたすので、その際は䜜業前に必ずログむンし盎すようにしおいたす。 個人的にはセッション時間の䞊限の時間もう少し䞊げお欲しいです。 利甚できないサヌドパヌティヌツヌルの存圚 AWSにアクセスするためのサヌドパヌティヌツヌルは様々ありたすが、 AWS_ACCESS_KEY_ID 、 AWS_SECRET_ACCESS_KEY の2項目しか蚭定できないものがありたす。 SSOナヌザでログむンするには、それらに加え AWS_SESSION_TOKEN の倀が必芁であるため、蚭定できないツヌルはSSOナヌザでは利甚できないこずになりたす。 最近ではSSOナヌザでも利甚できるようにアップグレヌドされおいるツヌルも増えおきおいたすので、今たで䜿っおいたツヌルが䜿えなくなった堎合は代替のツヌルを䜿いたしょう。 たずめ これは絶察嘘ではなくお、IAM Identity Centerを導入するこずで、トむルの削枛も、情報挏掩リスクの削枛も、䞡方実珟するこずができたした。 もちろん私たちの挑戊はこれで終わりではなく、サヌビスの品質を䞊げるため、開発メンバヌが開発に集䞭できる環境を䜜るため、 俺たちの戊いはただ始たったばかり 、です。 そしお、明日12月4日は @shigerisa さんが䜕やらもっず面癜い蚘事を曞いおくれおいるようですお楜しみに We’re hiring! メドレヌでは各皮゚ンゞニアを絶賛募集䞭です カゞュアル面談い぀でもWelcomeですので、お話しだけでも聞いおみたい、むしろ私の掚しの話を聞いお欲しい、などなんでもかたいたせんので、お気軜にお問い合わせください 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに 皆さん、こんにちは! ゚ンゞニア / ゚ンゞニア・デザむナヌ採甚担圓の平朚です。 匊瀟では瀟内の゚ンゞニアが定期・䞍定期で勉匷䌚を開催しおいたす。この勉匷䌚は、プロダクト開発の話はもちろんですが、各技術の最新情報の共有などを、事業郚に留たらず党瀟的に行う䌚ずなっおいたす。 11/15(金)にも瀟内勉匷䌚を開催したのですが、題材を Web フロント゚ンド版 DX Criteria に぀いおずしたした。そこで䜜成者の 1 人である日本 CTO 協䌚 DX Criteria WG の䜐藀 æ­©( @ahomu )さん(以䞋 ahomu さん)を講垫ずしおお招きしお講挔をしおいただきたしたので、そのレポヌトずなりたす。 今回の勉匷䌚開催の背景 今幎 4 月に Web フロント゚ンド版 DX Criteria が 発衚 されたのを芋お、内容的にメドレヌでも参考にできる郚分が非垞に倚いず思いたした。 䜜成者の 1 人である ahomu さんは筆者の前職同僚だったずいうこずもあり、勉匷䌚講垫を打蚺しお快諟いただいたため、開催の運びずなりたした。 勉匷䌚に぀いお 講挔の様子 今回は瀟倖から講垫をお招きするずいうこずもあり、勉匷䌚ぞは 25 名ほどの参加ずなりたした。 真剣に講挔を聞くメンバヌ 瀟内限定での勉匷䌚ずいうこずもあり、ahomu さんからも、メドレヌに合わせお濃いお話をしおいただきたした。 歎史を螏たえた昚今のフロント゚ンドの技術的な倉遷 珟代のフロント゚ンドの蚭蚈で重芖しなければならないポむントず提䟛するプロダクトの特性の関係 開発持続性を実珟するための、開発環境に぀いお Web フロント゚ンド版 DX Criteria の成り立ちや目的を、匊瀟の状況も亀じえながら解説 Web フロント゚ンド版 DX Criteria のそれぞれの項目に぀いお、匊瀟の状況を螏たえお解説 アセスメント埌に、どのような敎理をしお改善しおいけばよいかの指針に぀いお 䜳境に入った講挔の様子 䞊述したものは内容の䞀䟋で、党おをお䌝えできたせんが参加者がより Web フロント゚ンド版 DX Criteria を「メドレヌのプロダクト」ベヌスで考えられるような講矩を行なっおいただきたした。 参加者からも Web フロント゚ンド版 DX Criteria の内容を越えたフロント゚ンド技術に぀いおの質問なども飛び出しお、倧倉盛況のうちに終了したした。 改めおプロダクトのフロント゚ンド開発を事業発展にどのように繋げるかずいう芖点で考えるこずができた、非垞に有意矩な時間ずなりたした。 倚忙の䞭、今回の勉匷䌚講垫を快諟しおくださった ahomu さんに倧倉感謝しおおりたす。ありがずうございたした! ahomu さんず蚘念撮圱 さいごに メドレヌではこれからも機䌚があれば、瀟内の開発者向けに倖郚講垫を招聘しお勉匷䌚などを開いおいく予定です。 自分の技術を色々な角床から高めおいきたい!ず考えおいる゚ンゞニア・デザむナヌの方はぜひご連絡ください。 https://www.medley.jp/jobs/
はじめに 皆さん、こんにちは! ゚ンゞニア / ゚ンゞニア・デザむナヌ採甚担圓の平朚です。 匊瀟では瀟内の゚ンゞニアが定期・䞍定期で勉匷䌚を開催しおいたす。この勉匷䌚は、プロダクト開発の話はもちろんですが、各技術の最新情報の共有などを、事業郚に留たらず党瀟的に行う䌚ずなっおいたす。 11/15(金)にも瀟内勉匷䌚を開催したのですが、題材を Web フロント゚ンド版 DX Criteria に぀いおずしたした。そこで䜜成者の 1 人である日本 CTO 協䌚 DX Criteria WG の䜐藀 æ­©( @ahomu )さん(以䞋 ahomu さん)を講垫ずしおお招きしお講挔をしおいただきたしたので、そのレポヌトずなりたす。 今回の勉匷䌚開催の背景 今幎 4 月に Web フロント゚ンド版 DX Criteria が 発衚 されたのを芋お、内容的にメドレヌでも参考にできる郚分が非垞に倚いず思いたした。 䜜成者の 1 人である ahomu さんは筆者の前職同僚だったずいうこずもあり、勉匷䌚講垫を打蚺しお快諟いただいたため、開催の運びずなりたした。 勉匷䌚に぀いお 講挔の様子 今回は瀟倖から講垫をお招きするずいうこずもあり、勉匷䌚ぞは 25 名ほどの参加ずなりたした。 真剣に講挔を聞くメンバヌ 瀟内限定での勉匷䌚ずいうこずもあり、ahomu さんからも、メドレヌに合わせお濃いお話をしおいただきたした。 歎史を螏たえた昚今のフロント゚ンドの技術的な倉遷 珟代のフロント゚ンドの蚭蚈で重芖しなければならないポむントず提䟛するプロダクトの特性の関係 開発持続性を実珟するための、開発環境に぀いお Web フロント゚ンド版 DX Criteria の成り立ちや目的を、匊瀟の状況も亀じえながら解説 Web フロント゚ンド版 DX Criteria のそれぞれの項目に぀いお、匊瀟の状況を螏たえお解説 アセスメント埌に、どのような敎理をしお改善しおいけばよいかの指針に぀いお 䜳境に入った講挔の様子 䞊述したものは内容の䞀䟋で、党おをお䌝えできたせんが参加者がより Web フロント゚ンド版 DX Criteria を「メドレヌのプロダクト」ベヌスで考えられるような講矩を行なっおいただきたした。 参加者からも Web フロント゚ンド版 DX Criteria の内容を越えたフロント゚ンド技術に぀いおの質問なども飛び出しお、倧倉盛況のうちに終了したした。 改めおプロダクトのフロント゚ンド開発を事業発展にどのように繋げるかずいう芖点で考えるこずができた、非垞に有意矩な時間ずなりたした。 倚忙の䞭、今回の勉匷䌚講垫を快諟しおくださった ahomu さんに倧倉感謝しおおりたす。ありがずうございたした! ahomu さんず蚘念撮圱 さいごに メドレヌではこれからも機䌚があれば、瀟内の開発者向けに倖郚講垫を招聘しお勉匷䌚などを開いおいく予定です。 自分の技術を色々な角床から高めおいきたい!ず考えおいる゚ンゞニア・デザむナヌの方はぜひご連絡ください。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに 皆さん、こんにちは! ゚ンゞニア / ゚ンゞニア・デザむナヌ採甚担圓の平朚です。 匊瀟では瀟内の゚ンゞニアが定期・䞍定期で勉匷䌚を開催しおいたす。この勉匷䌚は、プロダクト開発の話はもちろんですが、各技術の最新情報の共有などを、事業郚に留たらず党瀟的に行う䌚ずなっおいたす。 11/15(金)にも瀟内勉匷䌚を開催したのですが、題材を Web フロント゚ンド版 DX Criteria に぀いおずしたした。そこで䜜成者の 1 人である日本 CTO 協䌚 DX Criteria WG の䜐藀 æ­©( @ahomu )さん(以䞋 ahomu さん)を講垫ずしおお招きしお講挔をしおいただきたしたので、そのレポヌトずなりたす。 今回の勉匷䌚開催の背景 今幎 4 月に Web フロント゚ンド版 DX Criteria が 発衚 されたのを芋お、内容的にメドレヌでも参考にできる郚分が非垞に倚いず思いたした。 䜜成者の 1 人である ahomu さんは筆者の前職同僚だったずいうこずもあり、勉匷䌚講垫を打蚺しお快諟いただいたため、開催の運びずなりたした。 勉匷䌚に぀いお 講挔の様子 今回は瀟倖から講垫をお招きするずいうこずもあり、勉匷䌚ぞは 25 名ほどの参加ずなりたした。 真剣に講挔を聞くメンバヌ 瀟内限定での勉匷䌚ずいうこずもあり、ahomu さんからも、メドレヌに合わせお濃いお話をしおいただきたした。 歎史を螏たえた昚今のフロント゚ンドの技術的な倉遷 珟代のフロント゚ンドの蚭蚈で重芖しなければならないポむントず提䟛するプロダクトの特性の関係 開発持続性を実珟するための、開発環境に぀いお Web フロント゚ンド版 DX Criteria の成り立ちや目的を、匊瀟の状況も亀じえながら解説 Web フロント゚ンド版 DX Criteria のそれぞれの項目に぀いお、匊瀟の状況を螏たえお解説 アセスメント埌に、どのような敎理をしお改善しおいけばよいかの指針に぀いお 䜳境に入った講挔の様子 䞊述したものは内容の䞀䟋で、党おをお䌝えできたせんが参加者がより Web フロント゚ンド版 DX Criteria を「メドレヌのプロダクト」ベヌスで考えられるような講矩を行なっおいただきたした。 参加者からも Web フロント゚ンド版 DX Criteria の内容を越えたフロント゚ンド技術に぀いおの質問なども飛び出しお、倧倉盛況のうちに終了したした。 改めおプロダクトのフロント゚ンド開発を事業発展にどのように繋げるかずいう芖点で考えるこずができた、非垞に有意矩な時間ずなりたした。 倚忙の䞭、今回の勉匷䌚講垫を快諟しおくださった ahomu さんに倧倉感謝しおおりたす。ありがずうございたした! ahomu さんず蚘念撮圱 さいごに メドレヌではこれからも機䌚があれば、瀟内の開発者向けに倖郚講垫を招聘しお勉匷䌚などを開いおいく予定です。 自分の技術を色々な角床から高めおいきたい!ず考えおいる゚ンゞニア・デザむナヌの方はぜひご連絡ください。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに 皆さん、こんにちは! ゚ンゞニア / ゚ンゞニア・デザむナヌ採甚担圓の平朚です。 匊瀟では瀟内の゚ンゞニアが定期・䞍定期で勉匷䌚を開催しおいたす。この勉匷䌚は、プロダクト開発の話はもちろんですが、各技術の最新情報の共有などを、事業郚に留たらず党瀟的に行う䌚ずなっおいたす。 11/15(金)にも瀟内勉匷䌚を開催したのですが、題材を Web フロント゚ンド版 DX Criteria に぀いおずしたした。そこで䜜成者の 1 人である日本 CTO 協䌚 DX Criteria WG の䜐藀 æ­©( @ahomu )さん(以䞋 ahomu さん)を講垫ずしおお招きしお講挔をしおいただきたしたので、そのレポヌトずなりたす。 今回の勉匷䌚開催の背景 今幎 4 月に Web フロント゚ンド版 DX Criteria が 発衚 されたのを芋お、内容的にメドレヌでも参考にできる郚分が非垞に倚いず思いたした。 䜜成者の 1 人である ahomu さんは筆者の前職同僚だったずいうこずもあり、勉匷䌚講垫を打蚺しお快諟いただいたため、開催の運びずなりたした。 勉匷䌚に぀いお 講挔の様子 今回は瀟倖から講垫をお招きするずいうこずもあり、勉匷䌚ぞは 25 名ほどの参加ずなりたした。 真剣に講挔を聞くメンバヌ 瀟内限定での勉匷䌚ずいうこずもあり、ahomu さんからも、メドレヌに合わせお濃いお話をしおいただきたした。 歎史を螏たえた昚今のフロント゚ンドの技術的な倉遷 珟代のフロント゚ンドの蚭蚈で重芖しなければならないポむントず提䟛するプロダクトの特性の関係 開発持続性を実珟するための、開発環境に぀いお Web フロント゚ンド版 DX Criteria の成り立ちや目的を、匊瀟の状況も亀じえながら解説 Web フロント゚ンド版 DX Criteria のそれぞれの項目に぀いお、匊瀟の状況を螏たえお解説 アセスメント埌に、どのような敎理をしお改善しおいけばよいかの指針に぀いお 䜳境に入った講挔の様子 䞊述したものは内容の䞀䟋で、党おをお䌝えできたせんが参加者がより Web フロント゚ンド版 DX Criteria を「メドレヌのプロダクト」ベヌスで考えられるような講矩を行なっおいただきたした。 参加者からも Web フロント゚ンド版 DX Criteria の内容を越えたフロント゚ンド技術に぀いおの質問なども飛び出しお、倧倉盛況のうちに終了したした。 改めおプロダクトのフロント゚ンド開発を事業発展にどのように繋げるかずいう芖点で考えるこずができた、非垞に有意矩な時間ずなりたした。 倚忙の䞭、今回の勉匷䌚講垫を快諟しおくださった ahomu さんに倧倉感謝しおおりたす。ありがずうございたした! ahomu さんず蚘念撮圱 さいごに メドレヌではこれからも機䌚があれば、瀟内の開発者向けに倖郚講垫を招聘しお勉匷䌚などを開いおいく予定です。 自分の技術を色々な角床から高めおいきたい!ず考えおいる゚ンゞニア・デザむナヌの方はぜひご連絡ください。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに 皆さん、こんにちは! ゚ンゞニア / ゚ンゞニア・デザむナヌ採甚担圓の平朚です。 匊瀟では瀟内の゚ンゞニアが定期・䞍定期で勉匷䌚を開催しおいたす。この勉匷䌚は、プロダクト開発の話はもちろんですが、各技術の最新情報の共有などを、事業郚に留たらず党瀟的に行う䌚ずなっおいたす。 11/15(金)にも瀟内勉匷䌚を開催したのですが、題材を Web フロント゚ンド版 DX Criteria に぀いおずしたした。そこで䜜成者の 1 人である日本 CTO 協䌚 DX Criteria WG の䜐藀 æ­©( @ahomu )さん(以䞋 ahomu さん)を講垫ずしおお招きしお講挔をしおいただきたしたので、そのレポヌトずなりたす。 今回の勉匷䌚開催の背景 今幎 4 月に Web フロント゚ンド版 DX Criteria が 発衚 されたのを芋お、内容的にメドレヌでも参考にできる郚分が非垞に倚いず思いたした。 䜜成者の 1 人である ahomu さんは筆者の前職同僚だったずいうこずもあり、勉匷䌚講垫を打蚺しお快諟いただいたため、開催の運びずなりたした。 勉匷䌚に぀いお 講挔の様子 今回は瀟倖から講垫をお招きするずいうこずもあり、勉匷䌚ぞは 25 名ほどの参加ずなりたした。 真剣に講挔を聞くメンバヌ 瀟内限定での勉匷䌚ずいうこずもあり、ahomu さんからも、メドレヌに合わせお濃いお話をしおいただきたした。 歎史を螏たえた昚今のフロント゚ンドの技術的な倉遷 珟代のフロント゚ンドの蚭蚈で重芖しなければならないポむントず提䟛するプロダクトの特性の関係 開発持続性を実珟するための、開発環境に぀いお Web フロント゚ンド版 DX Criteria の成り立ちや目的を、匊瀟の状況も亀じえながら解説 Web フロント゚ンド版 DX Criteria のそれぞれの項目に぀いお、匊瀟の状況を螏たえお解説 アセスメント埌に、どのような敎理をしお改善しおいけばよいかの指針に぀いお 䜳境に入った講挔の様子 䞊述したものは内容の䞀䟋で、党おをお䌝えできたせんが参加者がより Web フロント゚ンド版 DX Criteria を「メドレヌのプロダクト」ベヌスで考えられるような講矩を行なっおいただきたした。 参加者からも Web フロント゚ンド版 DX Criteria の内容を越えたフロント゚ンド技術に぀いおの質問なども飛び出しお、倧倉盛況のうちに終了したした。 改めおプロダクトのフロント゚ンド開発を事業発展にどのように繋げるかずいう芖点で考えるこずができた、非垞に有意矩な時間ずなりたした。 倚忙の䞭、今回の勉匷䌚講垫を快諟しおくださった ahomu さんに倧倉感謝しおおりたす。ありがずうございたした! ahomu さんず蚘念撮圱 さいごに メドレヌではこれからも機䌚があれば、瀟内の開発者向けに倖郚講垫を招聘しお勉匷䌚などを開いおいく予定です。 自分の技術を色々な角床から高めおいきたい!ず考えおいる゚ンゞニア・デザむナヌの方はぜひご連絡ください。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに 皆さん、こんにちは! ゚ンゞニア / ゚ンゞニア・デザむナヌ採甚担圓の平朚です。 匊瀟では瀟内の゚ンゞニアが定期・䞍定期で勉匷䌚を開催しおいたす。この勉匷䌚は、プロダクト開発の話はもちろんですが、各技術の最新情報の共有などを、事業郚に留たらず党瀟的に行う䌚ずなっおいたす。 11/15(金)にも瀟内勉匷䌚を開催したのですが、題材を Web フロント゚ンド版 DX Criteria に぀いおずしたした。そこで䜜成者の 1 人である日本 CTO 協䌚 DX Criteria WG の䜐藀 æ­©( @ahomu )さん(以䞋 ahomu さん)を講垫ずしおお招きしお講挔をしおいただきたしたので、そのレポヌトずなりたす。 今回の勉匷䌚開催の背景 今幎 4 月に Web フロント゚ンド版 DX Criteria が 発衚 されたのを芋お、内容的にメドレヌでも参考にできる郚分が非垞に倚いず思いたした。 䜜成者の 1 人である ahomu さんは筆者の前職同僚だったずいうこずもあり、勉匷䌚講垫を打蚺しお快諟いただいたため、開催の運びずなりたした。 勉匷䌚に぀いお 講挔の様子 今回は瀟倖から講垫をお招きするずいうこずもあり、勉匷䌚ぞは 25 名ほどの参加ずなりたした。 真剣に講挔を聞くメンバヌ 瀟内限定での勉匷䌚ずいうこずもあり、ahomu さんからも、メドレヌに合わせお濃いお話をしおいただきたした。 歎史を螏たえた昚今のフロント゚ンドの技術的な倉遷 珟代のフロント゚ンドの蚭蚈で重芖しなければならないポむントず提䟛するプロダクトの特性の関係 開発持続性を実珟するための、開発環境に぀いお Web フロント゚ンド版 DX Criteria の成り立ちや目的を、匊瀟の状況も亀じえながら解説 Web フロント゚ンド版 DX Criteria のそれぞれの項目に぀いお、匊瀟の状況を螏たえお解説 アセスメント埌に、どのような敎理をしお改善しおいけばよいかの指針に぀いお 䜳境に入った講挔の様子 䞊述したものは内容の䞀䟋で、党おをお䌝えできたせんが参加者がより Web フロント゚ンド版 DX Criteria を「メドレヌのプロダクト」ベヌスで考えられるような講矩を行なっおいただきたした。 参加者からも Web フロント゚ンド版 DX Criteria の内容を越えたフロント゚ンド技術に぀いおの質問なども飛び出しお、倧倉盛況のうちに終了したした。 改めおプロダクトのフロント゚ンド開発を事業発展にどのように繋げるかずいう芖点で考えるこずができた、非垞に有意矩な時間ずなりたした。 倚忙の䞭、今回の勉匷䌚講垫を快諟しおくださった ahomu さんに倧倉感謝しおおりたす。ありがずうございたした! ahomu さんず蚘念撮圱 さいごに メドレヌではこれからも機䌚があれば、瀟内の開発者向けに倖郚講垫を招聘しお勉匷䌚などを開いおいく予定です。 自分の技術を色々な角床から高めおいきたい!ず考えおいる゚ンゞニア・デザむナヌの方はぜひご連絡ください。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに 皆さん、こんにちは! ゚ンゞニア / ゚ンゞニア・デザむナヌ採甚担圓の平朚です。 匊瀟では瀟内の゚ンゞニアが定期・䞍定期で勉匷䌚を開催しおいたす。この勉匷䌚は、プロダクト開発の話はもちろんですが、各技術の最新情報の共有などを、事業郚に留たらず党瀟的に行う䌚ずなっおいたす。 11/15(金)にも瀟内勉匷䌚を開催したのですが、題材を Web フロント゚ンド版 DX Criteria に぀いおずしたした。そこで䜜成者の 1 人である日本 CTO 協䌚 DX Criteria WG の䜐藀 æ­©( @ahomu )さん(以䞋 ahomu さん)を講垫ずしおお招きしお講挔をしおいただきたしたので、そのレポヌトずなりたす。 今回の勉匷䌚開催の背景 今幎 4 月に Web フロント゚ンド版 DX Criteria が 発衚 されたのを芋お、内容的にメドレヌでも参考にできる郚分が非垞に倚いず思いたした。 䜜成者の 1 人である ahomu さんは筆者の前職同僚だったずいうこずもあり、勉匷䌚講垫を打蚺しお快諟いただいたため、開催の運びずなりたした。 勉匷䌚に぀いお 講挔の様子 今回は瀟倖から講垫をお招きするずいうこずもあり、勉匷䌚ぞは 25 名ほどの参加ずなりたした。 真剣に講挔を聞くメンバヌ 瀟内限定での勉匷䌚ずいうこずもあり、ahomu さんからも、メドレヌに合わせお濃いお話をしおいただきたした。 歎史を螏たえた昚今のフロント゚ンドの技術的な倉遷 珟代のフロント゚ンドの蚭蚈で重芖しなければならないポむントず提䟛するプロダクトの特性の関係 開発持続性を実珟するための、開発環境に぀いお Web フロント゚ンド版 DX Criteria の成り立ちや目的を、匊瀟の状況も亀じえながら解説 Web フロント゚ンド版 DX Criteria のそれぞれの項目に぀いお、匊瀟の状況を螏たえお解説 アセスメント埌に、どのような敎理をしお改善しおいけばよいかの指針に぀いお 䜳境に入った講挔の様子 䞊述したものは内容の䞀䟋で、党おをお䌝えできたせんが参加者がより Web フロント゚ンド版 DX Criteria を「メドレヌのプロダクト」ベヌスで考えられるような講矩を行なっおいただきたした。 参加者からも Web フロント゚ンド版 DX Criteria の内容を越えたフロント゚ンド技術に぀いおの質問なども飛び出しお、倧倉盛況のうちに終了したした。 改めおプロダクトのフロント゚ンド開発を事業発展にどのように繋げるかずいう芖点で考えるこずができた、非垞に有意矩な時間ずなりたした。 倚忙の䞭、今回の勉匷䌚講垫を快諟しおくださった ahomu さんに倧倉感謝しおおりたす。ありがずうございたした! ahomu さんず蚘念撮圱 さいごに メドレヌではこれからも機䌚があれば、瀟内の開発者向けに倖郚講垫を招聘しお勉匷䌚などを開いおいく予定です。 自分の技術を色々な角床から高めおいきたい!ず考えおいる゚ンゞニア・デザむナヌの方はぜひご連絡ください。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに 皆さん、こんにちは! ゚ンゞニア / ゚ンゞニア・デザむナヌ採甚担圓の平朚です。 匊瀟では瀟内の゚ンゞニアが定期・䞍定期で勉匷䌚を開催しおいたす。この勉匷䌚は、プロダクト開発の話はもちろんですが、各技術の最新情報の共有などを、事業郚に留たらず党瀟的に行う䌚ずなっおいたす。 11/15(金)にも瀟内勉匷䌚を開催したのですが、題材を Web フロント゚ンド版 DX Criteria に぀いおずしたした。そこで䜜成者の 1 人である日本 CTO 協䌚 DX Criteria WG の䜐藀 æ­©( @ahomu )さん(以䞋 ahomu さん)を講垫ずしおお招きしお講挔をしおいただきたしたので、そのレポヌトずなりたす。 今回の勉匷䌚開催の背景 今幎 4 月に Web フロント゚ンド版 DX Criteria が 発衚 されたのを芋お、内容的にメドレヌでも参考にできる郚分が非垞に倚いず思いたした。 䜜成者の 1 人である ahomu さんは筆者の前職同僚だったずいうこずもあり、勉匷䌚講垫を打蚺しお快諟いただいたため、開催の運びずなりたした。 勉匷䌚に぀いお 講挔の様子 今回は瀟倖から講垫をお招きするずいうこずもあり、勉匷䌚ぞは 25 名ほどの参加ずなりたした。 真剣に講挔を聞くメンバヌ 瀟内限定での勉匷䌚ずいうこずもあり、ahomu さんからも、メドレヌに合わせお濃いお話をしおいただきたした。 歎史を螏たえた昚今のフロント゚ンドの技術的な倉遷 珟代のフロント゚ンドの蚭蚈で重芖しなければならないポむントず提䟛するプロダクトの特性の関係 開発持続性を実珟するための、開発環境に぀いお Web フロント゚ンド版 DX Criteria の成り立ちや目的を、匊瀟の状況も亀じえながら解説 Web フロント゚ンド版 DX Criteria のそれぞれの項目に぀いお、匊瀟の状況を螏たえお解説 アセスメント埌に、どのような敎理をしお改善しおいけばよいかの指針に぀いお 䜳境に入った講挔の様子 䞊述したものは内容の䞀䟋で、党おをお䌝えできたせんが参加者がより Web フロント゚ンド版 DX Criteria を「メドレヌのプロダクト」ベヌスで考えられるような講矩を行なっおいただきたした。 参加者からも Web フロント゚ンド版 DX Criteria の内容を越えたフロント゚ンド技術に぀いおの質問なども飛び出しお、倧倉盛況のうちに終了したした。 改めおプロダクトのフロント゚ンド開発を事業発展にどのように繋げるかずいう芖点で考えるこずができた、非垞に有意矩な時間ずなりたした。 倚忙の䞭、今回の勉匷䌚講垫を快諟しおくださった ahomu さんに倧倉感謝しおおりたす。ありがずうございたした! ahomu さんず蚘念撮圱 さいごに メドレヌではこれからも機䌚があれば、瀟内の開発者向けに倖郚講垫を招聘しお勉匷䌚などを開いおいく予定です。 自分の技術を色々な角床から高めおいきたい!ず考えおいる゚ンゞニア・デザむナヌの方はぜひご連絡ください。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
こんにちは。医療プラットフォヌム本郚プロダクト開発宀 CLINICS 第二開発グルヌプ所属の髙橋です。 メドレヌは、2024 幎 11 月 23 日に九段坂䞊 KS ビルにお開催される JSConf JP 2024 にプレミアムスポンサヌずしお協賛したす。 今回は、来週末に控えおいる JSConf JP 2024 で発衚するスポンサヌワヌクショップの内容に぀いお玹介したす。 JSConf JP 2024 ずは JSConf JP は、䞀般瀟団法人 Japan Node.js Association が䞻催する JavaScript の祭兞です。 囜内はもちろん、海倖からも Web 開発者を招き、合蚈 4 トラックで Web 開発に関連する倚数のセッションが予定されおいたす。 公匏サむト https://jsconf.jp/2024/ スポンサヌワヌクショップでは React コンポヌネント蚭蚈に぀いお発衚したす 16:00 からトラック D にお、 クラりド蚺療支揎システム CLINICS の開発で実践しおいる React コンポヌネント蚭蚈に぀いお、開発䜓制や医療業務システムの芳点を螏たえお玹介したす。 培底解剖医療業務システムの React コンポヌネント蚭蚈 - 株匏䌚瀟メドレヌ | JSConf JP 【ワヌクショップタむトル】 培底解剖医療業務システムの React コンポヌネント蚭蚈 【ワヌクショップ詳现】 医療業務システムの Web フロント゚ンド開発では、高い安党性の芁求に応え぀぀、耇雑化する医療業務に察しお蚺療効率改善に぀ながる質の高いナヌザヌ䜓隓を提䟛するこずが求められたす。 加えお、長期利甚を芋据えた保守性の維持も重芁です。 これらの芁求に応えるため、私たちは玄 4 幎間の継続的なアヌキテクチャ改善を通しお React コンポヌネント蚭蚈を確立しおきたした。 本セッションでは、メドレヌの開発䜓制の背景を亀えながら、クラりド蚺療支揎システム CLINICS の Web フロント゚ンド開発で実践しおいる React コンポヌネント蚭蚈を玹介したす。 具䜓的には次の内容を予定しおいたす コンポヌネントレむダヌず分割粒床 独立性の高い耇合コンポヌネント蚭蚈ずデザむンパタヌン 代衚的なフロント゚ンドロゞックの分類ずそれぞれの実装手法 クロスファンクショナル非職胜別開発チヌムにおける Storybook 駆動開発の掻甚 開発速床ず品質を䞡立するためのテスト戊略 発衚予定内容の䞀郚コンポヌネント分割粒床の玹介 ブヌスでメドレヌの゚ンゞニアずお話したしょう トラック D がある 2F の Communication Area にブヌスを出展したす。 ブヌスでは、メドレヌのプロダクトや䜿甚技術、開発組織に぀いお、゚ンゞニアずざっくばらんに亀流できる堎を蚭ける予定です。 䌑憩゚リアの近くになっおいたすので、セッションの合間などにぜひお立ち寄りください。 おわりに 最埌たでお読み頂きありがずうございたした。 圓日のブヌスやワヌクショップでみなさたずお䌚いできるこずを楜しみにしおおりたす