Single Sign-On (SSO) in Azure

{ヒント style="info" %}。 Syntho beta feature

はじめに

シングルサインオン(SSO)を設定するには, というアプリケーションを調整する必要がある。 backend.変更が必要な正確な場所は、デプロイ方法(KubernetesまたはDocker Compose)によって異なります;

Kubernetes (Helmチャート)

前述の環境変数は、HelmチャートのYAMLパスで backend.env.その一例がこれだ。:

``yaml バックエンド: 羨望: SSO_PROVIDER: アジュール SSO_CLIENT_ID: sso_client_secret: SSO_TENANT: メール・ログイン有効: 真


### Docker Compose

Docker Composeを使う場合, Docker Composeファイルを調整する必要があります。バックエンドのアプリケーションは、ここでも調整できます, この場合, 環境変数を追加するには、既存のリストに直接追加する必要がある。この例:

``yaml
バージョン: '3'

サービス:
  バックエンド:
    イメージ: バックエンド画像
    再起動: 失敗時
    環境:
      ...
      SSO_PROVIDER: アジュール
      SSO_CLIENT_ID: <your-client-id>
      sso_client_secret: <your-client-secret>
      SSO_TENANT: <Azure Tenant ID>

ユーザー名とパスワードでログイン

デフォルト, Syntho ユーザーはユーザー名とパスワードを使ってログインできます。ユーザー名とパスワードでのログインを無効にするには, 環境変数を設定する USERNAME_PASSWORD_LOGIN_ENABLED への False.

シングルサインオン

Syntho は外部の ID プロバイダーを使ったサインインをサポートしています。以下のリストにない場合は、OpenID Connect プロバイダを使用してください。

OpenID Connect

外部アプリケーションからのアクセスを設定するには、ID プロバイダーのドキュメントを参照してください。

Syntho, 以下を設定する。, コールバックURLは https://<my-syntho-domain>/api/v1/oidc/callback/.コールバックURLは、発行者URLまたはリダイレクトURLとも呼ばれる。

Syntho のデプロイ時に以下の環境変数を指定してください。:

  • SSO_PROVIDER=generic

  • SSO_CLIENT_ID=<your-client-id>

  • SSO_CLIENT_SECRET=<your-client-secret>

  • SSO_AUTHORIZATION_ENDPOINT=<your-authorization-endpoint>

  • SSO_TOKEN_ENDPOINT=<your-authorization-endpoint>

  • SSO_USER_ENDPOINT=<your-user-endpoint>

  • SSO_JWKS_ENDPOINT=<your-jwks-endpoint>

アジュール

最初, に Syntho をアプリケーションとして登録します。 Azure Active Directory Portal:

1.Azure Active Directoryを選択します。, 次にアプリ登録に進み、新規登録を選択します。

2.名前を入力, 例えば、Syntho.リダイレクトURI, を選択し、そのURLを入力します。 /api/v1/oidc/callback/ エンドポイントを使用します。

3.アプリケーション(クライアント)ID」と「ディレクトリ(テナント)ID」をコピーする。, これらの値は後で使用される。

4."証明書と秘密 "をクリックする。, をクリックし、"New client secret "を選択します。名前を入力します。, 例えばシンセ, 有効期限を選択し、"追加 "をクリック

5.クライアント・シークレットの値をコピーする。この値は一度しか表示されません。この値を紛失した場合, シークレットを削除し、新しいシークレットを作成する。

6.左のメニュー, "APIパーミッション "を選択する, 次に "許可を追加 "をクリックします。

7.Microsoft Graph "を選択する。

8."権限の委譲 "を選択する。

9.以下の権限を追加する。, 次に "アクセス許可を追加 "を選択する

  • OpenIdパーミッション

    • 電子メール

    • オフラインアクセス

    • オープニド

    • プロフィール

  • グループメンバー

    • グループメンバー

  • ユーザー

    • ユーザー

10."あなたのディレクトリ "の管理者同意を許可する "を選択する。

11.管理者の同意を得た後, すべてのパーミッションに緑色のチェックマークがついているはずです。

AzureにSynthoを登録した後, 以下の環境変数を設定する。:

  • SSO_PROVIDER=Azure

  • SSO_CLIENT_ID=<Azure Client ID>

  • SSO_CLIENT_SECRET=<Azure Client Secret>

  • SSO_TENANT_ID=<Azure Tenant ID>

グループ

{ヒント style="info" %}。 Upcoming feature

IDプロバイダがグループをサポートしている場合, これらのグループは、ユーザーが ID プロバイダを使用してサインインすると、Syntho で自動的に作成されます。これらのグループはワークスペースの権限を割り当てるために使用できます。

ID プロバイダーからのグループは SSO_GROUP_FILTER_REGEX 環境変数である。この環境変数が設定されている場合, 指定された正規表現に一致するグループだけが Syntho に作成されます。

管理者アクセス

シングルサインオンが有効な場合, 環境変数 SSO_ADMINS.この環境変数はコンマで区切られたメールアドレスのリストを想定しています。ユーザーがシングルサインオンプロバイダーで Syntho に初めてログインするとき, その電子メールアドレスが環境変数, 作成されたユーザーは管理者になります。

この環境変数を使って管理者になるのは最初のログイン時だけで、連続ログイン時にはならないことに注意してください。これは、連続ログインでユーザーが再び管理者になるのを防ぐために Syntho を再デプロイする必要がないようにするためです。

制限事項

  • Limited Provider Support: シングルサインオン(SSO)は現在、Azure Active Directoryでのみサポートされています。

  • Scope of SSO: SSOはSynthoプラットフォームへのログインには使用できますが、データベース接続には使用できません。データベースへのアクセス, の場合は、従来のユーザー名とパスワードを使用する必要があります。

これらの制限を理解することで、Syntho でシングルサインオンを使用する範囲と制限をよりよく理解することができます。

Last updated