Azure AD シングルサインオン(デプロイメントプラン)¶
Azure Active Directory (Azure AD) は、Microsoft が提供するクラウドベースの ID およびアクセス管理サービスです。企業が内部および外部のリソースを管理するのに役立ちます。
一、シングルサインオンに必要な主要な構成情報の取得¶
Azure AD によるシングルサインオンで Guance デプロイメントプランにログインするには、次の 3 つの主要な構成情報が必要です。
| 構成項目 | 説明 |
|---|---|
| wellKnowURL | アプリケーションに対応する OIDC エンドポイント構成アドレス。完全な https://xxx.xxx.com/xx/.well-known/openid-configuration アドレスです。 |
| clientSecret | クライアントシークレット値。 |
| clientId | アプリケーション(クライアント)ID |
1、Azure AD アプリケーションの作成¶
1)Microsoft ポータルで Azure アカウントを作成します。
Azure Active Directory 管理センター にアクセスし、管理 Azure Active Directory の下にある 表示 > アプリの登録 をクリックします。
アプリの登録 ページで 新規登録 をクリックします。
2)新しいアプリケーションを作成します。
アプリケーションの登録 ページで 名前 を入力し、サポートされるアカウントの種類は 任意の組織のディレクトリ を選択し、リダイレクト URI は Web を選択します。登録 をクリックすると、新しいアプリケーションが作成されます。下図のように、アプリケーション名を "Guance デプロイメントプラン" とします。
2、新しいアプリケーションの基本構成の完了¶
1)新しいアプリケーションを作成すると、デフォルトで 概要 ページが表示されます。アプリの登録 > すべてのアプリケーション で、作成したアプリケーションを確認できます。
注意: ここでの アプリケーション(クライアント)ID が、OIDC クライアント構成の clientId です。
2)クライアント資格情報の追加:
注意: ここでのリストの 値 が、OIDC クライアント構成の clientSecret 値です。すぐに保存してください!
3)トークン構成 > オプションのクレームを追加 ページに移動し、グループ クレームを追加 します。追加が完了すると、groups レコードが生成されます。
同時に、トークンの種類 ID と アクセス に対して、図示されたクレームを選択し、ログインしているクライアントが関連するトークンデータを取得できるようにします。
4)API のスコープを追加します。API の公開 に移動し、次のスコープを追加します:User.Read、User.Read.All、GroupMember.Read.All、Group.Read.All。スコープの追加 をクリックして、このアプリケーションクライアントに図示された 4 つのアクセス許可を公開します。
5)前の手順で 4 つのスコープを追加した後、クライアントアプリケーションに承認を追加します。API のアクセス許可 に移動します。
- まず Microsoft インターフェースのアクセス許可を選択します。
- 次に、アプリケーションが必要とする対応するアクセス許可を選択します。
現在のテナント管理者として同意を与える必要があります。
注意: クライアント ID は アプリケーション(クライアント)ID です。
3、アプリケーションの OIDC プロトコルエンドポイントアクセスアドレス情報の取得¶
アプリの登録 > エンドポイント で、OIDC クライアント構成の WellKnowURL の値は次のとおりです:https://login.microsoftonline.com/consumers/v2.0/.well-known/openid-configuration。
OpenID 構成ドキュメント URI の詳細については、Microsoft ID プラットフォームでの OpenID Connect を参照してください。
これで、3 つの主要な構成情報の取得が完了しました。
二、Azure AD アプリケーション内のユーザーグループの構成¶
1)ホームページに戻り、グループ > 新しいグループ に移動します。
2)グループの種類 を選択します。
- セキュリティ:コンピューターおよび共有リソースへのユーザーとコンピューターのアクセス権を管理するために使用します。
- Microsoft 365:メンバーに共有メールボックス、カレンダー、ファイル、SharePoint サイトなどへのアクセス権を付与することで、コラボレーションの機会を提供します。
3)グループ名 を入力し、必要に応じてグループの説明を追加します。
4)所有者 または メンバー を追加します。
- 「所有者」または「メンバー」の下のリンクを選択して、ディレクトリ内の各ユーザーのリストを入力します。
- リストからユーザーを選択し、ウィンドウの下部にある「選択」ボタンをクリックします。
4)作成 をクリックします。
三、エンタープライズアプリケーション構成の設定¶
1、アプリケーションに移動し、概要 > セルフサービス を選択します。
2、ユーザーがこのアプリケーションへのアクセスを要求することを許可し、割り当てられたユーザーを追加するグループを決定します。
3、アプリケーション > ユーザーとグループ で、ログインを許可するグループとユーザーを追加します。
4、アプリケーション > シングルサインオン で、groups の属性クレームが存在することを確認できます。
三、Guance Launcher での関連構成¶
1)Guance Launcher の ネームスペース:forethought-core > core で、Azure AD の基本情報を構成します。
# OIDC クライアント構成(この項目で wellKnowURL が構成されている場合、KeyCloakPassSet 構成項目は自動的に無効になります)
OIDCClientSet:
# OIDC エンドポイント構成アドレス。完全な `https://xxx.xxx.com/xx/.well-known/openid-configuration` アドレスです。
wellKnowURL:
# 認証サービスによって提供されるクライアント ID
clientId:
# クライアントのシークレットキー
clientSecret:
# 認証方式。現在は authorization_code のみサポート
grantType: authorization_code
# リクエスト内の証明書認証の有効/無効
verify: false
# 証明書パスリスト。.crt と .key ファイルのパスを順に入力
cert:
# トークン取得インターフェースの認証方式。basic:リクエストヘッダーの Authorization 内、post_body:リクエストボディ内
fetchTokenVerifyMethod: basic
# データアクセス範囲
scope: "openid profile email address"
# 【内部構成のためユーザーによる調整は不要】認証サーバー認証成功後のコールバックアドレス
innerUrl: "{}://{}/oidc/callback"
# 【内部構成のためユーザーによる調整は不要】認証サーバー認証成功後に DF システムにコールバックした後、DF システムがユーザー情報を取得してフロントエンドの中間ページにリダイレクトするアドレス
frontUrl: "{}://{}/tomiddlepage?uuid={}"
# 認証サービスから取得したアカウント情報と DF システムアカウント情報フィールドのマッピング関係構成。必須項目は username、email、exterId、オプション項目は mobile
mapping:
# 認証サービスにおけるログインアカウントのユーザー名フィールド名。必須。値が存在しない場合は email を使用
username: preferred_username
# 認証サービスにおけるログインアカウントのメールフィールド名。必須
email: email
# 認証サービスにおけるログインアカウントの電話番号フィールド名。オプション
mobile: phone_number
# 認証サービスにおけるログインアカウントの一意識別子フィールド名。必須
exterId: sub
参考例の図:
2)Guance Launcher の ネームスペース:forethought-webclient > frontNginx で、リダイレクト情報を構成します。
server {
listen 80;
# 注意:ここでの server_name サービス名は、フロントエンドアクセスアドレスのドメイン名です
server_name cloudcare.cn, daily-ft2x.cloudcare.cn;
location / {
root /config/cloudcare-forethought-webclient;
index index.html;
try_files $uri $uri/ /index.html;
if ($request_filename ~* .*\.(?:htm|html)$)
{
add_header Cache-Control "no-cache, no-store";
}
}
# =========OIDC プロトコル リダイレクト関連構成の開始=========
# リクエストを直接 Inner API のインターフェースにリダイレクト =========開始=========
# このアドレスは、サードパーティログイン時のアクセスアドレスです。必要に応じて変更可能ですが、proxy_pass に対応するルートアドレスは変更不可
location /oidc/login {
proxy_connect_timeout 5;
proxy_send_timeout 5;
proxy_read_timeout 300;
proxy_http_version 1.1;
proxy_set_header Connection "keep-alive";
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
proxy_pass http://inner.forethought-core:5000/api/v1/inner/oidc/login;
}
# このアドレスは、サードパーティサービスが OIDC プロトコル認証を通過した後に、本サービスをコールバックする現在のアドレスです。このアドレスは、【3.2.1】構成の OIDCClientSet 構成項目の innerUrl 構成と直接関連します。このアドレスを変更する場合は、innerUrl と同期して変更する必要があります。proxy_pass の対応する値は変更不可
location /oidc/callback {
proxy_connect_timeout 5;
proxy_send_timeout 5;
proxy_read_timeout 300;
proxy_http_version 1.1;
proxy_set_header Connection "keep-alive";
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
proxy_pass http://inner.forethought-core:5000/api/v1/inner/oidc/callback;
}
# =========OIDC プロトコル リダイレクト関連構成の終了=========
}
参考例の図:
3)Guance Launcher の ネームスペース:forethought-webclient > frontWeb で、Azure AD ユーザーが Guance デプロイメントプランにログインするためのエントリアドレスを構成します。
window.DEPLOYCONFIG = {
......
paasCustomLoginInfo:[
{ "iconUrl":"xxx", "label": "xxx", "url": "xxxx" ,desc:"xxx"}
]
......
};
注意:server_name は、Guance ログインページアドレスのドメイン名です。
参考例の図:
1) 構成が完了したら、更新された 構成の変更 をチェックし、再起動を確認します。
四、Azure AD アカウントを使用した Guance へのシングルサインオン¶
すべての構成が完了したら、シングルサインオンで Guance にログインできます。
1)Guance デプロイメントプランのログインアドレスを開き、ログインページで Azure AD シングルサインオン を選択します。
2)Azure AD で構成したメールアドレスを入力します。
3)ログインパスワードを更新します。
4)Guance の対応するワークスペースにログインします。
Warning
- 「現在のアカウントはどのワークスペースにも参加していません。管理バックエンドに移動して、このアカウントをワークスペースに追加してください。」と表示された場合は、Guance 管理バックエンドにログインして、ユーザーにワークスペースを追加する必要があります。
詳細については、デプロイメントプランワークスペース管理 を参照してください。
Guance 管理バックエンドでユーザーにワークスペースを追加すると、ユーザーは Guance を使用できるようになります。






























