0
0

AWSでKeycloakを動かしてみよう。

Last updated at Posted at 2024-06-23

プロローグ

最近何にも作っていなかったので、久しぶりに何か作ろうと思ってこれをやることにした。
いつも何かを作るのはいいけど、その道のりを残してないから、どうしてこうなった状態になることが多いので、今回は作業の進捗をここに書いていこうと思う。

まず、そもそもプログラマでも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ボタンを押していくだけ。

なんか専用のコマンドプロンプトみたいなアプリがインストールされるのかと思ったがそうじゃない。

コマンドプロンプトを立ち上げて、以下を入力してなんか表示されるとインストールできていることを確認できる。

cmd
>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か月を目標に土日にちょこちょこ調べて更新していこうと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0