4.4. OAuth 認証の概要


Basic 認証の代わりに、制限のある OAuth 1.0 認証をサポートしています。これは 1-legged OAuth と呼ばれることもあります。

OAuth の設定を確認するには、Satellite Web UI で Administer > Settings > Authentication に移動します。OAuth コンシューマーキー は全 OAuth クライアントが使用するトークンです。

Satellite は、OAuth 設定を /etc/foreman/settings.yaml ファイルに保存します。これらの設定を指定するには、satellite-installer スクリプトを使用します。

4.4.1. OAuth の認証

satellite-installer を使用して、Satellite Server の OAuth 設定を変更します。以下のコマンドを入力して、OAuth 関連のインストーラーオプションすべてを表示します。

# satellite-installer --full-help | grep oauth

OAuth ユーザーマッピングの有効化

デフォルトでは、Satellite は、ビルトインの匿名 API 管理者アカウントで、全 OAuth API 要求を認可します。そのため、API 応答には全 Satellite データが含まれます。ただし、要求を行う Satellite ユーザーを指定して、そのユーザーに対するデータへのアクセスを制限することも可能です。

OAuth ユーザーマッピングを有効にするには、以下のコマンドを入力します。

# satellite-installer --foreman-oauth-map-users true
重要

Satellite は OAuth 要求のヘッダーを署名しません。有効なコンシューマーキーを持つユーザーは誰でも、任意の Satellite ユーザーになりすますことができます。

4.4.2. OAuth 要求の形式

全 OAuth API 要求には、以下の形式で、既存の Satellite ユーザーのログインを指定した FOREMAN-USER ヘッダーと、Authorization ヘッダーが必要です。

--header 'FOREMAN-USER: My_User_Name' \
--header 'Authorization: OAuth oauth_version="1.0",oauth_consumer_key="secretkey",oauth_signature_method="hmac-sha1",oauth_timestamp=timestamp,oauth_signature=signature'
重要

OAuth クライアントライブラリーを使用して、全 OAuth パラメーターを構築します。Python モジュール request_oauthlib を使用する例については、Red Hat ナレッジベースHow to execute an API call using the OAuth authentication method via python script in Red Hat Satellite 6? を参照してください。

以下の例では、認証に OAuth を使用したアーキテクチャーが表示されます。この要求では、FOREMAN-USER ヘッダーに My_User_Name ユーザー名を使用します。--foreman-oauth-map-userstrue に設定すると、要求には、そのユーザーに対して表示権限が割り当てられたアーキテクチャーのみが含まれます。署名は、全パラメーター、HTTP メソッドおよび URI 変更を反映します。

要求例:

$ curl 'https://satellite.example.com/api/architectures' \
--header 'Content-Type: application/json' \
--header 'Accept:application/json' \
--header 'FOREMAN-USER: My_User_Name' \
--header 'Authorization: OAuth oauth_version="1.0",oauth_consumer_key="secretkey",oauth_signature_method="hmac-sha1",oauth_timestamp=1321473112,oauth_signature=Il8hR8/ogj/XVuOqMPB9qNjSy6E='
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.