2.2. HTTP 認証
Red Hat Virtualization アカウントを持つユーザーは、REST API にアクセスできます。API ユーザーは、すべての要求と共に必須の Red Hat Virtualization Manager ユーザー名およびパスワードを送信します。各要求は、 HTTP Basic 認証を使用して [2] これらの認証情報をエンコードします。リクエストに適切な
Authorization ヘッダーが含まれていない場合、API は結果として 401 Authorization Required を送信します。
例2.1 適切なクレデンシャルなしで REST API へのアクセス
HEAD [base] HTTP/1.1
Host: [host]
HTTP/1.1 401 Authorization Required
要求は、指定したレルムの
Authorization ヘッダーで発行されます。API ユーザーは、username@domain:password 規則を使用して、指定の認証情報に適切な Red Hat Virtualization Manager ドメインおよびユーザーをエンコードします。
以下の表は、base64 で認証情報をエンコードするためのプロセスを示しています。
| 項目 | 値 |
|---|---|
| username | rhevmadmin |
| domain | domain.example.com |
| password | 123456 |
| エンコードされていない認証情報 | rhevmadmin@domain.example.com:123456 |
| base64 エンコードされた認証情報 | cmhldm1hZG1pbkBibGFjay5xdW1yYW5ldC5jb206MTIzNDU2 |
API ユーザーは、base64 エンコードした認証情報を以下のように提供します。
例2.2 適切なクレデンシャルを使用した REST API へのアクセス
HEAD [base] HTTP/1.1
Host: [host]
Authorization: Basic cmhldm1hZG1pbkBibGFjay5xdW1yYW5ldC5jb206MTIzNDU2
HTTP/1.1 200 OK
...
重要
Basic 認証では、パスワードなどの機密情報がプレーンテキストで送信される可能性があります。REST API では、プレーンテキスト要求のトランスポートレベルの暗号化に Hypertext Transfer Protocol Secure (HTTPS)が必要です。
重要
base64 ライブラリーによっては、結果を複数行に分割し、各行を改行文字で終了する場合があります。これによりヘッダーが破損し、要求に問題が発生します。Authorization ヘッダーには、エンコードされた認証情報がヘッダー内に一行で記載されている必要があります。