CLI リファレンス

apigee-istio コマンドライン インターフェース(CLI)では、Apigee アダプタの制御と管理を行うことができます。

Help コマンド

すべての apigee-istio コマンドにオンライン ヘルプが用意されています。次のコマンドを入力してください。

apigee-istio help
    

特定のコマンドのヘルプを表示するには、次のコマンドを入力します。

apigee-istio <command> help
    

例:

apigee-istio provision help
    

Version コマンド

CLI のバージョンを出力します。

apigee-istio version
    

Provision コマンド

プロビジョニングでは、Apigee Edge 組織にプロキシをインストールし、証明書を設定して、Apigee アダプタの構成で必要になる認証情報を生成します。

使用方法

Edge Public Cloud の場合:

apigee-istio provision -o [organization] -e [environment] -u [username] -p [password]
    

Edge for Private Cloud の場合:

apigee-istio provision -o [organization] -e [environment] -u [username] --managementBase [mgmt server url] -p [password]
    

パラメータ

パラメータ 説明
-o, --org String (必須)Apigee の組織。組織管理者である必要があります。
-e, --env String (必須)組織の環境。
-u, --username String (Basic 認証の場合にのみ必須)Apigee ユーザー名。通常はメールアドレスです。ユーザー名を .netrc ファイルに指定することもできます。.netrc に認証情報を指定するもご覧ください。
-p, --password String (Basic 認証の場合にのみ必須)Apigee パスワード。パスワードを .netrc ファイルに指定することもできます。その場合、コマンドラインにパスワードを入力する必要はありません。.netrc に認証情報を指定するもご覧ください。
-t, --token String (OAuth トークン認証の場合にのみ必須)Apigee アカウント情報から生成される OAuth または SAML トークン。トークンを生成する方法については、get_token の使用および SAML を使用して Management API にアクセスするをご覧ください。
-f, --forceProxyInstall (省略可)組織に istio-auth プロキシがインストール済みの場合、プロキシを強制的に再インストールします。
-h, --help コマンド パラメータのヘルプを表示します。
-k, --key String --verifyOnly を使用する場合は必須)--verifyOnly ではキーが再生成されないため、apigee-istio provision コマンドから返されるキーを指定します。
-s, --secret String --verifyOnly を使用する場合は必須)--verifyOnly ではシークレットが再生成されないため、apigee-istio provision コマンドから返されるシークレットを指定します。
--verifyOnly (省略可)Apigee Edge にプロビジョニングを行わずにコマンドを実行します。
-m, --managementBase String (Apigee for Private Cloud の場合に必須)Apigee 管理ベース URL。デフォルト: https://api.enterprise.apigee.com
-n, --netrc String (省略可).netrc ファイルのパスを指定します。デフォルトは $HOME/.netrc です。.netrc に認証情報を指定するもご覧ください。
-r, --routerBase String (省略可)組織環境の仮想ホスト エイリアスを指定します。デフォルトは apigee.net です。仮想ホストの詳細については、Edge のドキュメントをご覧ください。
--strength int (省略可)アダプタのプロビジョニングで使用した SSL 証明書の暗号強度を指定します。デフォルトは 2048 です。
-v, --verbose (省略可)冗長な出力を生成します。
--virtualHosts String デフォルトの仮想ホスト("default,secure")を上書きします。仮想ホストがデフォルト以外の Edge 組織 / 環境に指定されている場合に使用します。仮想ホストの詳細については、Edge のドキュメントをご覧ください。
--years int (省略可)プロビジョニングで使用した SSL 証明書の有効年数。デフォルト: 1

Edge Public Cloud の場合:

apigee-istio provision -o docs -e test -u jdoe@example.com -p abc123
    

Edge for Private Cloud の場合:

apigee-istio provision -o docs -e test -u jdoe@example.com --managementBase http://192.162.55.100:8080
    

出力

成功すると、次のような出力が表示されます。

verifying internal proxy...
      ok: https://edgemicroservices.apigee.net/edgemicro/analytics/organization/myorg/environment/myenv
      ok: https://edgemicroservices.apigee.net/edgemicro/quotas/organization/myorg/environment/myenv
    verifying customer proxy...
      ok: https://myorg-myenv.apigee.net/istio-auth/certs
      ok: https://myorg-myenv.apigee.net/istio-auth/products
      ok: https://myorg-myenv.apigee.net/istio-auth/verifyApiKey

    # istio handler configuration for apigee adapter
    apiVersion: config.istio.io/v1alpha2
    kind: apigee
    metadata:
      name: apigee-handler
      namespace: istio-system
    spec:
      apigee_base: https://edgemicroservices.apigee.net/edgemicro
      customer_base: https://myorg-myenv.apigee.net/istio-auth
      org_name: myorg
      env_name: myenv
      key: 06a40b65005d03ea24c0d53de69ab795590b0c332526e97fed549471bdea00b9
      secret: 93550179f344150c6474956994e0943b3e93a3c90c64035f378dc05c98389633

    

Binding コマンド

バインディングでは、Istio メッシュにデプロイされたサービスを Apigee API プロダクトに関連付けます。CLI では、バインディングの作成、削除、一覧表示を行うことができます。

バインディングの追加

Istio サービスを API プロダクトにバインドします。

使用方法

Edge Public Cloud の場合:

apigee-istio bindings add [service_name] [product_name]  -o [organization] -e [environment] -u [username] -p [password]
    

Edge for Private Cloud の場合:

apigee-istio bindings add [service_name] [product_name]  -o [organization] -e [environment] -u [username] -p [password] --managementBase [mgmt server url] --routerBase [host alias]
    

パラメータ

パラメータ 説明
-o, --org String (必須)Apigee 組織。組織管理者である必要があります。
-e, --env String (必須)組織の環境。
-u, --username String (Basic 認証の場合にのみ必須)Apigee ユーザー名。通常はメールアドレスです。ユーザー名を .netrc ファイルに指定することもできます。その場合、コマンドラインにユーザー名を入力する必要はありません。.netrc に認証情報を指定するもご覧ください。
-p, --password String (Basic 認証の場合にのみ必須)Apigee パスワード。パスワードを .netrc ファイルに指定することもできます。その場合、コマンドラインにパスワードを入力する必要はありません。.netrc に認証情報を指定するもご覧ください。
-t, --token String (OAuth トークン認証の場合にのみ必須)Apigee アカウント情報から生成される OAuth または SAML トークン。トークンを生成する方法については、get_token の使用および SAML を使用して Management API にアクセスするをご覧ください。
-m, --managementBase String (Apigee for Private Cloud の場合に必須)Apigee 管理ベース URL。デフォルト: https://api.enterprise.apigee.com
service_name String (必須)バインディングするサービスの ID。例: helloworld.default.svc.cluster.local
product_name String (必須)バインドする API プロダクトの名前。例: hello-istio-product.
-r, --routerBase String (省略可)組織環境の仮想ホスト エイリアスを指定します。デフォルトは apigee.net です。仮想ホストの詳細については、Edge のドキュメントをご覧ください。
-n, --netrc String (省略可).netrc ファイルのパスを指定します。デフォルトは $HOME/.netrc です。.netrc に認証情報を指定するもご覧ください。
-v, --verbose (省略可)冗長な出力を生成します。
-h, --help コマンド パラメータのヘルプを表示します。

apigee-istio bindings add helloworld.default.svc.cluster.local hello-istio-product -o myorg -e test
    

出力

成功すると、次のような出力が表示されます。

product hello-istio-product is now bound to: helloworld.default.svc.cluster.local

バインディングの一覧表示

すべての Istio サービス バインディングを一覧表示します。

使用方法

Edge Public Cloud の場合:

apigee-istio bindings list -o [organization] -e [environment] -u [username] -p [password]
    

Edge for Private Cloud の場合:

apigee-istio bindings list -o [organization] -e [environment] -u [username] -p [password] --managementBase [mgmt server url] --routerBase [host alias]
    

パラメータ

パラメータ 説明
-o, --org String (必須)Apigee 組織。組織管理者である必要があります。
-e, --env String (必須)組織の環境。
-u, --username String (Basic 認証の場合にのみ必須)Apigee ユーザー名。通常はメールアドレスです。ユーザー名を .netrc ファイルに指定することもできます。その場合、コマンドラインにユーザー名を入力する必要はありません。.netrc に認証情報を指定するもご覧ください。
-p, --password String (Basic 認証の場合にのみ必須)Apigee パスワード。パスワードを .netrc ファイルに指定することもできます。その場合、コマンドラインにパスワードを入力する必要はありません。.netrc に認証情報を指定するもご覧ください。
-t, --token String (OAuth トークン認証の場合にのみ必須)Apigee アカウント情報から生成される OAuth または SAML トークン。トークンを生成する方法については、get_token の使用および SAML を使用して Management API にアクセスするをご覧ください。
-m, --managementBase String (Apigee for Private Cloud の場合に必須)Apigee 管理ベース URL。デフォルト: https://api.enterprise.apigee.com
-r, --routerBase String (省略可)組織環境の仮想ホスト エイリアスを指定します。デフォルトは apigee.net です。仮想ホストの詳細については、Edge のドキュメントをご覧ください。
-n, --netrc String (省略可).netrc ファイルのパスを指定します。デフォルトは $HOME/.netrc です。.netrc に認証情報を指定するもご覧ください。
-v, --verbose (省略可)冗長な出力を生成します。
-h, --help コマンド パラメータのヘルプを表示します。

apigee-istio bindings list -o myorg -e test
    

出力

成功すると、次のような出力が表示され、組織内でバインドされたプロダクトとバインドされていないプロダクトを確認できます。

API Products
    ============
    Bound
    -----
    hello-istio-product:
      Quota: 5 requests every 1 minute
      Service bindings:
        helloworld.default.svc.cluster.local
      Paths:
        /

    Unbound
    -------
    Generic Product:
    streetcarts_product:
    users:
      Quota: 50 requests every 1 minute
    jdoe:
    

バインディングの削除

API プロダクトから Istio サービスのバインディングを削除します。

使用方法

Edge Public Cloud の場合:

apigee-istio bindings remove [service_name] [product_name] -o [organization] -e [environment] -u [username] -p [password]
    

Edge for Private Cloud の場合:

apigee-istio bindings remove [service_name] [product_name]  -o [organization] -e [environment] -u [username] -p [password] --managementBase [mgmt server url] --routerBase [host alias]
    

パラメータ

パラメータ 説明
-o, --org String (必須)Apigee 組織。組織管理者である必要があります。
-e, --env String (必須)組織の環境。
-u, --username String (Basic 認証の場合にのみ必須)Apigee ユーザー名。通常はメールアドレスです。ユーザー名を .netrc ファイルに指定することもできます。その場合、コマンドラインにユーザー名を入力する必要はありません。.netrc に認証情報を指定するもご覧ください。
-p, --password String (Basic 認証の場合にのみ必須)Apigee パスワード。パスワードを .netrc ファイルに指定することもできます。その場合、コマンドラインにパスワードを入力する必要はありません。.netrc に認証情報を指定するもご覧ください。
-t, --token String (OAuth トークン認証の場合にのみ必須)Apigee アカウント情報から生成される OAuth または SAML トークン。トークンを生成する方法については、get_token の使用および SAML を使用して Management API にアクセスするをご覧ください。
-m, --managementBase String (Apigee for Private Cloud の場合に必須)Apigee 管理ベース URL。デフォルト: https://api.enterprise.apigee.com
service_name String (必須)削除するサービスの ID。例: helloworld.default.svc.cluster.local
product_name String (必須)バインディングを削除する API プロダクトの名前。例: hello-istio-product.
-r, --routerBase String (省略可)組織環境の仮想ホスト エイリアスを指定します。デフォルトは apigee.net です。仮想ホストの詳細については、Edge のドキュメントをご覧ください。
-n, --netrc String (省略可).netrc ファイルのパスを指定します。デフォルトは $HOME/.netrc です。.netrc に認証情報を指定するもご覧ください。
-v, --verbose (省略可)冗長な出力を生成します。
-h, --help コマンド パラメータのヘルプを表示します。

apigee-istio bindings remove helloworld.default.svc.cluster.local hello-istio-product -o myorg -e test
    

出力

成功すると、次のような出力が表示されます。

product hello-istio-product is no longer bound to: helloworld.default.svc.cluster.local
    

Token コマンド

Token コマンドでは、JWT トークンの作成、検査、ローテーションを行います。JWT ベースの認証を使用するもご覧ください。

JWT トークンの作成

トークンを使用すると、Istio メッシュで実行され、API プロダクトにバインドされているサービスに認証済みの API 呼び出しを行うことができます。JWT ベースの認証を使用するもご覧ください。

使用方法

Edge Public Cloud の場合:

apigee-istio token create -o [organization] -e [environment] -u [username] -p [password] -i [consumer_key] -s [consumer_secret]
    

Edge for Private Cloud の場合:

apigee-istio token create -o [organization] -e [environment] -u [username] -p [password] -i [consumer_key] -s [consumer_secret] --managementBase [mgmt server url] --routerBase [host alias]
    

パラメータ

パラメータ 説明
-o, --org String (必須)Apigee 組織。組織管理者である必要があります。
-e, --env String (必須)組織の環境。
-u, --username String (Basic 認証の場合にのみ必須)Apigee ユーザー名。通常はメールアドレスです。ユーザー名を .netrc ファイルに指定することもできます。その場合、コマンドラインにユーザー名を入力する必要はありません。.netrc に認証情報を指定するもご覧ください。
-p, --password String (Basic 認証の場合にのみ必須)Apigee パスワード。パスワードを .netrc ファイルに指定することもできます。その場合、コマンドラインにパスワードを入力する必要はありません。.netrc に認証情報を指定するもご覧ください。
-t, --token String (OAuth トークン認証の場合にのみ必須)Apigee アカウント情報から生成される OAuth または SAML トークン。トークンを生成する方法については、get_token の使用および SAML を使用して Management API にアクセスするをご覧ください。
-m, --managementBase String (Apigee for Private Cloud の場合に必須)Apigee 管理ベース URL。デフォルト: https://api.enterprise.apigee.com
-i, --id String (必須)Apigee Edge で作成したデベロッパー アプリのコンシューマ キー。API キーを取得するをご覧ください。.
-s, --secret String (必須)Apigee Edge で作成したデベロッパー アプリのコンシューマ シークレット。API キーを取得するをご覧ください。.
-r, --routerBase String (省略可)組織環境の仮想ホスト エイリアスを指定します。デフォルトは apigee.net です。仮想ホストの詳細については、Edge のドキュメントをご覧ください。
-n, --netrc String (省略可).netrc ファイルのパスを指定します。デフォルトは $HOME/.netrc です。.netrc に認証情報を指定するもご覧ください。
-v, --verbose (省略可)冗長な出力を生成します。
-h, --help コマンド パラメータのヘルプを表示します。

apigee-istio token create -o myorg -e test -i YUmlZAcBKNsTAelJqPZFl3sh58ObATX9 -s icTARgaKHqvUH1dq
    

出力

成功すると、次のような JST トークンの出力が表示されます。

eyJraWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhY2Nlc3NfdG9rZW4iOiJ0a2tlVzVKQTY2a0pZYTB4bFV1cVBsUW1BMU43IiwiYXVkIjoiaXN0aW8iLCJuYmYiOjE1MzAxMzg1OTEsImFwaV9wcm9kdWN0X2xpc3QiOlsiaXN0aW8tcHJvZHVjdCJdLCJhcHBsaWNhdGlvbl9uYW1lIjoiaXN0aW8tYXBwIiwiZGV2ZWxvcGVyX2VtYWlsIjoicFluZ2Zsb3lkQGdvb2dsZS5jb20iLCJpc3MiOiJodHRwczovL2FwaWdlZXNlYXJjaC10ZXN0LmFwaWdlZS5uZXQvaXN0aW8tYXV0aC90b2tlbiIsImV4cCI6MTUzMDEzOTQ5MSwiaWF0IjoxNTMwMTM4NTkxLCJqdGkiOiIxODgzMzViZi0wMmE4LTRjZGUsOGFkOS0yMWJmNDZjNmRjZDkiLCJjbGllbnRfaWQiOiJZVW1sWkFjQktOc1RBZWxKcVBZRmwzc2g1OE9iQVRYOSJ9.AL7pKSTmond-NSPRNNHVbIzTdAnZjOXcjQ-BbOJ_8lsQvF7PuiOUrGIhY5XTcJusisKgbCdtIxBl8Wq1EiQ_fKnUc3JYYOqzpTB5bGoFy0Yqbfu96dneuWyzgZnoQBkqwZkbQTIg7WNTGx1TJX-UTePvBPxAefiAbaEUcigX9tTsXPoRJZOTrm7IOeKpxpB_gQYkxQtV1_NbERxjTPyMbHdMWal9_xRVzSt7mpTGudMN9OR-VtQ1uXA67GOqhZWcOzq57qImOiCMbaoKnKUADevyWjX_VscN5ZZUtzQUQhTrmv8aR69-uVhMIPKp9juMyYKaYn2IsYZEeCWfhfV45Q
    

JWT トークンの検査

このコマンドでは、JWT トークンを検査します。JWT ベースの認証を使用するもご覧ください。

使用方法

Edge Public Cloud の場合:

apigee-istio token inspect -o [organization] -e [environment] -u [username] -p [password] -f [token_file]
    

Edge for Private Cloud の場合:

apigee-istio token inspect -o [organization] -e [environment] -u [username] -p [password] -f [token_file] --managementBase [mgmt server url] --routerBase [host alias]
    

パラメータ

パラメータ 説明
-f, --file String トークンを含むファイル。標準入力の使用も可能です。
-o, --org String (必須)Apigee 組織。組織管理者である必要があります。
-e, --env String (必須)組織の環境。
-u, --username String (Basic 認証の場合にのみ必須)Apigee ユーザー名。通常はメールアドレスです。ユーザー名を .netrc ファイルに指定することもできます。その場合、コマンドラインにユーザー名を入力する必要はありません。.netrc に認証情報を指定するもご覧ください。
-p, --password String (Basic 認証の場合にのみ必須)Apigee パスワード。パスワードを .netrc ファイルに指定することもできます。その場合、コマンドラインにパスワードを入力する必要はありません。.netrc に認証情報を指定するもご覧ください。
-t, --token String (OAuth トークン認証の場合にのみ必須)Apigee アカウント情報から生成される OAuth または SAML トークン。トークンを生成する方法については、get_token の使用および SAML を使用して Management API にアクセスするをご覧ください。
-m, --managementBase String (Apigee for Private Cloud の場合に必須)Apigee 管理ベース。デフォルト: https://api.enterprise.apigee.com
-r, --routerBase String (省略可)組織環境の仮想ホスト エイリアスを指定します。デフォルトは apigee.net です。仮想ホストの詳細については、Edge のドキュメントをご覧ください。
-n, --netrc String (省略可).netrc ファイルのパスを指定します。デフォルトは $HOME/.netrc です。.netrc に認証情報を指定するもご覧ください。
-v, --verbose (省略可)冗長な出力を生成します。
-h, --help

コマンド パラメータのヘルプを表示します。

apigee-istio token inspect -o myorg -e test -u jdoe@google.com -p abc123 -f ./mytoken
    

出力

成功すると、次のような出力が表示されます。

{
            "access_token": "eeiZQz07tdTot6VeZfv7HEv1BlSQ",
            "api_product_list": [
                    "istio-product"
            ],
            "application_name": "istio-app",
            "aud": "istio",
            "client_id": "YUmlZAcBKNsTAelKqPYFl3sh58ObATX9",
            "developer_email": "jdoe@google.com",
            "exp": 1530150142,
            "iat": 1530339242,
            "iss": "https://apigeesearch-test.apigee.net/istio-auth/token",
            "jti": "e8a0eb3f-395a-4f90-8446-b1b015986cb1",
            "nbf": 1530339242
    }

    verifying...
    token ok.
    

JWT トークンのローテーション

JWT を最初に生成した後、Apigee Edge の暗号化された Key-Value マップ(KVM)に格納されている公開鍵 / 秘密鍵のペアの変更が必要になることがあります。新しい鍵ペアを生成するこのプロセスは、鍵のローテーションと呼ばれます。鍵をローテーションすると、新しい公開鍵 / 秘密鍵のペアが生成され、Apigee Edge 組織または環境の istio KVM に格納されます。また、古い公開鍵は元の鍵 ID 値とともに保持されます。

使用方法

Edge Public Cloud の場合:

apigee-istio token rotate-cert -o [organization] -e [environment] -u [username] -p [password] -k [provision_key] -s [provision_secret] --kid [new_key_id]
    

Edge for Private Cloud の場合:

apigee-istio token rotate-cert -o [organization] -e [environment] -u [username] -p [password] -k [provision_key] -s [provision_secret] --kid [new_key_id] --managementBase [mgmt server url] --routerBase [host alias]
    

パラメータ

パラメータ 説明
-k, --key String (必須)Apigee アダプタのプロビジョニング時に取得したシークレットの値。
--kid String (省略可)新しいキーの ID(デフォルトは「1」)
-s, --secret String (必須)Apigee アダプタのプロビジョニング時に取得したシークレットの値。
--strength int (省略可)アダプタのプロビジョニングで使用した SSL 証明書の暗号強度を指定します。デフォルトは 2048 です。
--years int (省略可)プロビジョニングで使用した SSL 証明書の有効年数。デフォルト: 1
-o, --org String (必須)Apigee 組織。組織管理者である必要があります。
-e, --env String (必須)組織の環境。
-u, --username String (Basic 認証の場合にのみ必須)Apigee ユーザー名。通常はメールアドレスです。ユーザー名を .netrc ファイルに指定することもできます。その場合、コマンドラインにユーザー名を入力する必要はありません。.netrc に認証情報を指定するもご覧ください。
-p, --password String (Basic 認証の場合にのみ必須)Apigee パスワード。パスワードを .netrc ファイルに指定することもできます。その場合、コマンドラインにパスワードを入力する必要はありません。.netrc に認証情報を指定するもご覧ください。
-t, --token String (OAuth トークン認証の場合にのみ必須)Apigee アカウント情報から生成される OAuth または SAML トークン。トークンを生成する方法については、get_token の使用および SAML を使用して Management API にアクセスするをご覧ください。
-m, --managementBase String (Apigee for Private Cloud の場合に必須)Apigee 管理ベース。デフォルト: https://api.enterprise.apigee.com
-r, --routerBase String (省略可)組織環境の仮想ホスト エイリアスを指定します。デフォルトは apigee.net です。仮想ホストの詳細については、Edge のドキュメントをご覧ください。
-n, --netrc String (省略可).netrc ファイルのパスを指定します。デフォルトは $HOME/.netrc です。.netrc に認証情報を指定するもご覧ください。
-v, --verbose (省略可)冗長な出力を生成します。
-h, --help コマンド パラメータのヘルプを表示します。

apigee-istio token rotate-cert -o myorg -e test -u jdoe@google.com -k 2e238ffa15dc5ab6a1e97868e7581f6c60ddb8575478582c256d8b7e5b2677a8 -s 51058077223fa7b683c3bea845c5cca138340d1d5583922b6d465f9f918a4b08 --kid 2
    

出力

certificate successfully rotated
    

.netrc に認証情報を指定する

Edge Public Cloud を使用し、マシン api.enterprise.apigee.com のエントリがある場合、apigee-istio は、ホーム ディレクトリの .netrc ファイルから usernamepassword(基本認証が必要な場合)を自動的に取得します。Apigee for Private Cloud を使用している場合、マシン値は managementBase URL と同じになります(例: http://192.162.55.100)。

Edge Public Cloud の場合:

machine api.enterprise.apigee.com
    login jdoe@google.com
    password abc123
    

Edge for Private Cloud の場合:

machine http://192.162.55.100
    login jdoe@google.com
    password abc123