自動化された Gmail/Office365 メディアタイプ
概要
GmailやOffice365のユーザーは、メディアタイプの設定における自動化機能の恩恵を受けることができます。
設定
メールメディアタイプの設定にある Email provider フィールドでは、GmailおよびOffice 365用に事前設定されたオプションを選択できます。
Gmail/Office365関連のオプションを選択する場合、動作するメディアタイプを作成するために、送信者のメールアドレスとパスワードを入力するだけで済みます。

メールアドレスとパスワードを入力すると、ZabbixはGmail/Office365のメディアタイプに必要なすべての設定に、実際の値または推奨値を自動的に入力できます。対象となる設定は、SMTP server、SMTP server port、SMTP helo、Connection security です。この自動化により、これらのフィールドは表示されません。ただし、メディアタイプの一覧でSMTPサーバーおよびメールの詳細を確認できます(Details 列を参照)。
次の点にも注意してください。
- リレーオプションでは、パスワードは必要ありません。
- Office365リレーでは、指定したメールアドレスのドメイン名がSMTPサーバーの動的な入力に使用されます(つまり、
example-com.mail.protection.outlook.comの"example.com"が実際の値に置き換えられます)。
OAuthトークン
OAuthトークンの取得は、Gmail、Gmailリレー、Office365のメールプロバイダーに対して自動化されています。

OAuthのアクセストークンおよびリフレッシュトークンの取得には、Redirection endpoint、Client ID、Client secretという限られたパラメータのみを指定する必要があります。Zabbixは他の必要な値を自動的に入力します(プロバイダー別のOAuth URLデフォルト値を参照)。
これらのプロバイダーに対してOAuth認証を設定する場合、Generic SMTPフォームを使用することも可能です。
SmtpClientAuthenticationは、Office365でユーザー/共有メールボックスごと、またはテナント全体で有効にする必要があります(デフォルト設定では有効になっていません)。
プロバイダーごとのOAuth URLのデフォルト
以下の表は、Zabbixで使用されるプロバイダーごとのデフォルトのOAuth URL値とパラメーターを示しています。
| パラメーター | Gmail | Office365 | Generic SMTP | |
|---|---|---|---|---|
| 認可エンドポイント | https://accounts.google.com/o/oauth2/v2/auth |
https://login.microsoftonline.com/common/oauth2/v2.0/authorize |
デフォルトなし | |
| scope | https://mail.google.com |
https://outlook.office.com/SMTP.Send, offline_access |
デフォルトなし | |
| access_type | offline |
未使用 | デフォルトなし | |
| prompt | consent |
未使用 | デフォルトなし | |
| redirect_uri | Redirection endpointフィールドの値が自動的にコードで追加されます。Authorization endpointパラメーターには記載されません。 | |||
| state | OAuthトークンで更新されるメディアを識別する一意のハッシュが自動的にコードで追加されます。Authorization endpointパラメーターには記載されません。 | |||
| トークンエンドポイント | https://oauth2.googleapis.com/token |
https://login.microsoftonline.com/common/oauth2/v2.0/token |
デフォルトなし | |
| grant_type | authorization_code |
authorization_code |
デフォルトなし | |
| redirect_uri | Redirection endpointフィールドの値が自動的にコードで追加されます。Token endpointパラメーターには記載されません。 | |||
| state | OAuthトークンで更新されるメディアを識別する一意のハッシュが自動的にコードで追加されます。Token endpointパラメーターには記載されません。 | |||
Office365の個人アカウントの回避策
Office365の個人アカウントは、リダイレクトURLのクエリ文字列をサポートしていません。
この問題を回避するために、Apacheウェブサーバーの管理者は、以下のリライトルールを.htaccessファイルに追加できます。
RewriteEngine On
RewriteRule ^/oauth\.authorize$ /zabbix.php?action=oauth.authorize [QSA,L,PT]
これにより、以下のような簡略化されたリダイレクトURLが使用できるようになります。
http://server-name/zabbix/oauth.authorize
これにより、クエリパラメータ付きのURLの代わりにOffice365の個人アカウントとの互換性が確保されます。