Basic 認証を使用した管理 API へのアクセス

Edge for the Cloud アカウントの管理 API にアクセスするときに、Basic 認証を使用できます。Basic 認証を行う場合、管理 API へのリクエストで認証情報(Apigee アカウントのメールアドレスとパスワード)を渡します。

サポートされる認証メカニズムの中で最も安全性が低いのが Basic 認証です。認証情報は Base64 でエンコードされるだけで、暗号化もハッシュ化も行われません。Basic 認証の代わりに、OAuth2 または SAML を使用して管理 API にアクセスすることをおすすめします。

Basic 認証の形式

HTTP クライアントで、認証情報は Base64 エンコードのヘッダーまたはパラメータとして渡すことができます。

認証情報をヘッダーとして渡す場合は、Base64 でエンコードする必要があります。エンコードされた HTTP Basic 認証ヘッダーは次のようになります。

Authorization: Basic YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo

curl などのクライアントで、-u オプションを使用して認証情報を渡します。次に例を示します。

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u email_address:password

curl は、メールアドレスとパスワードをエンコードして、リクエストの Authorization ヘッダーに追加します。

パスワードを省略すると、パスワードの入力が求められます。

管理 API の呼び出しでは、自分のユーザー名ではなく、Apigee アカウントのメールアドレスを使用する必要があります。

管理 API にアクセスする

Basic 認証を使用して管理 API にアクセスするには、curl などのコマンドライン ユーティリティを使用するか、ブラウザから直接リクエストを送信します。

ブラウザから管理 API にアクセスする

ブラウザで管理 API にアクセスするには:

  1. アクセスする管理 API エンドポイントの URL を入力します。たとえば、次のように入力します。
    https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    ブラウザにログイン プロンプトが表示されます。

    Basic 認証のチャレンジ

  2. Apigee アカウントのメールアドレスとパスワードを入力します。

    ブラウザに次のような結果が表示されます。

    Basic 認証の結果

curl を使用して管理 API にアクセスする

curl を使用して管理 API にアクセスするには、リクエストに Authorization ヘッダーを手動で設定する必要があります。

curl で管理 API にアクセスするには:

  1. base64 などのツールを使用して、メールアドレスとパスワードを Base64 でエンコードします。例:
    echo -n ahamilton@apigee.com:myp@ssw0rd | base64

    base64 ツールがエンコード後の文字列を返します。

    YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo=
  2. エンコードされた文字列の末尾にある "=" を削除します。
  3. エンコードされた文字列を次のように管理 API リクエストの Authorization ヘッダーに追加します。
    curl -H "Authorization: Basic YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo" \
          https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
        {
          "createdAt" : 1491854501264,
          "createdBy" : "noreply_iops@apigee.com",
          "displayName" : "ahamilton",
          "environments" : [ "prod", "test" ],
          "lastModifiedAt" : 1491854501264,
          "lastModifiedBy" : "noreply_iops@apigee.com",
          "name" : "ahamilton",
          "properties" : {
            "property" : [ {
              "name" : "features.isSmbOrganization",
              "value" : "false"
            }, {
              "name" : "features.isCpsEnabled",
              "value" : "true"
            } ]
          },
          "type" : "trial"
        }

このリクエストでは、"ahamilton-eval" 組織に関する詳細が返されます。管理 API エンドポイントの一覧については、Apigee 管理 API リファレンスをご覧ください。

それぞれのリクエストに Authorization ヘッダーを追加する必要があります。

Basic 認証を無効にする

OAuth2 または SAML が有効になっている限り、Apigee サポートに Basic 認証の無効化を依頼できます。

スクリプトのガイドライン

スクリプトの実行時にパスワード情報の取得が現実的でないことがあります。たとえば、管理者の不在時に cron ジョブの実行が必要になることがあります。この場合、担当者がいなくてもスクリプトでパスワードを取得できるようにする必要があります。

以下のガイドラインに従ってください。

  1. 認証情報を 1 つのファイルにまとめ、作成するプログラムやスクリプトでこのファイルを情報源として使用します。
  2. 可能であれば、ファイル システムのセキュリティと権限を使用して認証情報のソースファイルを保護します。
  3. 組織内の特定のリソースに対して、権限を非常に限定した自動化クライアントを作成します。