すべてのプロダクト
Search
ドキュメントセンター

Identity as a Service:環境の準備

最終更新日:Mar 25, 2026

IDaaS アプリケーショントークンを取得するための Java SDK をご利用いただくにあたり、事前に環境を準備します。

前提条件

  • JDK 1.8 以降をインストールします。

  • Maven をインストールします。

Java SDK のインストール

pom.xml ファイルに、以下の依存関係を追加します。

<dependency>
  <groupId>com.cloud-idaas</groupId>
  <artifactId>idaas-java-core-sdk</artifactId>
  <!-- バージョン番号を SDK の最新バージョンに置き換えます -->
  <version>0.0.4-beta</version>
</dependency>

SDK の最新バージョンは、https://mvnrepository.com/artifact/com.cloud-idaas/idaas-java-core-sdk でご確認ください。

IDaaS は、Function Compute などのシナリオにおいて OpenAPI 認証をサポートしています。Alibaba Cloud の認証情報(AccessKey ペアや STS トークンなど)を使用して M2M クライアントトークンを取得する場合、pom.xml ファイルに Alibaba Cloud 認証拡張プラグインも追加する必要があります。

<dependency>
  <groupId>com.cloud-idaas</groupId>
  <artifactId>idaas-java-core-alibabacloud-authentication-plugin</artifactId>
  <!-- バージョン番号を Alibaba Cloud 認証拡張プラグインの最新バージョンに置き換えます -->
  <version>0.0.1-beta</version>
</dependency>

Alibaba Cloud 認証拡張プラグインの最新バージョンは、https://mvnrepository.com/artifact/com.cloud-idaas/idaas-java-core-alibabacloud-authentication-plugin でご確認ください。

構成ファイルの指定

構成ファイルのデフォルトパスは ~/.cloud_idaas/client-config.json です。明示的にパスを指定しない場合、このパスから構成ファイルが取得されます。

構成ファイルのパスは、Java システムプロパティまたは環境変数のいずれかを使用して指定できます。

  • Java システムプロパティ名:cloud_idaas_config_path

  • 環境変数名:CLOUD_IDAAS_CONFIG_PATH

Java システムプロパティの設定例:

-Dcloud_idaas_config_path=/.../client-config.json

// Spring Boot プロジェクトの場合、構成ファイルを src/main/resources/ ディレクトリに配置し、クラスパスプレフィックスを使用して参照できます。
-Dcloud_idaas_config_path=classpath:client-config.json

環境変数の設定例:

CLOUD_IDAAS_CONFIG_PATH=/.../client-config.json

構成ファイル

以下に構成ファイルの例を示します。

{
  "idaasInstanceId": "idaas_xxx",      
  "clientId": "app_xxx",               
  "issuer":"https://xxx/api/v2/iauths_system/oauth2",               
  "tokenEndpoint": "https://xxx/api/v2/iauths_system/oauth2/token",
  "scope": "api.example.com|read:file",
  "openApiEndpoint":"eiam.[region_id].aliyuncs.com",
  "developerApiEndpoint":"eiam-developerapi.[region_id].aliyuncs.com",
  "authnConfiguration": {
    "identityType": "CLIENT",
    "authnMethod": "CLIENT_SECRET_POST",
    "clientSecretEnvVarName": "IDAAS_CLIENT_SECRET"
  },
  "httpConfiguration": {
    "connectTimeout": 5000,
    "readTimeout": 10000
  }
}

パラメーター

パラメーター

説明

idaasInstanceId

必須。Cloud Identity and Access Management (IDaaS EIAM) インスタンスの ID です。

clientId

必須。IDaaS アプリケーションの ID です。アプリケーションの詳細ページで確認できます。

issuer

必須。IDaaS EIAM インスタンスの発行者エンドポイントです。IDaaS EIAM インスタンス内の任意の M2M アプリケーションで確認できます。

tokenEndpoint

必須。IDaaS EIAM インスタンスのトークンエンドポイントです。IDaaS EIAM インスタンス内の任意の M2M アプリケーションで確認できます。

scope

必須。対象となる M2M サーバー側アプリケーションのオーディエンス識別子および権限識別子を指定します。形式は オーディエンス識別子|権限識別子 です。

IDaaS が管理する RAM ロールの STS トークンまたは認証情報を取得する場合、このパラメーターは組み込みの範囲である urn:cloud:idaas:pam|.all に設定する必要があります。

openApiEndpoint

任意。OpenAPI 認証に使用される IDaaS OpenAPI エンドポイントです。

サービスエンドポイントは、Cloud Identity and Access Management (IDaaS EIAM) - Alibaba Cloud OpenAPI Developer Portal から取得できます。

IDaaS インスタンスと同じリージョンの Alibaba Cloud VPC 内にアプリケーションがデプロイされている場合、内部 VPC アドレスを使用できます。

developerApiEndpoint

任意。IDaaS の DeveloperAPI エンドポイントです。IDaaS が管理する RAM ロールの STS トークンまたは認証情報を取得する場合に使用します。

サービスエンドポイントは、Cloud Identity and Access Management (IDaaS EIAM) - Alibaba Cloud OpenAPI Developer Portal から取得できます。

IDaaS インスタンスと同じリージョンの Alibaba Cloud VPC 内にアプリケーションがデプロイされている場合、内部 VPC アドレスを使用できます。

authnConfiguration

  • identityType:任意。デフォルト値は CLIENT です。現在は CLIENT のみがサポートされており、これは M2M クライアントアプリケーションがマシン ID として認証されることを意味します。

  • authnMethod:必須。認証方式です。authnConfiguration 内の他の必須フィールドは、この値によって決まります。詳細については、「authnMethod と authnConfiguration のマッピング」をご参照ください。

httpConfiguration

HTTP プロトコルの設定です。このオブジェクトには以下のフィールドが含まれます。

  • connectTimeout:任意。接続確立までの最大待機時間(ミリ秒単位)。デフォルト値:5000。

  • readTimeout:任意。接続確立後にサーバーからのデータ受信を待機する最大時間(ミリ秒単位)。デフォルト値:10000。

authnMethod と authnConfiguration のマッピング

authnMethod

必須フィールド

フィールドの説明

CLIENT_SECRET_BASIC

clientSecretEnvVarName

M2M クライアントアプリケーションのクライアントシークレットを格納する環境変数の名前です。

CLIENT_SECRET_POST

CLIENT_SECRET_JWT

PRIVATE_KEY_JWT

privateKeyEnvVarName

M2M クライアントアプリケーションの秘密鍵を格納する環境変数の名前です。

PKCS7

applicationFederatedCredentialName

PKCS7 フェデレーテッド認証情報の名前です。事前にフェデレーテッド信頼ソースを作成する必要があります。「フェデレーテッド認証情報の作成」をご参照ください。

clientDeployEnvironment

デプロイメント環境です。現在は ALIBABA_CLOUD_ECS のみがサポートされています。

OIDC

applicationFederatedCredentialName

OIDC フェデレーテッド認証情報の名前です。事前にフェデレーテッド信頼ソースを作成する必要があります。「フェデレーテッド認証情報の作成」をご参照ください。

clientDeployEnvironment

デプロイメント環境です。現在は KUBERNETES のみがサポートされています。

oidcTokenFilePath

任意。ServiceAccount トークンファイルのパスです。このパラメーターが設定されていない場合、SDK は oidcTokenFilePathEnvVarName で指定された環境変数からパスを読み取ります。どちらも設定されていない場合は、SDK がデフォルトの Kubernetes パス(/var/run/secrets/kubernetes.io/serviceaccount/token)を使用します。

oidcTokenFilePathEnvVarName

任意。ServiceAccount トークンファイルのパスを格納する環境変数の名前です。このパラメーターは、oidcTokenFilePath が指定されていない場合にのみ使用されます。

PCA

applicationFederatedCredentialName

PCA フェデレーテッド認証情報の名前です。事前にフェデレーテッド信頼ソースを作成する必要があります。「フェデレーテッド認証情報の作成」をご参照ください。

clientX509Certificate

エンドエンティティ証明書です。以下の形式で指定します。

-----BEGIN CERTIFICATE-----

xxx

-----END CERTIFICATE-----

x509CertChains

中間証明書のリストです。複数の証明書は改行文字で連結します。フォーマットは以下のとおりです。

-----BEGIN CERTIFICATE-----

xxx

-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----

xxx

-----END CERTIFICATE-----

privateKeyEnvVarName

M2M クライアントアプリケーションの秘密鍵を格納する環境変数の名前です。

PLUGIN

pluginName

pluginName は拡張プラグインの名前です。サポートされている値は alibabacloudPluginCredentialProvider のみであり、これは Alibaba Cloud OpenAPI 認証方式を指定します。Alibaba Cloud OpenAPI 認証を使用する場合、以下の構成を完了する必要があります。

  • Alibaba Cloud 認証拡張プラグインのインストール。詳細については、「Java SDK のインストール」をご参照ください。

  • RAM 権限の構成。詳細については、「OpenAPI 認証」をご参照ください。

構成例

以下に、さまざまな認証方式の構成例を示します。

例:クライアントシークレット認証情報

{
  "idaasInstanceId": "idaas_xxx",      
  "clientId": "app_xxx",               
  "issuer":"https://xxx/api/v2/iauths_system/oauth2",               
  "tokenEndpoint": "https://xxx/api/v2/iauths_system/oauth2/token",
  "scope": "api.example.com|read:file",
  "authnConfiguration": {
    "identityType": "CLIENT",
    "authnMethod": "CLIENT_SECRET_BASIC",
    "clientSecretEnvVarName": "IDAAS_CLIENT_SECRET"
  },
  "httpConfiguration": {
    "connectTimeout": 5000,
    "readTimeout": 10000
  }
}

例:公開鍵・秘密鍵認証情報

{
  "idaasInstanceId": "idaas_xxx",      
  "clientId": "app_xxx",               
  "issuer":"https://xxx/api/v2/iauths_system/oauth2",               
  "tokenEndpoint": "https://xxx/api/v2/iauths_system/oauth2/token",
  "scope": "api.example.com|read:file",
  "authnConfiguration": {
    "identityType": "CLIENT",
    "authnMethod": "PRIVATE_KEY_JWT",
    "privateKeyEnvVarName": "ENV_PRIVATE_KEY"
  },
  "httpConfiguration": {
    "connectTimeout": 5000,
    "readTimeout": 10000
  }
}

例:PKCS7 フェデレーテッド認証情報

{
  "idaasInstanceId": "idaas_xxx",      
  "clientId": "app_xxx",               
  "issuer":"https://xxx/api/v2/iauths_system/oauth2",               
  "tokenEndpoint": "https://xxx/api/v2/iauths_system/oauth2/token",
  "scope": "api.example.com|read:file",
  "authnConfiguration": {
    "identityType": "CLIENT",
    "authnMethod": "PKCS7",
    "applicationFederatedCredentialName": "your_pkcs7_federated_credential_name",
    "clientDeployEnvironment": "ALIBABA_CLOUD_ECS"
  },
  "httpConfiguration": {
    "connectTimeout": 5000,
    "readTimeout": 10000
  }
}

例:OIDC フェデレーテッド認証情報

{
  "idaasInstanceId": "idaas_xxx",      
  "clientId": "app_xxx",               
  "issuer":"https://xxx/api/v2/iauths_system/oauth2",               
  "tokenEndpoint": "https://xxx/api/v2/iauths_system/oauth2/token",
  "scope": "api.example.com|read:file",
  "authnConfiguration": {
    "identityType": "CLIENT",
    "authnMethod": "OIDC",
    "applicationFederatedCredentialName": "your_oidc_federated_credential_name",
    "clientDeployEnvironment": "KUBERNETES",
    "oidcTokenFilePath": "/var/run/secrets/.../token",
    "oidcTokenFilePathEnvVarName": "ENV_OIDC_TOKEN_FILE_PATH"
  },
  "httpConfiguration": {
    "connectTimeout": 5000,
    "readTimeout": 10000
  }
}

例:PCA フェデレーテッド認証情報

{
  "idaasInstanceId": "idaas_xxx",      
  "clientId": "app_xxx",               
  "issuer":"https://xxx/api/v2/iauths_system/oauth2",               
  "tokenEndpoint": "https://xxx/api/v2/iauths_system/oauth2/token",
  "scope": "api.example.com|read:file",
  "authnConfiguration": {
    "identityType": "CLIENT",
    "authnMethod": "PCA",
    "applicationFederatedCredentialName": "your_pca_federated_credential_name",
    "clientX509Certificate": "-----BEGIN CERTIFICATE-----\nxxxxxx\n-----END CERTIFICATE-----",
    "x509CertChains": "-----BEGIN CERTIFICATE-----\nxxxxxx\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nxxxxxx\n-----END CERTIFICATE-----",
    "privateKeyEnvVarName": "ENV_PRIVATE_KEY"
  },
  "httpConfiguration": {
    "connectTimeout": 5000,
    "readTimeout": 10000
  }
}

例:OpenAPI 認証

{
  "idaasInstanceId": "idaas_xxx", 
  "clientId": "app_xxx", 
  "issuer":"https://xxx/api/v2/iauths_system/oauth2", 
  "tokenEndpoint": "https://xxx/api/v2/iauths_system/oauth2/token",
  "scope": "api.example.com|read:file",
  "openApiEndpoint":"eiam.[region_id].aliyuncs.com",
  "authnConfiguration": {
    "identityType": "CLIENT",
    "authnMethod": "PLUGIN",
    "pluginName": "alibabacloudPluginCredentialProvider"
  },
  "httpConfiguration": {
    "connectTimeout": 5000,
    "readTimeout": 10000
  }
}