旧バージョンのドキュメントを参照しています。 最新のドキュメントはこちらをご参照ください。
Kong Gatewayを安全に起動する
Admin APIまたはKong Managerを保護するために、スーパー管理者アカウントが必要です。
スーパー管理者は他の管理者を招待する権限を持ち、 ワークスペース内でロール権限に基づいてアクセスを 制限します。
最初のスーパー管理者アカウントは、以下のガイドに従ってデータベース移行中に作成されます。追加できるのは1回のみです。
前提条件
Kong Gatewayをインストールした後、 設定ファイルを変更するか、次のプロパティで環境変数を設定します。
-
enforce_rbac
は、すべてのAdmin APIリクエストにKong-Admin-Token
を要求するように強制します。Kong-Admin-Token
に関連付けられている管理者は、リクエストを成功させるために適切な権限を持っている必要があります。 -
Kong Managerを使用する場合は、管理者がログインに使用する認証の種類を選択します。このガイドの目的では、
admin_gui_auth
をbasic-auth
に設定することができます。他のタイプの認証については、Kong Managerの保護を参照してください。 ベーシック認証を使用して RBAC を構成します。
重要: 以下の設定は、デフォルトの
admin_listen
設定をオーバーライドして、あらゆるソースからのリクエストをリッスンするため、非本番環境での使用 のみ を目的としています。インターネットに直接公開される環境では、これらの設定を使用 しない でください。
本番環境で「admin_listen」ポートをインターネットに公開する必要がある場合は、 [secure it with authentication](/gateway/3.4.x/production/running-kong/secure-admin-api/).
enforce_rbac = on
admin_gui_auth = basic-auth
admin_gui_session_conf = {"secret":"secret","storage":"kong","cookie_secure":false}
admin_listen = 0.0.0.0:8001, 0.0.0.0:8444 ssl
Kong Managerはバックグラウンドでセッションプラグインを使用します。このプラグイン(admin_gui_session_conf
で構成)にはシークレットが必要であり、デフォルトで安全に構成されています。
- どのような状況においても、
secret
は手動で文字列に設定する必要があります。 - HTTPS ではなく HTTP を使用する場合は、
cookie_secure
を手動でfalse
に設定する必要があります。 - Admin API と Kong Manager に異なるドメインを使用する場合は、
cookie_same_site
をLax
に設定する必要があります。
これらのプロパティの詳細については、Kong ManagerのSessionセキュリティを参照し、構成例を確認してください。
手順1
スーパー管理者のパスワードを設定します。この環境変数は、データベースの移行が実行される環境に存在している必要があります。
重要 : 4 つのティックを含む値 (たとえば、
KONG_PASSWORD="a''a'a'a'a"
) を使用して Kong パスワード (KONG_PASSWORD
) を設定すると、ブートストラップ時に PostgreSQL 構文エラーが発生します。 パスワードに特殊文字を使用しないことで、この問題を回避できます。
export KONG_PASSWORD=<password-only-you-know id="sl-md0000000">
これにより、Kong Manager へのログインに使用できるユーザー、kong_admin
、パスワードが自動的に作成されます。このパスワードは、Admin APIリクエストを行うためのKong-Admin-Token
としても使用できます。
注: この方法で作成できるスーパー管理者は1人のみで、データベースの新規インストールでのみ作成できます。移行中に作成されていない場合は、前提条件で設定を元に戻し、Kong Manager で新しいユーザーをスーパー管理者として招待します。
今後の移行では、パスワードが更新されたり、追加のスーパー管理者が作成されたりすることはありません。 スーパー管理者を追加するには、 Kong Manager で新しいユーザーをスーパー管理者として招待します。
ステップ2
次のコマンドを発行して、Kongの移行を実行してデータストアを準備します。
kong migrations bootstrap [-c /path/to/kong.conf]
ステップ3
Kongを起動します。
kong start [-c /path/to/kong.conf]
注: CLIは構成オプション(-c /path/to/kong.conf
)を受け入れて、ユーザーが独自の構成を指すことができるようにします。
ステップ4
Kong Gatewayがスーパー管理者として正常に起動したかどうかをテストするには、
Kong ManagerのURLにアクセスしてください。デフォルトでは、ポート:8002
にあります。
ユーザー名はkong_admin
で、パスワードはステップ 1に
設定されています。