- Google Cloud Platform および/または Azure ポータルでアプリケーションを登録します。
- それらのアプリケーションの認証情報 (Client ID とクライアントシークレット) を生成します。
- 生成した認証情報を Consul に渡します。
Google でのアプリケーション登録
Google Cloud Platform でのプロジェクトの作成
- Google Cloud Platform の New Project ページを開きます。
- プロジェクト名を指定し、Create をクリックします。
- プロジェクトが作成されたことを知らせる通知が表示されるまで待ちます。
アプリケーションの設定
- Google Cloud Console に移動し、適切なプロジェクトを選択します。
- 画面左側のメニューで、APIs & Services > OAuth consent screen を選択します。
- External ユーザータイプを選択し、Create をクリックします。
- アプリケーション名を指定します。User support email ドロップダウンリスト field で、Gmail アドレスを選択します。
- ページ下部の Developer contact information セクションで開発者のメールアドレスを指定し、Save and continue をクリックします。
- Add or remove scopes をクリックします。すると、右側に Update selected scopes ダイアログが開きます。
- ダイアログ下部の Manually add scopes field に次のテキストをコピー&ペーストし、Add to table をクリックします。
スコープは手動で選択することもできます。次のスコープを選択してください。
openidhttps://mail.google.com/../auth2/userinfo.email../auth2/userinfo.profile
- Update をクリックします。Update selected scopes ダイアログが閉じ、選択したスコープが表示されます。
- 画面下部の Save and continue をクリックします。
- Save and continue をクリックして Test users ページの設定をスキップし、Summary ページに移動します。
アカウントの認証情報を作成する
- 画面左側のメニューで 認証情報 を選択します。
- + 認証情報を作成 をクリックし、OAuth client ID を選択します。
- 種類として ウェブ アプリケーション を選択します。
- 承認済みのリダイレクト URI セクションで、+ URI を追加 を選択します。
- 表示された field に、リダイレクト URI を指定します。
- Create をクリックします。
このデータは、Vantage で tokenmanagement サービス を設定するために必須です。すぐに保存することも、後で APIs & Services > Credentials に移動し、作成した OAuth 2.0 クライアント識別子を選択してコピーすることもできます。
公開と検証
Testing ステータスのアプリケーションは、テスター一覧に追加されたユーザーのみが利用できます。アプリケーションを公開すると、Google アカウントを持つすべてのユーザーが利用可能になります。
Publish app をクリックします。https://mail.google.com/ スコープでは、アプリケーションが機密性の高いユーザーデータにアクセスできるため、アプリケーションの検証が必要であることを示すメッセージが表示されます。
アプリケーションを検証するには、次の情報を提出する必要があります。
- アプリケーションのプライバシーポリシーへの公式リンク
- アプリケーションを使用して Google ユーザーデータを取得する目的を示す YouTube 動画
- 機密性の高いユーザーデータへのアクセスが必要な理由の説明を含む、Google 宛てのテキスト
- Google Search Console で検証済みのすべてのドメインの完全な一覧
アプリケーションが検証されるまでは、利用できるのは 100 ユーザーまでです。ユーザーカウンターは OAuth consent screen セクションの下部にあり、Project の存続期間中はリセットできません。
Microsoft Azure でのアプリケーションの登録
アプリケーションの登録
- App registrations ページに移動します。
- New registration をクリックします。
- アプリケーションの名前を指定し、サポートされているアカウントの種類を選択します。
アプリケーションで Multitenant 型を選択すると、そのアプリケーションは任意の Azure AD テナントのユーザーが利用できるようになります。このようなアプリケーションは検証を受ける必要がありますが、これは Microsoft Partner Network の参加者のみが利用できます。参加者でない場合は、Single tenant を選択してください。これにより、アプリはご利用の Azure AD テナント内のユーザーのみが利用できるようになります。
- Redirect URI セクションで Web プラットフォームを選択し、リダイレクト URI を指定します。
- Register をクリックします。
アプリケーションの権限を設定する
- API permissions タブに移動します。
- Add permission をクリックします。
- 開いたダイアログで、Microsoft Graph セクションを選択します。
- Delegated permissions を選択します。
- 次の権限を追加します。
emailIMAP.AccessAsUser.Alloffline_accessopenidprofile
- Add permissions をクリックします。ダイアログが閉じ、選択した権限が表示されます。
クライアントシークレットの作成
- Authentication タブに移動します。
- Implicit grant and hybrid flows セクションで、ID tokens (used for implicit and hybrid flows) をオンにします。
- 画面上部の Save をクリックします。
- Certificates & secrets タブに移動し、New client secret をクリックします。
- 開いたダイアログで、クライアントシークレットの名前と有効期限を指定します。
有効期限は最大 24 か月です。
- Add をクリックします。ダイアログが閉じ、新しいクライアントシークレットの情報が表示されます。
また、クライアント識別子も必要です。これは、Overview タブの Application (client) ID フィールドからコピーできます。識別子の値にマウスカーソルを合わせると、コピー アイコンが表示されます。
アプリケーションの検証
- Branding & properties タブに移動します。
- Publisher domain field にドメインが指定されていることを確認します。必要に応じて、Configure a domain をクリックしてドメインを設定します。
ドメイン名の横に表示される警告アイコンは、指定したドメインを持つアプリケーションを検証できないことを示します。Update domain をクリックして、Azure Active Directory テナントに関連付けられた別の有効なドメインを指定してください。あるいは、新しいドメインを検証してください。
- Publisher verification セクションで MPN ID を指定し、Verify and save をクリックします。
MPN ID を追加するために必要な権限がない場合は、発行元の検証に必要なすべての要件が満たされていることを確認してください。
Consul への認証情報の設定
設定を始める前に、
kubectl コマンドラインツールがインストールされており、Kubernetes クラスターに接続されていることを確認してください。- 次のコマンドを実行して、Consul の Web インターフェイスにアクセスします。
http://localhost:8500/ui/dc1/kv/secret/に移動します。
- 開いた Key/Value タブで、適切な Vantage のデプロイメントスコープを選択します。次に、vantage Project を選択します。
- tokenmanagement サービスを選択します。
- oAuthClientConfiguration セクションに移動します。
- ユーザーデータを指定するサービス (google または microsoft) を選択します。
- clientId キーを選択します。
- 先ほど保存した Client ID の値を入力フィールドにコピー&ペーストし、Save をクリックします。
- clientSecret キーについても、手順 6 と 7 を繰り返します。
- 次のコマンドを実行して、tokenmanagement サービスを再起動します。
クライアントシークレットの更新
Google でクライアントシークレットを更新する
- Google Cloud Console に移動し、該当するプロジェクトを選択します。
- 左側のメニューで、APIs & Services > Credentials を選択します。
- OAuth 2.0 Client IDs セクションで、IMAP サーバーへの接続時の認証に使用する識別子を選択します。
- Reset secret をクリックします。
- ポップアップダイアログで Reset をクリックします。これにより、クライアントシークレットの値が更新され、以前の値が呼び出されます。
- 認証情報を含む JSON ファイルをダウンロードします。 または、画面右側からクライアントシークレットの値をコピーします。
Microsoft Azure でのクライアントシークレットの更新
- App registrations ページに移動し、IMAP サーバーでの認証に使用しているアプリケーションを選択します。
- Certificates & secrets タブに移動し、New client secret をクリックします。
- 表示されたダイアログで、クライアントシークレットの名前と有効期限を指定します。
- Add をクリックします。ダイアログが閉じ、新しいクライアントシークレットの情報が表示されます。ページを閉じると Value には再度アクセスできなくなるため、必ずコピーして保存しておいてください。
- 現在のクライアントシークレットがまだ有効期限切れでない場合は、削除することで、クライアントの識別には新しいクライアントシークレットのみを使用できるようになります。
