この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

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画面は次のようになります:

    管理APIを有効にする

RancherでOAuth用のG Suiteの設定

RancherでGoogle OAuthを設定する前に、G Suiteアカウントにログインし、次のことを行う必要があります:

1.Rancherを認可されたドメインとして追加する

  1. Googleドメインの資格情報ページに移動するには、 こちらをクリックしてください。

  2. プロジェクトを選択し、*OAuth同意画面*をクリックします。

    OAuth同意画面
  3. *認可されたドメイン*に移動し、RancherサーバーURLのトッププライベートドメインをリストに入力します。トッププライベートドメインは、最も右側のスーパードメインです。例えば、www.foo.co.ukはfoo.co.ukのトッププライベートドメインです。トップレベルドメインに関する詳細は、 この記事を参照してください。

  4. Google APIのスコープ*に移動し、*email, *プロファイル*および*openid*が有効になっていることを確認してください。

*結果:*RancherはAdmin SDK APIの認可されたドメインとして追加されました。

2.RancherサーバーのためのOAuth2資格情報を作成する

  1. Google APIコンソールに移動し、プロジェクトを選択して、 資格情報ページに移動します。

    資格情報
  2. *資格情報を作成*のドロップダウンで、*OAuthクライアントID*を選択します。

  3. *Webアプリケーション*をクリックします。

  4. 名前を入力してください。

  5. *認可されたJavaScriptオリジン*と*認可されたリダイレクトURI*を記入してください。注意:Google OAuthを設定するためのRancher UIページ(セキュリティ  認証  Googleのグローバルビューから利用可能)は、このステップで入力する正確なリンクを提供します。

    • *認可されたJavaScriptオリジン、*にRancherサーバーURLを入力します。

    • *認可されたリダイレクトURI、*にRancherサーバーURLにパス`verify-auth`を追加して入力します。たとえば、URIが`https://rancherServerの場合、https://rancherServer/verify-auth`を入力します。

  6. *Create*をクリックします。

  7. 資格情報が作成されると、資格情報のリストが表示される画面が見えます。作成した資格情報を選択し、その行の最右側で*Download JSON*をクリックします。ファイルを保存して、これらの資格情報をRancherに提供できるようにします。

*結果:*OAuth資格情報が正常に作成されました。

3.サービスアカウント資格情報の作成

Google Admin SDKは管理者のみが利用できるため、一般ユーザーは他のユーザーやグループのプロファイルを取得することはできません。一般ユーザーは自分のグループさえ取得できません。

Rancherはグループベースのメンバーシップアクセスを提供するため、ユーザーが自分のグループを取得し、必要に応じて他のユーザーやグループを検索できることを要求します。

この機能を取得するための回避策として、G Suiteはサービスアカウントを作成し、そのサービスアカウントにG Suiteドメインの権限を委任することを推奨しています。

この節では、次の操作手順について説明します。

  • サービスアカウントを作成します。

  • サービスアカウントのキーを作成し、資格情報をJSON形式でダウンロードします。

    1. こちらをクリックし、OAuth資格情報を生成したプロジェクトを選択します。

    2. *Create Service Account*をクリックします。

    3. 名前を入力し、*Create*をクリックします。

      サービスアカウント作成 ステップ1
    4. *サービスアカウントの権限*ページで役割を提供せず、*続行*をクリックします。

      サービスアカウント作成 ステップ2
    5. *Create Key*をクリックし、JSONオプションを選択します。JSONファイルをダウンロードして保存し、それをRancherにサービスアカウントの認証情報として提供できるようにします。

      サービスアカウント作成 ステップ3

*結果:*サービスアカウントが作成されました。

4.サービスアカウントキーをOAuthクライアントとして登録します。

前のステップで作成したサービスアカウントにいくつかの権限を付与する必要があります。Rancherでは、ユーザーとグループに対して読み取り専用の権限のみを付与する必要があります。

サービスアカウントキーのユニークIDを使用して、次の手順でOAuthクライアントとして登録します:

  1. 作成したキーのユニークIDを取得します。作成したキーのすぐ隣に表示されていない場合は、それを有効にする必要があります。有効にするには、*ユニークID*をクリックし、*OK*をクリックします。これにより、サービスアカウントキーのリストに*ユニークID*列が追加されます。作成したサービスアカウントにリストされているものを保存します。NOTE:これは数値キーであり、英数字フィールド*キーID*と混同しないでください。

    サービスアカウント ユニークID
  2. *ドメイン全体の委任*ページに移動します。

  3. 前のステップで取得したユニークIDを*クライアント名*フィールドに追加します。

  4. *1つ以上のAPIスコープ*フィールドに、次のスコープを追加します:

     openid,profile,email,https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.group.readonly
  5. *承認*をクリックします。

*結果:*サービスアカウントは、あなたのG SuiteアカウントにOAuthクライアントとして登録されました。

RancherでのGoogle OAuthの設定

  1. 管理者ロールが割り当てられたローカルユーザーを使用してRancherにサインインします。このユーザーはローカルプリンシパルとも呼ばれます。

  2. 左上隅で、*☰ > ユーザーと認証*をクリックします。

  3. 左側のナビゲーションメニューで、*認証プロバイダー*をクリックします。

  4. *Google*をクリックします。UIの指示には、Google OAuthでの認証設定手順が含まれています。

    1. 管理者のメールアドレス:G Suiteのセットアップから管理者アカウントのメールアドレスを提供してください。ユーザーおよびグループの検索を行うために、Google APIはサービスアカウントキーと共に管理者のメールアドレスを必要とします。

    2. ドメイン:G Suiteを設定したドメインを提供してください。エイリアスは使用せず、正確なドメインを提供してください。

    3. ネストされたグループメンバーシップ:このボックスにチェックを入れて、ネストされたグループメンバーシップを有効にします。Rancherの管理者は、認証設定後にいつでもこれを無効にできます。

  5. *Googleで認証する*をクリックします。

  6. [*有効]*をクリックします。

*結果:*Google認証が正常に設定されました。