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

Edge for 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 Management API リファレンスをご覧ください。

すべてのリクエストに Authorization ヘッダーを含める必要があります。

Basic 認証を無効にする

OAuth2 または SAML が有効になっている場合は、Apigee サポートにリクエストを送信して Basic 認証を無効にすることができます。

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

場合によっては、スクリプトの実行時にパスワードを入力するのが現実的でないことがあります。たとえば、管理者の不在時に cron ジョブを実行しなければならない場合があります。この場合、人手を介さなくてもスクリプトがパスワードを取得できるようにする必要があります。

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

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