2.2. HTTP 認証

Red Hat Enterprise Virtualization アカウントを持つユーザーは、REST API にアクセスできます。API ユーザーは、API を対象とする全要求において、必須の Red Hat Enterprise Virtualization Manager ユーザー名とパスワードを送信します。各要求は HTTP 基本認証 [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 Enterprise Virtualization Manager ドメインおよびユーザーをエンコードします。
以下の表には、認証情報を base64 でエンコードするプロセスをまとめています。

表2.1 API アクセス用の認証情報のエンコード

項目
ユーザー名rhevmadmin
ドメインdomain.example.com
パスワード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
...

重要

基本認証では、パスワードなどの潜在的な機密情報がプレーンテキストで送信されてしまいます。REST API には、プレーンテキストの要求をトランスポートレベルで暗号化する Hypertext Transfer Protocol Secure (HTTPS) が必要です。

重要

base64 ライブラリーによっては、結果を複数行に分け、行末には改行文字を付けることがあります。そのような場合には、ヘッダーが破損し、要求に問題が発生します。認証ヘッダーには、エンコードされた認証情報がヘッダー内に一行で記載されている必要があります。


[2] 基本認証については、RFC 2617 HTTP Authentication: Basic and Digest Access Authentication に記載されている説明を参照してください。