|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
Google OAuthの設定
組織がユーザー認証にG Suiteを使用している場合、Rancherを設定してユーザーがG Suiteの資格情報を使用してログインできるようにすることができます。
G Suiteドメインの管理者のみがAdmin SDKにアクセスできます。したがって、G Suiteの管理者のみがRancherのためにGoogle OAuthを設定できます。
Rancher内では、管理者または*認証の管理* グローバルロールを持つユーザーのみが認証を設定できます。
前提条件
-
G Suite管理者アカウントを設定している必要があります。
-
G Suiteでは、認可されたドメインとして トッププライベートドメインFQDNが必要です。FQDNを取得する方法の一つは、RancherサーバーのためにRoute53でAレコードを作成することです。そのレコードでRancherサーバーのURL設定を更新する必要はありません。なぜなら、そのURLを使用しているクラスターが存在する可能性があるからです。
-
G SuiteドメインのためにAdmin SDK APIを有効にする必要があります。 このページの手順を使用して有効にできます。
Admin SDK APIが有効になると、G SuiteドメインのAPI画面は次のようになります:
RancherでOAuth用のG Suiteの設定
RancherでGoogle OAuthを設定する前に、G Suiteアカウントにログインし、次のことを行う必要があります:
1.Rancherを認可されたドメインとして追加する
-
Googleドメインの資格情報ページに移動するには、 こちらをクリックしてください。
-
プロジェクトを選択し、*OAuth同意画面*をクリックします。
-
*認可されたドメイン*に移動し、RancherサーバーURLのトッププライベートドメインをリストに入力します。トッププライベートドメインは、最も右側のスーパードメインです。例えば、www.foo.co.ukはfoo.co.ukのトッププライベートドメインです。トップレベルドメインに関する詳細は、 この記事を参照してください。
-
Google APIのスコープ*に移動し、*email, *プロファイル*および*openid*が有効になっていることを確認してください。
*結果:*RancherはAdmin SDK APIの認可されたドメインとして追加されました。
2.RancherサーバーのためのOAuth2資格情報を作成する
-
Google APIコンソールに移動し、プロジェクトを選択して、 資格情報ページに移動します。
-
*資格情報を作成*のドロップダウンで、*OAuthクライアントID*を選択します。
-
*Webアプリケーション*をクリックします。
-
名前を入力してください。
-
*認可されたJavaScriptオリジン*と*認可されたリダイレクトURI*を記入してください。注意:Google OAuthを設定するためのRancher UIページ(のグローバルビューから利用可能)は、このステップで入力する正確なリンクを提供します。
-
*認可されたJavaScriptオリジン、*にRancherサーバーURLを入力します。
-
*認可されたリダイレクトURI、*にRancherサーバーURLにパス`verify-auth`を追加して入力します。たとえば、URIが`https://rancherServer
の場合、https://rancherServer/verify-auth`を入力します。
-
-
*Create*をクリックします。
-
資格情報が作成されると、資格情報のリストが表示される画面が見えます。作成した資格情報を選択し、その行の最右側で*Download JSON*をクリックします。ファイルを保存して、これらの資格情報をRancherに提供できるようにします。
*結果:*OAuth資格情報が正常に作成されました。
3.サービスアカウント資格情報の作成
Google Admin SDKは管理者のみが利用できるため、一般ユーザーは他のユーザーやグループのプロファイルを取得することはできません。一般ユーザーは自分のグループさえ取得できません。
Rancherはグループベースのメンバーシップアクセスを提供するため、ユーザーが自分のグループを取得し、必要に応じて他のユーザーやグループを検索できることを要求します。
この機能を取得するための回避策として、G Suiteはサービスアカウントを作成し、そのサービスアカウントにG Suiteドメインの権限を委任することを推奨しています。
この節では、次の操作手順について説明します。
-
サービスアカウントを作成します。
-
サービスアカウントのキーを作成し、資格情報をJSON形式でダウンロードします。
-
こちらをクリックし、OAuth資格情報を生成したプロジェクトを選択します。
-
*Create Service Account*をクリックします。
-
名前を入力し、*Create*をクリックします。
-
*サービスアカウントの権限*ページで役割を提供せず、*続行*をクリックします。
-
*Create Key*をクリックし、JSONオプションを選択します。JSONファイルをダウンロードして保存し、それをRancherにサービスアカウントの認証情報として提供できるようにします。
-
*結果:*サービスアカウントが作成されました。
4.サービスアカウントキーをOAuthクライアントとして登録します。
前のステップで作成したサービスアカウントにいくつかの権限を付与する必要があります。Rancherでは、ユーザーとグループに対して読み取り専用の権限のみを付与する必要があります。
サービスアカウントキーのユニークIDを使用して、次の手順でOAuthクライアントとして登録します:
-
作成したキーのユニークIDを取得します。作成したキーのすぐ隣に表示されていない場合は、それを有効にする必要があります。有効にするには、*ユニークID*をクリックし、*OK*をクリックします。これにより、サービスアカウントキーのリストに*ユニークID*列が追加されます。作成したサービスアカウントにリストされているものを保存します。NOTE:これは数値キーであり、英数字フィールド*キーID*と混同しないでください。
-
前のステップで取得したユニークIDを*クライアント名*フィールドに追加します。
-
*1つ以上のAPIスコープ*フィールドに、次のスコープを追加します:
openid,profile,email,https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.group.readonly
-
*承認*をクリックします。
*結果:*サービスアカウントは、あなたのG SuiteアカウントにOAuthクライアントとして登録されました。
RancherでのGoogle OAuthの設定
-
管理者ロールが割り当てられたローカルユーザーを使用してRancherにサインインします。このユーザーはローカルプリンシパルとも呼ばれます。
-
左上隅で、*☰ > ユーザーと認証*をクリックします。
-
左側のナビゲーションメニューで、*認証プロバイダー*をクリックします。
-
*Google*をクリックします。UIの指示には、Google OAuthでの認証設定手順が含まれています。
-
管理者のメールアドレス:G Suiteのセットアップから管理者アカウントのメールアドレスを提供してください。ユーザーおよびグループの検索を行うために、Google APIはサービスアカウントキーと共に管理者のメールアドレスを必要とします。
-
ドメイン:G Suiteを設定したドメインを提供してください。エイリアスは使用せず、正確なドメインを提供してください。
-
ネストされたグループメンバーシップ:このボックスにチェックを入れて、ネストされたグループメンバーシップを有効にします。Rancherの管理者は、認証設定後にいつでもこれを無効にできます。
-
*ステップ1*は、Rancherを承認されたドメインとして追加することに関するもので、これはこのセクションで既に説明しました。
-
*ステップ2、*では、このセクションを完了した後にダウンロードしたOAuth資格情報のJSONを提供してください。ファイルをアップロードするか、*OAuth資格情報*フィールドに内容を貼り付けることができます。
-
*ステップ3、*では、このセクションの最後にダウンロードしたサービスアカウント資格情報のJSONを提供してください。資格情報は、G SuiteアカウントでOAuthクライアントとしてサービスアカウントキーを正常に登録した場合にのみ機能します。
-
-
-
*Googleで認証する*をクリックします。
-
[*有効]*をクリックします。
*結果:*Google認証が正常に設定されました。