💡 概要

本書は IDaaS である Okta を Web コンソールではなく、コード上で設定を定義・反映できる仕組みを構築してみようというチュートリアルとなります。

コード管理の仕組みは Terraform を使います。

Okta が Terraform の Provider を公式で提供してくれているのでこれを使うことで、Okta の設定もコードで書いて Okta に反映できます。

本書では以下ができるようになることを目指します。

  • Okta の設定をコードで定義し、GitHub を使って履歴管理できるようにする。
    • 変更時は Pull Request をチーム内レビューしてもらうことで、変更内容の共有ができるようにする。
  • GitHub Actions を使い、コードに書いた設定を Okta に自動で反映させるようにする。
  • コードで管理している設定が Web コンソール上で書き換えられてしまうと、コード管理・履歴管理の意味がないので Web で変更されたことを検知できるようにする。

❓ そもそもTerraformとは

https://github.com/hashicorp/terraform

IaC の思想にのっとり、インフラのコード管理を行うツールです。

AWS や GCP などのクラウドサービスに対して設定をコードで書くことができ、書いたコードのままにサービスに設定を反映できます。

Terraform ではクラウドサービスに定義する設定を「リソース」と呼びます。

🙋 注意点

本書では想定読者として以下を想定しています。

  • Git・GitHub を使ったことがあり、コミットやブランチの概念を理解している。
  • AWS を扱ったことがあり、AWS のコンソールに IAM ユーザーでログインできる。また、アクセスキーとシークレットアクセスキーの取り扱い方法を理解している。

開発環境は macOS 環境を想定しています。それ以外の方は適宜読み替えてください。

また、本書では様々な箇所にコードサンプルを記載しますが、ファイルの保存場所はコードブロック内に表記します。
例えば、以下の HTML のコードはリポジトリのルートから見てsrcフォルダ内のindex.htmlファイルに保存となります。

./src/index.html
<html>
  <header></header>
  <body>
    <p>hello world.</p>
  </body>
</html>