プロローグ
最近何にも作っていなかったので、久しぶりに何か作ろうと思ってこれをやることにした。
いつも何かを作るのはいいけど、その道のりを残してないから、どうしてこうなった状態になることが多いので、今回は作業の進捗をここに書いていこうと思う。
まず、そもそもプログラマでもSEでもない個人的にPythonを触る程度の人なので全く知識がない!
そのため、ググるところから始めた。
参考にしたのは以下のサイト
【Keycloakについての説明】
https://majisemi.com/topics/oss/4949/
【AWSのサイトで構成例が書かれている】
①https://aws.amazon.com/jp/blogs/news/multitenancy-app-with-keycloak-closed-network/
目標と方針
目標はKeycloakからS3への連携までの実現。
方針は、上の②のサイトに記載されている構成でAWS環境に構築すること。
なんと、AWSのサイトのところでGithubにコードを公開してくれているではないか。
https://github.com/aws-samples/multitenancy-app-with-keycloak-closed-network
これを活用して構築していこう。
実現のための前提条件
そもそもGithubの使い方を知らない。
なんかコードが置いてあるところっていうイメージ。
まぁいいとりあえず、読んでみよう。
・・・
・・・・・・
・・・・・・・・・
Githubの説明が英語だよ。(R6.1_TOIEC370点だぜ☆)
まぁ翻訳が優れたこの時代、そこらの雑草に英語力は不要なんだぜ。
とりあえず前提条件として、以下をしなければいけないらしい。
・Create AWS Account
・Setup AWS CLI and profile
・Install Docker Desktop
・Install Node.js >= 18.18.2
・Createing and importing the following certificates in AWS Certificate Manager (ACM). Please see Importing certificates into AWS ACM if you need.
-Keycloak (keycloak.multitenancy.com)
-Keycloak for Admin console(admin.keycloak.multitenancy.com)
-Web application
・Shared NLB (*.nuxt3.keycloak.multitenancy.com)
・Dedicated NLB (c-corp.keycloak.multitenancy.com)
うむぅ。
とりま、自環境の確認。
DockerDesktop :OK
node.js :OK(v21.5.0)
AWS Account :OK
AWS CLI :NG
最後の奴 :よくわからん。
とりあえずAWS CLIを入れよう。
AWS CLIのインストール
以下のサイトからAWS CLIのインストーラのダウンロードして実行。
普通に必要なところをチェックして、OKボタンを押していくだけ。
なんか専用のコマンドプロンプトみたいなアプリがインストールされるのかと思ったがそうじゃない。
コマンドプロンプトを立ち上げて、以下を入力してなんか表示されるとインストールできていることを確認できる。
>aws --version
aws-cli/2.17.0 Python/3.11.8 Windows/10 exe/AMD64
次に認証情報などを収集して設定する。(日本語訳がおかしいけど気にしない)
認証方法はいろいろあるらしいけど、推奨となっている「IAM ID センターのワークフォースユーザー、短期認証情報」を基に、行ってみる。
まずは、IAM Identity Centerにおいてユーザーを作成しなければいけないらしいので、以下を参考に設定していく。
ここまでで、自分のアカウントに対してCLI用のユーザが紐づられた状態になっている。
権限は既存のAdministratorAccessとした。
「自動認証更新で~」のページの「次の手順を実行して IAM ID センターの情報を収集します。」のところでアクセスキーどこやねんというので少し詰まったけど、SSOのポータル(AWS アクセスポータルとかいうやつ)のところにあった。
アクセスするAWSアカウントをクリックすると、IAM Identity Centerで作成した許可ポリシーのよこにアクセスキーの情報がある。
その後、コマンドプロンプトから当該ページに書かれているように、
SSO session name (Recommended): my-sso (任意の名前で行けた)
SSO start URL [None]: https://my-sso-portal.awsapps.com/start(ポータルで取得したURL)
SSO region [None]: (ポータルで取得したリージョン)
SSO registration scopes [None]: sso:account:access (なんか色々あるけどこのままで行けた。)
上記を入力したらブラウザーが立ち上がって許可を求めてくるのでOK連打。
これで、Profile含めて設定ができたようだ。
なんか、100行超えたので一旦ここで切る。
とりあえず2か月を目標に土日にちょこちょこ調べて更新していこうと思う。