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

Key Management Service:Credentials client

最終更新日:Dec 05, 2025

認証情報クライアントは、Key Management Service (KMS) OpenAPI と KMS インスタンス API を基盤に構築されたカスタムラッパーです。アプリケーション内での認証情報のキャッシュと更新機能をカプセル化しています。このアプローチにより、ビジネスの安定性が向上し、開発者はビジネスアプリケーションへの統合を簡素化できます。認証情報クライアントは、すべての認証情報タイプに対応した認証情報の値の取得をサポートしています。本トピックでは、認証情報クライアントのインストール方法と使用方法について説明します。

SDK の概要

認証情報クライアントは、KMS インスタンス API に基づいています。認証情報のキャッシュ、ベストプラクティス、デザインパターンをカプセル化し、開発者がビジネスシステムに統合するのを簡素化します。KMS は、KMS インスタンスソフトウェア開発キット (SDK) と Alibaba Cloud SDK も提供しており、これらも認証情報の値を取得するために使用できます。詳細については、「SDK リファレンス」をご参照ください。

説明

認証情報に対する管理操作を実行するには、Alibaba Cloud SDK のみを使用できます。

認証情報クライアントには、以下の特徴があります。

  • 開発者は、1 行のコードで認証情報機能をアプリケーションに迅速に統合し、認証情報情報を読み取ることができます。

  • アプリケーション内で認証情報をキャッシュおよび更新する機能をカプセル化します。

  • API エラーリトライメカニズムをカプセル化し、サーバー側のエラーをインテリジェントに処理します。

  • オープンなプラグインデザインパターンを提供し、開発者がキャッシュやエラーリトライなどの機能モジュールをカスタマイズおよび拡張できるようにします。

注意事項

  • サポートされる認証情報タイプ:汎用シークレット、RAM 認証情報、ECS 認証情報、データベース認証情報。

  • サポートされるプログラミング言語:Java (Java 8 以降)、Python、Go。

共有ゲートウェイを介した認証情報の値の取得

ネットワークタイプは、パブリックネットワークまたは VPC が利用可能です。

ステップ 1:アクセス認証情報の作成

このメソッドは、インスタンス RAM ロール、RamRoleArn、Security Token Service (STS) トークン、AccessKey などのメソッドを使用して、Resource Access Management (RAM) による ID 認証をサポートします。詳細については、「アクセス認証情報の管理」をご参照ください。

インスタンス RAM ロール

RamRoleArn

STS トークン

AccessKey

ClientKey (非推奨)

ステップ 2:認証情報クライアントのインストール

Java

Maven を使用して、プロジェクトに認証情報クライアントをインストールできます。

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>alibabacloud-secretsmanager-client</artifactId>
    <version>1.4.x</version>
</dependency>
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-core</artifactId>
  <version>4.5.x</version>
</dependency>
重要

最新バージョンを使用してください。バージョンとソースコードの詳細については、「alibabacloud-secretsmanager-client-java」をご参照ください。

Python

インストールとソースコードの詳細については、「aliyun-secretsmanager-client-python」をご参照ください。

pip コマンドを実行して、認証情報クライアントをインストールできます。

# 以下のコマンドが失敗した場合は、pip を pip3 に置き換えてください
pip install aliyun-secret-manager-client

Go

インストールとソースコードの詳細については、「aliyun-secretsmanager-client-go」をご参照ください。

go get コマンドを使用して、認証情報クライアントをインストールできます。

重要

Go 用の認証情報クライアントが依存する alibaba-cloud-sdk-go のバージョンは、v1.63.0 より前である必要があります。互換性の問題を回避するために、プラグインの go.mod ファイルでバージョンを確認できます。

go get -u github.com/aliyun/aliyun-secretsmanager-client-go

ステップ 3:クライアントの初期化と認証情報の値の取得

Java

認証情報の値を取得するためのサンプルコードは、クライアントの初期化メソッドによって異なります。以下のいずれかのメソッドを選択できます。

  • メソッド 1:環境変数または secretsmanager.properties 設定ファイルを使用したクライアントの初期化

    環境変数または secretsmanager.properties 設定ファイルのいずれかを使用できます。

    環境変数

    環境変数の設定方法はオペレーティングシステムによって異なります。詳細については、「Linux、macOS、Windows で環境変数を設定する」をご参照ください。

    インスタンス RAM ロール

    パラメーター

    パラメーター値

    credentials_type

    固定値:ecs_ram_role。

    credentials_role_name

    RAM ロール名。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    RamRoleArn

    パラメーター

    パラメーター値

    credentials_type

    固定値:ram_role。

    credentials_role_session_name

    RAM ロールの名前。

    credentials_role_arn

    RAM ロールの ARN。

    credentials_access_key_id

    AccessKey ID。

    credentials_access_secret

    AccessKey Secret。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    STS トークン

    パラメーター

    パラメーター値

    credentials_type

    固定値:sts。

    credentials_role_session_name

    RAM ロール名。

    credentials_role_arn

    RAM ロールの ARN。

    credentials_access_key_id

    AccessKey ID。

    credentials_access_secret

    AccessKey Secret。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    AccessKey

    パラメーター

    パラメーター値

    credentials_type

    固定値:ak。

    credentials_access_key_id

    AccessKey ID。

    credentials_access_secret

    AccessKey Secret。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    ClientKey

    パラメーター

    パラメーター値

    credentials_type

    固定値:client_key。

    client_key_password_from_env_variable

    ClientKey のパスワードがシステム環境変数から取得されることを示します。値は、パスワードのシステム環境変数の名前です。

    このパラメーターを設定する場合、システム環境変数にパスワードを設定する必要があります。変数名はカスタマイズできます。

    client_key_password_from_file_path

    ClientKey のパスワードがファイルから取得されることを示します。値は、パスワードファイルの絶対パスまたは相対パスです。

    このパラメーターを設定する場合、ファイルにパスワードを設定する必要があります。ファイル名はカスタマイズできます。

    説明

    client_key_password_from_env_variable または client_key_password_from_file_path のいずれか一方のパラメーターを選択してください。

    client_key_private_key_path

    ClientKey ファイルの絶対パスまたは相対パス。

    このパラメーターを設定する場合、ClientKey ファイルを適切な場所に保存する必要があります。ファイル名はカスタマイズできます。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    secretsmanager.properties 設定ファイル

    設定ファイル名は secretsmanager.properties である必要があります。

    設定ファイルの内容は、認証方式によって異なります。

    インスタンス RAM ロール

    # アクセス認証情報タイプ
    credentials_type=ecs_ram_role
    # ECS RAM ロール名
    credentials_role_name=#credentials_role_name#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]

    RAMRoleArn

    # アクセス認証情報タイプ
    credentials_type=ram_role
    # ロール名
    credentials_role_session_name=#role name#
    # リソース ARN
    credentials_role_arn=#role arn#
    # AccessKey ID
    credentials_access_key_id=#access key id#
    # AccessKey Secret
    credentials_access_secret=#access key secret#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]

    STS トークン

    # アクセス認証情報タイプ
    credentials_type=sts
    # ロール名
    credentials_role_session_name=#role name#
    # リソース ARN
    credentials_role_arn=#role arn#
    # AccessKey ID
    credentials_access_key_id=#access key id#
    # AccessKey Secret
    credentials_access_secret=#access key secret#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]

    AccessKey

    # アクセス認証情報タイプ
    credentials_type=ak
    # AccessKey ID
    credentials_access_key_id=#access key id#
    # AccessKey Secret
    credentials_access_secret=#access key secret#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]

    ClientKey

    # アクセス認証情報タイプ
    credentials_type=client_key
    
    # クライアントキーの復号パスワードを読み取ります。環境変数またはファイルから読み取ることができます。
    client_key_password_from_env_variable=#your client key private key password environment variable name#
    client_key_password_from_file_path=#your client key private key password file path#
    
    # Client Key 秘密鍵ファイルのパス
    client_key_private_key_path=#your client key private key file path#
    
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#secretName# をご利用の認証情報名に置き換えてください。

    import com.aliyuncs.kms.secretsmanager.client.SecretCacheClient;
    import com.aliyuncs.kms.secretsmanager.client.SecretCacheClientBuilder;
    import com.aliyuncs.kms.secretsmanager.client.exception.CacheSecretException;
    import com.aliyuncs.kms.secretsmanager.client.model.SecretInfo;
    
    public class CacheClientEnvironmentSample {
    
        public static void main(String[] args) {
            try {
                // 認証情報クライアントをビルドします。
                SecretCacheClient client = SecretCacheClientBuilder.newClient();
                // ビルドされたクライアントを使用して、認証情報情報を取得します。
                SecretInfo secretInfo = client.getSecretInfo("#secretName#");
                System.out.println(secretInfo);
            } catch (CacheSecretException e) {
                e.printStackTrace();
            }
        }
    }
  • メソッド 2:カスタム設定ファイルを使用したクライアントの初期化

    設定ファイルの名前とパスを定義する必要があります。

    設定ファイル

    設定ファイルの内容は、認証方式によって異なります。

    インスタンス RAM ロール
    # アクセス認証情報タイプ
    credentials_type=ecs_ram_role
    # ECS RAM ロール名
    credentials_role_name=#credentials_role_name#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]
    RAMRoleArn
    # アクセス認証情報タイプ
    credentials_type=ram_role
    # ロール名
    credentials_role_session_name=#role name#
    # リソース ARN
    credentials_role_arn=#role arn#
    # AccessKey ID
    credentials_access_key_id=#access key id#
    # AccessKey Secret
    credentials_access_secret=#access key secret#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]
    STS トークン
    # アクセス認証情報タイプ
    credentials_type=sts
    # ロール名
    credentials_role_session_name=#role name#
    # リソース ARN
    credentials_role_arn=#role arn#
    # AccessKey ID
    credentials_access_key_id=#access key id#
    # AccessKey Secret
    credentials_access_secret=#access key secret#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]
    AccessKey
    # アクセス認証情報タイプ
    credentials_type=ak
    # AccessKey ID
    credentials_access_key_id=#access key id#
    # AccessKey Secret
    credentials_access_secret=#access key secret#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]
    ClientKey
    # アクセス認証情報タイプ
    credentials_type=client_key
    
    # クライアントキーの復号パスワードを読み取ります。環境変数またはファイルから読み取ることができます。
    client_key_password_from_env_variable=#your client key private key password environment variable name#
    client_key_password_from_file_path=#your client key private key password file path#
    
    # Client Key 秘密鍵ファイルのパス
    client_key_private_key_path=#your client key private key file path#
    
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#customConfigFileName# をカスタム設定ファイル名に、#secretName# をご利用の認証情報名に置き換えてください。

    import com.aliyuncs.kms.secretsmanager.client.SecretCacheClient;
    import com.aliyuncs.kms.secretsmanager.client.SecretCacheClientBuilder;
    import com.aliyuncs.kms.secretsmanager.client.exception.CacheSecretException;
    import com.aliyuncs.kms.secretsmanager.client.model.SecretInfo;
    import com.aliyuncs.kms.secretsmanager.client.service.BaseSecretManagerClientBuilder;
    
    public class CacheClientCustomConfigFileSample {
    
        public static void main(String[] args) {
            try {
                SecretCacheClient client = SecretCacheClientBuilder.newCacheClientBuilder(
                        BaseSecretManagerClientBuilder.standard().withCustomConfigFile("#customConfigFileName#").build()).build();
                SecretInfo secretInfo = client.getSecretInfo("#secretName#");
                System.out.println(secretInfo);
            } catch (CacheSecretException e) {
                System.out.println("CacheSecretException:" + e.getMessage());
            }
        }
    }
  • メソッド 3:パラメーター (accessKey, accessSecret, regionId) を指定したクライアントの初期化

    このメソッドは、AccessKey を認証に使用するシナリオにのみ適用されます。

    説明

    Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作に対する権限を持っています。AccessKey ペアを使用した操作はリスクの高い操作です。また、RAM ユーザーを使用して API 操作を呼び出すか、日常の O&M を実行してください。プロジェクトコードに AccessKey ID と AccessKey Secret を保存しないことを推奨します。保存すると、AccessKey ペアが漏洩し、アカウントに属するすべてのリソースのセキュリティが侵害される可能性があります。

    この例では、AccessKey ペアは ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数に保存され、ID 認証を実装します。

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#regionId# を実際のリージョン ID に、#secretName# をご利用の認証情報名に置き換えてください。

    import com.aliyuncs.kms.secretsmanager.client.SecretCacheClient;
    import com.aliyuncs.kms.secretsmanager.client.SecretCacheClientBuilder;
    import com.aliyuncs.kms.secretsmanager.client.exception.CacheSecretException;
    import com.aliyuncs.kms.secretsmanager.client.model.SecretInfo;
    import com.aliyuncs.kms.secretsmanager.client.service.BaseSecretManagerClientBuilder;
    import com.aliyuncs.kms.secretsmanager.client.utils.CredentialsProviderUtils;
    
    public class CacheClientSimpleParametersSample {
    
        public static void main(String[] args) {
            try {
                SecretCacheClient client = SecretCacheClientBuilder.newCacheClientBuilder(
                        BaseSecretManagerClientBuilder.standard().withCredentialsProvider(CredentialsProviderUtils
                                .withAccessKey(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))).withRegion("#regionId#").build()).build();
                SecretInfo secretInfo = client.getSecretInfo("#secretName#");
                System.out.println(secretInfo);
            } catch (CacheSecretException e) {
                e.printStackTrace();
            }
        }
    }

Python

認証情報の値を取得するためのサンプルコードは、クライアントの初期化メソッドによって異なります。以下のいずれかのメソッドを選択できます。

  • メソッド 1:環境変数または secretsmanager.properties 設定ファイルを使用したクライアントの初期化

    環境変数または secretsmanager.properties 設定ファイルのいずれかを使用できます。

    環境変数

    環境変数の設定方法はオペレーティングシステムによって異なります。詳細については、「Linux、macOS、Windows で環境変数を設定する」をご参照ください。

    インスタンス RAM ロール

    パラメーター

    パラメーター値

    credentials_type

    固定値:ecs_ram_role。

    credentials_role_name

    RAM ロール名。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    RamRoleArn

    パラメーター

    パラメーター値

    credentials_type

    固定値:ram_role。

    credentials_role_session_name

    RAM ロールの名前。

    credentials_role_arn

    RAM ロールの ARN。

    credentials_access_key_id

    AccessKey ID。

    credentials_access_secret

    AccessKey Secret。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    STS トークン

    パラメーター

    パラメーター値

    credentials_type

    固定値:sts。

    credentials_role_session_name

    RAM ロール名。

    credentials_role_arn

    RAM ロールの ARN。

    credentials_access_key_id

    AccessKey ID。

    credentials_access_secret

    AccessKey Secret。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    AccessKey

    パラメーター

    パラメーター値

    credentials_type

    固定値:ak。

    credentials_access_key_id

    AccessKey ID。

    credentials_access_secret

    AccessKey Secret。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    ClientKey

    パラメーター

    パラメーター値

    credentials_type

    固定値:client_key。

    client_key_password_from_env_variable

    ClientKey のパスワードがシステム環境変数から取得されることを示します。値は、パスワードのシステム環境変数の名前です。

    このパラメーターを設定する場合、システム環境変数にパスワードを設定する必要があります。変数名はカスタマイズできます。

    client_key_password_from_file_path

    ClientKey のパスワードがファイルから取得されることを示します。値は、パスワードファイルの絶対パスまたは相対パスです。

    このパラメーターを設定する場合、ファイルにパスワードを設定する必要があります。ファイル名はカスタマイズできます。

    説明

    client_key_password_from_env_variable または client_key_password_from_file_path のいずれか一方のパラメーターを選択してください。

    client_key_private_key_path

    ClientKey ファイルの絶対パスまたは相対パス。

    このパラメーターを設定する場合、ClientKey ファイルを適切な場所に保存する必要があります。ファイル名はカスタマイズできます。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    secretsmanager.properties 設定ファイル

    設定ファイル名は secretsmanager.properties である必要があります。

    設定ファイルの内容は、認証方式によって異なります。

    インスタンス RAM ロール
    # アクセス認証情報タイプ
    credentials_type=ecs_ram_role
    # ECS RAM ロール名
    credentials_role_name=#credentials_role_name#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]
    RAMRoleArn
    # アクセス認証情報タイプ
    credentials_type=ram_role
    # ロール名
    credentials_role_session_name=#role name#
    # リソース ARN
    credentials_role_arn=#role arn#
    # AccessKey ID
    credentials_access_key_id=#access key id#
    # AccessKey Secret
    credentials_access_secret=#access key secret#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]
    STS トークン
    # アクセス認証情報タイプ
    credentials_type=sts
    # ロール名
    credentials_role_session_name=#role name#
    # リソース ARN
    credentials_role_arn=#role arn#
    # AccessKey ID
    credentials_access_key_id=#access key id#
    # AccessKey Secret
    credentials_access_secret=#access key secret#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]
    AccessKey
    # アクセス認証情報タイプ
    credentials_type=ak
    # AccessKey ID
    credentials_access_key_id=#access key id#
    # AccessKey Secret
    credentials_access_secret=#access key secret#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]
    ClientKey
    # アクセス認証情報タイプ
    credentials_type=client_key
    
    # クライアントキーの復号パスワードを読み取ります。環境変数またはファイルから読み取ることができます。
    client_key_password_from_env_variable=#your client key private key password environment variable name#
    client_key_password_from_file_path=#your client key private key password file path#
    
    # Client Key 秘密鍵ファイルのパス
    client_key_private_key_path=#your client key private key file path#
    
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#secretName# をご利用の認証情報名に置き換えてください。

    from alibaba_cloud_secretsmanager_client.secret_manager_cache_client_builder import SecretManagerCacheClientBuilder
    
    if __name__ == '__main__':
        # 認証情報クライアントをビルドします。
        secret_cache_client = SecretManagerCacheClientBuilder.new_client()
        # ビルドされたクライアントを使用して、認証情報情報を取得します。
        secret_info = secret_cache_client.get_secret_info("#secretName#")
        print(secret_info.__dict__)
  • メソッド 2:パラメーター (accessKey, accessSecret, regionId) を指定したクライアントの初期化

    このメソッドは、AccessKey を認証に使用するシナリオにのみ適用されます。

    説明

    Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作に対する権限を持っています。AccessKey ペアを使用した操作はリスクの高い操作です。RAM ユーザーを使用して API 操作を呼び出すか、日常の O&M を実行することを推奨します。プロジェクトコードに AccessKey ID と AccessKey Secret を保存しないことを推奨します。保存すると、AccessKey ペアが漏洩し、アカウントに属するすべてのリソースのセキュリティが侵害される可能性があります。

    この例では、AccessKey ペアは ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数に保存され、ID 認証を実装します。

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#regionId# を実際のリージョン ID に、#secretName# をご利用の認証情報名に置き換えてください。

    import os
    
    from alibaba_cloud_secretsmanager_client.secret_manager_cache_client_builder import SecretManagerCacheClientBuilder
    from alibaba_cloud_secretsmanager_client.service.default_secret_manager_client_builder import DefaultSecretManagerClientBuilder
    
    if __name__ == '__main__':
        secret_cache_client = SecretManagerCacheClientBuilder.new_cache_client_builder(DefaultSecretManagerClientBuilder.standard() \
            .with_access_key(os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")) \
            .with_region("#regionId#").build()) \
        .build();
        secret_info = secret_cache_client.get_secret_info("#secretName#")
        print(secret_info.__dict__)

Go

認証情報の値を取得するためのサンプルコードは、クライアントの初期化メソッドによって異なります。以下のいずれかのメソッドを選択できます。

  • メソッド 1:環境変数または secretsmanager.properties 設定ファイルを使用したクライアントの初期化

    環境変数または secretsmanager.properties 設定ファイルのいずれかを使用できます。

    環境変数

    環境変数の設定方法はオペレーティングシステムによって異なります。詳細については、「Linux、macOS、Windows で環境変数を設定する」をご参照ください。

    インスタンス RAM ロール

    パラメーター

    パラメーター値

    credentials_type

    固定値:ecs_ram_role。

    credentials_role_name

    RAM ロール名。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    RamRoleArn

    パラメーター

    パラメーター値

    credentials_type

    固定値:ram_role。

    credentials_role_session_name

    RAM ロールの名前。

    credentials_role_arn

    RAM ロールの ARN。

    credentials_access_key_id

    AccessKey ID。

    credentials_access_secret

    AccessKey Secret。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    STS トークン

    パラメーター

    パラメーター値

    credentials_type

    固定値:sts。

    credentials_role_session_name

    RAM ロール名。

    credentials_role_arn

    RAM ロールの ARN。

    credentials_access_key_id

    AccessKey ID。

    credentials_access_secret

    AccessKey Secret。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    AccessKey

    パラメーター

    パラメーター値

    credentials_type

    固定値:ak。

    credentials_access_key_id

    AccessKey ID。

    credentials_access_secret

    AccessKey Secret。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    ClientKey

    パラメーター

    パラメーター値

    credentials_type

    固定値:client_key。

    client_key_password_from_env_variable

    ClientKey のパスワードがシステム環境変数から取得されることを示します。値は、パスワードのシステム環境変数の名前です。

    このパラメーターを設定する場合、システム環境変数にパスワードを設定する必要があります。変数名はカスタマイズできます。

    client_key_password_from_file_path

    ClientKey のパスワードがファイルから取得されることを示します。値は、パスワードファイルの絶対パスまたは相対パスです。

    このパラメーターを設定する場合、ファイルにパスワードを設定する必要があります。ファイル名はカスタマイズできます。

    説明

    client_key_password_from_env_variable または client_key_password_from_file_path のいずれか一方のパラメーターを選択してください。

    client_key_private_key_path

    ClientKey ファイルの絶対パスまたは相対パス。

    このパラメーターを設定する場合、ClientKey ファイルを適切な場所に保存する必要があります。ファイル名はカスタマイズできます。

    cache_client_region_id

    フォーマットは [{"regionId":"<your region id>"}] です。<your region id> を実際のリージョン ID に置き換えてください。

    重要

    Linux では、export コマンドを使用して環境変数を設定する場合、エスケープ文字を追加します。例:[{\"regionId\":\"<your region id>\"}]

    secretsmanager.properties 設定ファイル

    設定ファイル名は secretsmanager.properties である必要があります。

    設定ファイルの内容は、認証方式によって異なります。

    インスタンス RAM ロール
    # アクセス認証情報タイプ
    credentials_type=ecs_ram_role
    # ECS RAM ロール名
    credentials_role_name=#credentials_role_name#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]
    RAMRoleArn
    # アクセス認証情報タイプ
    credentials_type=ram_role
    # ロール名
    credentials_role_session_name=#role name#
    # リソース ARN
    credentials_role_arn=#role arn#
    # AccessKey ID
    credentials_access_key_id=#access key id#
    # AccessKey Secret
    credentials_access_secret=#access key secret#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]
    STS トークン
    # アクセス認証情報タイプ
    credentials_type=sts
    # ロール名
    credentials_role_session_name=#role name#
    # リソース ARN
    credentials_role_arn=#role arn#
    # AccessKey ID
    credentials_access_key_id=#access key id#
    # AccessKey Secret
    credentials_access_secret=#access key secret#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]
    AccessKey
    # アクセス認証情報タイプ
    credentials_type=ak
    # AccessKey ID
    credentials_access_key_id=#access key id#
    # AccessKey Secret
    credentials_access_secret=#access key secret#
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]
    ClientKey
    # アクセス認証情報タイプ
    credentials_type=client_key
    
    # クライアントキーの復号パスワードを読み取ります。環境変数またはファイルから読み取ることができます。
    client_key_password_from_env_variable=#your client key private key password environment variable name#
    client_key_password_from_file_path=#your client key private key password file path#
    
    # Client Key 秘密鍵ファイルのパス
    client_key_private_key_path=#your client key private key file path#
    
    # 関連する KMS サービスのリージョン
    cache_client_region_id=[{"regionId":"#regionId#"}]

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#secretName# をご利用の認証情報名に置き換えてください。

    package main
    
    import (
        "fmt"
        "github.com/aliyun/aliyun-secretsmanager-client-go/sdk"
    )
    func main() { 
       // 認証情報クライアントをビルドします。
        client, err := sdk.NewClient()
        if err != nil {
            // 例外を処理します
            panic(err)
        }
       // ビルドされたクライアントを使用して、認証情報情報を取得します。
        secretInfo, err := client.GetSecretInfo("#secretName#")
        if err != nil {
            // 例外を処理します
            panic(err)
        }
        fmt.Printf("SecretValue:%s\n",secretInfo.SecretValue)
    }
  • パラメーター (accessKey, accessSecret, regionId) を指定したクライアントの初期化

    このメソッドは、AccessKey を認証に使用するシナリオにのみ適用されます。

    説明

    Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作に対する権限を持っています。AccessKey ペアを使用した操作はリスクの高い操作です。RAM ユーザーを使用して API 操作を呼び出すか、日常の O&M を実行することを推奨します。プロジェクトコードに AccessKey ID と AccessKey Secret を保存しないことを推奨します。保存すると、AccessKey ペアが漏洩し、アカウントに属するすべてのリソースのセキュリティが侵害される可能性があります。

    この例では、AccessKey ペアは ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数に保存され、ID 認証を実装します。

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#regionId# を実際のリージョン ID に、#secretName# をご利用の認証情報名に置き換えてください。

    package main
    
    import (
    	"github.com/aliyun/aliyun-secretsmanager-client-go/sdk/service"
    	"github.com/aliyun/aliyun-secretsmanager-client-go/sdk"
    	"os"
    )
    
    func main() {
    	client, err := sdk.NewSecretCacheClientBuilder(service.NewDefaultSecretManagerClientBuilder().Standard().WithAccessKey(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")).WithRegion("#regionId#").Build()).Build()
    	if err != nil {
    		// 例外を処理します
    		panic(err)
    	}
    	secretInfo, err := client.GetSecretInfo("#secretName#")
    	if err != nil {
    		// 例外を処理します
    		panic(err)
    	}
    }

専用ゲートウェイを介した認証情報の値の取得 (非推奨)

ネットワークタイプは KMS プライベートネットワークです。

ステップ 1:アクセス認証情報の作成

アクセス認証情報として ClientKey のみがサポートされています。

ステップ 2:認証情報クライアントのインストール

Java

Maven を使用して、プロジェクトに認証情報クライアントをインストールできます。

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>alibabacloud-secretsmanager-client</artifactId>
    <version>1.4.x</version>
</dependency>
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-core</artifactId>
  <version>4.5.x</version>
</dependency>
重要

最新バージョンを使用してください。バージョンとソースコードの詳細については、「alibabacloud-secretsmanager-client-java」をご参照ください。

Python

インストールとソースコードの詳細については、「aliyun-secretsmanager-client-python」をご参照ください。

pip コマンドを実行して、認証情報クライアントをインストールできます。

# 以下のコマンドが失敗した場合は、pip を pip3 に置き換えてください
pip install aliyun-secret-manager-client

Go

インストールとソースコードの詳細については、「aliyun-secretsmanager-client-go」をご参照ください。

go get コマンドを使用して、認証情報クライアントをインストールできます。

go get -u github.com/aliyun/aliyun-secretsmanager-client-go

ステップ 3:認証情報クライアントの初期化と認証情報の値の取得

Java

認証情報の値を取得するためのサンプルコードは、クライアントの初期化メソッドによって異なります。以下のいずれかのメソッドを選択できます。

  • メソッド 1:環境変数または secretsmanager.properties 設定ファイルを使用したクライアントの初期化

    環境変数または secretsmanager.properties 設定ファイルのいずれかを使用できます。

    環境変数

    • メソッド 1:環境変数から ClientKey パスワードを取得する

      パラメーター

      パラメーター値

      cache_client_dkms_config_info

      パラメーター値のフォーマットは [{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromEnvVariable":"<YOUR_PASSWORD_ENV_VARIABLE>","clientKeyFile":"<your ClientKey file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}] です。

      このメソッドでは、ClientKey の 認証情報パスワード (ClientKeyPassword) の内容を環境変数に設定する必要もあります。変数名はカスタマイズできます。設定後、<YOUR_PASSWORD_ENV_VARIABLE> を変数名に置き換えてください。

      例えば、Linux オペレーティングシステムの場合:

      export cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromEnvVariable":"passwordFromEnvVariable","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]
    • メソッド 2:ファイルから ClientKey パスワードを取得する

      ダウンロードされた ClientKey 認証情報パスワード (ClientKeyPassword) ファイルは、デフォルトで clientKey_****_Password.txt という名前です。ファイル名を変更できますが、cache_client_dkms_config_info の値にある <your Client Key file path> を新しいファイルパスに置き換える必要があります。

      パラメーター

      パラメーター値

      cache_client_dkms_config_info

      パラメーター値のフォーマットは [{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromFilePath":"< your password file path >","clientKeyFile":"<your Client Key file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}] です。

      例えば、Linux オペレーティングシステムの場合:

      export cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromFilePath":"C:\RamSecretPlugin\src\main\resources\clientKeyPassword.txt","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]

    各設定項目の説明:

    設定項目

    パラメーターの説明

    説明

    リージョン ID

    KMS インスタンスが配置されているリージョン ID。

    特定のリージョン ID については、「リージョンとゾーン」をご参照ください。

    エンドポイント

    KMS インスタンスのドメイン名。フォーマットは {instance ID}.kms.aliyuncs.com です。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、インスタンス VPC エンドポイント がエンドポイントです。

    clientKeyFile

    JSON 形式の ClientKey ファイルの絶対パスまたは相対パス。

    • ClientKey ファイルには、アプリケーションアクセスポイント (AAP) で ClientKey を作成する際にダウンロードされる Application Access Secret (ClientKeyContent) が含まれています。デフォルトのファイル名は ClientKey_******.json です。

    • 認証情報パスワード:AAP で ClientKey を作成する際にダウンロードされる 認証情報パスワード (ClientKeyPassword)。デフォルトでは、このパスワードは ClientKey_******_password.txt ファイルにあります。

    重要

    ClientKey ファイルと認証情報パスワードは 1 対 1 で対応しています。これらは ClientKey を作成するときにのみ取得できます。作成時に保存しなかった場合は、AAP で新しい ClientKey を作成する必要があります。詳細については、「アプリケーションアクセスポイントの作成」をご参照ください。

    passwordFromFilePath または passwordFromEnvVariable

    • passwordFromFilePath:認証情報パスワードを含むファイルの絶対パスまたは相対パス。

    • passwordFromEnvVariable:値は、認証情報パスワードを含む環境変数の名前です。

    SSL 証明書を無視

    KMS インスタンスの SSL 証明書の有効性チェックを無視するかどうかを指定します。KMS インスタンスには組み込みの SSL 証明書があり、認証と暗号化通信に SSL/TLS プロトコルを使用します。有効な値は次のとおりです。

    • true:有効性チェックを無視します。

      説明

      値を true に設定した場合、caFilePath を設定する必要はありません。

    • false:有効性チェックを実行します。

    本番環境では、このパラメーターを false に設定する必要があります。

    caFilePath

    KMS インスタンスの CA 証明書ファイルの絶対パスまたは相対パス。

    KMS インスタンスの CA 証明書は、KMS インスタンスの SSL 証明書の有効性を確認するために使用されます。例えば、SSL 証明書が対応する CA によって発行されたか、有効期間内であるか、KMS インスタンスのドメイン名 (エンドポイント) に対応しているかなどを確認します。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、Instance CA Certificate セクションの ダウンロード をクリックします。

    secretsmanager.properties 設定ファイル

    設定ファイル名は secretsmanager.properties である必要があります。

    設定パラメーターは cache_client_dkms_config_info です。cache_client_dkms_config_info は JSON 配列フォーマットを使用します。複数の KMS インスタンスを設定して、より高いサービスの可用性とディザスタリカバリを実現できます。

    • メソッド 1:環境変数から ClientKey パスワードを取得する

      設定ファイルの内容は次のとおりです。

      cache_client_dkms_config_info=[{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromEnvVariable":"<YOUR_PASSWORD_ENV_VARIABLE>","clientKeyFile":"<your ClientKey file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]

      このメソッドでは、認証情報パスワード (ClientKeyPassword) のカスタム名の環境変数を設定する必要もあります。設定後、<YOUR_PASSWORD_ENV_VARIABLE> を変数名に置き換えてください。例:

      cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromEnvVariable":"passwordFromEnvVariable","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]
    • メソッド 2:ファイルから ClientKey パスワードを取得する

      デフォルトでは、ClientKey 認証情報パスワード (ClientKeyPassword) のダウンロードされたファイル名は clientKey_****_Password.txt です。ファイル名を変更した場合は、cache_client_dkms_config_info の値にある <your Client Key file path> を新しいファイルパスに置き換える必要があります。

      設定ファイルの内容は次のとおりです。

      cache_client_dkms_config_info=[{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromFilePath":"< your password file path >","clientKeyFile":"<your Client Key file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]

      例:

      cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromFilePath":"C:\RamSecretPlugin\src\main\resources\clientKeyPassword.txt","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]

    各設定項目の説明:

    設定項目

    パラメーターの説明

    説明

    リージョン ID

    KMS インスタンスが配置されているリージョン ID。

    特定のリージョン ID については、「リージョンとゾーン」をご参照ください。

    エンドポイント

    KMS インスタンスのドメイン名。フォーマットは {instance ID}.kms.aliyuncs.com です。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、インスタンス VPC エンドポイント がエンドポイントです。

    clientKeyFile

    JSON 形式の ClientKey ファイルの絶対パスまたは相対パス。

    • ClientKey ファイルには、アプリケーションアクセスポイント (AAP) で ClientKey を作成する際にダウンロードされる Application Access Secret (ClientKeyContent) が含まれています。デフォルトのファイル名は ClientKey_******.json です。

    • 認証情報パスワード:AAP で ClientKey を作成する際にダウンロードされる 認証情報パスワード (ClientKeyPassword)。デフォルトでは、このパスワードは ClientKey_******_password.txt ファイルにあります。

    重要

    ClientKey ファイルと認証情報パスワードは 1 対 1 で対応しています。これらは ClientKey を作成するときにのみ取得できます。作成時に保存しなかった場合は、AAP で新しい ClientKey を作成する必要があります。詳細については、「アプリケーションアクセスポイントの作成」をご参照ください。

    passwordFromFilePath または passwordFromEnvVariable

    • passwordFromFilePath:認証情報パスワードを含むファイルの絶対パスまたは相対パス。

    • passwordFromEnvVariable:値は、認証情報パスワードを含む環境変数の名前です。

    SSL 証明書を無視

    KMS インスタンスの SSL 証明書の有効性チェックを無視するかどうかを指定します。KMS インスタンスには組み込みの SSL 証明書があり、認証と暗号化通信に SSL/TLS プロトコルを使用します。有効な値は次のとおりです。

    • true:有効性チェックを無視します。

      説明

      値を true に設定した場合、caFilePath を設定する必要はありません。

    • false:有効性チェックを実行します。

    本番環境では、このパラメーターを false に設定する必要があります。

    caFilePath

    KMS インスタンスの CA 証明書ファイルの絶対パスまたは相対パス。

    KMS インスタンスの CA 証明書は、KMS インスタンスの SSL 証明書の有効性を確認するために使用されます。例えば、SSL 証明書が対応する CA によって発行されたか、有効期間内であるか、KMS インスタンスのドメイン名 (エンドポイント) に対応しているかなどを確認します。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、Instance CA Certificate セクションの ダウンロード をクリックします。

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#secretName# をご利用の認証情報名に置き換えてください。

    import com.aliyuncs.kms.secretsmanager.client.SecretCacheClient;
    import com.aliyuncs.kms.secretsmanager.client.SecretCacheClientBuilder;
    import com.aliyuncs.kms.secretsmanager.client.exception.CacheSecretException;
    import com.aliyuncs.kms.secretsmanager.client.model.SecretInfo;
    
    public class CacheClientEnvironmentSample {
    
        public static void main(String[] args) {
            try {
                // 認証情報クライアントをビルドします。
                SecretCacheClient client = SecretCacheClientBuilder.newClient();
                // ビルドされたクライアントを使用して、認証情報情報を取得します。
                SecretInfo secretInfo = client.getSecretInfo("#secretName#");
                System.out.println(secretInfo);
            } catch (CacheSecretException e) {
                e.printStackTrace();
            }
        }
    }
  • メソッド 2:カスタム設定ファイルを使用したクライアントの初期化

    設定ファイルの名前とパスを定義する必要があります。

    設定ファイル

    設定パラメーターは cache_client_dkms_config_info です。cache_client_dkms_config_info は JSON 配列フォーマットを使用します。複数の KMS インスタンスを設定して、より高いサービスの可用性とディザスタリカバリを実現できます。

    • メソッド 1:環境変数から ClientKey パスワードを取得する

      設定ファイルの内容は次のとおりです。

      cache_client_dkms_config_info=[{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromEnvVariable":"<YOUR_PASSWORD_ENV_VARIABLE>","clientKeyFile":"<your ClientKey file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]

      このメソッドでは、認証情報パスワード (ClientKeyPassword) のカスタム名の環境変数を設定する必要もあります。設定後、<YOUR_PASSWORD_ENV_VARIABLE> を変数名に置き換えてください。例:

      cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromEnvVariable":"passwordFromEnvVariable","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]
    • メソッド 2:ファイルから ClientKey パスワードを取得する

      デフォルトでは、ClientKey 認証情報パスワード (ClientKeyPassword) のダウンロードされたファイル名は clientKey_****_Password.txt です。ファイル名を変更した場合は、cache_client_dkms_config_info の値にある <your Client Key file path> を新しいファイルパスに置き換える必要があります。

      設定ファイルの内容は次のとおりです。

      cache_client_dkms_config_info=[{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromFilePath":"< your password file path >","clientKeyFile":"<your Client Key file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]

      例:

      cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromFilePath":"C:\RamSecretPlugin\src\main\resources\clientKeyPassword.txt","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]

    各設定項目の説明:

    設定項目

    パラメーターの説明

    説明

    リージョン ID

    KMS インスタンスが配置されているリージョン ID。

    特定のリージョン ID については、「リージョンとゾーン」をご参照ください。

    エンドポイント

    KMS インスタンスのドメイン名。フォーマットは {instance ID}.kms.aliyuncs.com です。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、インスタンス VPC エンドポイント がエンドポイントです。

    clientKeyFile

    JSON 形式の ClientKey ファイルの絶対パスまたは相対パス。

    • ClientKey ファイルには、アプリケーションアクセスポイント (AAP) で ClientKey を作成する際にダウンロードされる Application Access Secret (ClientKeyContent) が含まれています。デフォルトのファイル名は ClientKey_******.json です。

    • 認証情報パスワード:AAP で ClientKey を作成する際にダウンロードされる 認証情報パスワード (ClientKeyPassword)。デフォルトでは、このパスワードは ClientKey_******_password.txt ファイルにあります。

    重要

    ClientKey ファイルと認証情報パスワードは 1 対 1 で対応しています。これらは ClientKey を作成するときにのみ取得できます。作成時に保存しなかった場合は、AAP で新しい ClientKey を作成する必要があります。詳細については、「アプリケーションアクセスポイントの作成」をご参照ください。

    passwordFromFilePath または passwordFromEnvVariable

    • passwordFromFilePath:認証情報パスワードを含むファイルの絶対パスまたは相対パス。

    • passwordFromEnvVariable:値は、認証情報パスワードを含む環境変数の名前です。

    SSL 証明書を無視

    KMS インスタンスの SSL 証明書の有効性チェックを無視するかどうかを指定します。KMS インスタンスには組み込みの SSL 証明書があり、認証と暗号化通信に SSL/TLS プロトコルを使用します。有効な値は次のとおりです。

    • true:有効性チェックを無視します。

      説明

      値を true に設定した場合、caFilePath を設定する必要はありません。

    • false:有効性チェックを実行します。

    本番環境では、このパラメーターを false に設定する必要があります。

    caFilePath

    KMS インスタンスの CA 証明書ファイルの絶対パスまたは相対パス。

    KMS インスタンスの CA 証明書は、KMS インスタンスの SSL 証明書の有効性を確認するために使用されます。例えば、SSL 証明書が対応する CA によって発行されたか、有効期間内であるか、KMS インスタンスのドメイン名 (エンドポイント) に対応しているかなどを確認します。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、Instance CA Certificate セクションの ダウンロード をクリックします。

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#customConfigFileName# をカスタム設定ファイル名に、#secretName# をご利用の認証情報名に置き換えてください。

    import com.aliyuncs.kms.secretsmanager.client.SecretCacheClient;
    import com.aliyuncs.kms.secretsmanager.client.SecretCacheClientBuilder;
    import com.aliyuncs.kms.secretsmanager.client.exception.CacheSecretException;
    import com.aliyuncs.kms.secretsmanager.client.model.SecretInfo;
    import com.aliyuncs.kms.secretsmanager.client.service.BaseSecretManagerClientBuilder;
    
    public class CacheClientCustomConfigFileSample {
    
        public static void main(String[] args) {
            try {
                SecretCacheClient client = SecretCacheClientBuilder.newCacheClientBuilder(
                        BaseSecretManagerClientBuilder.standard().withCustomConfigFile("#customConfigFileName#").build()).build();
                SecretInfo secretInfo = client.getSecretInfo("#secretName#");
                System.out.println(secretInfo);
            } catch (CacheSecretException e) {
                System.out.println("CacheSecretException:" + e.getMessage());
            }
        }
    }
  • メソッド 3:パラメーター (accessKey, accessSecret, regionId) を指定したクライアントの初期化

    このメソッドは、AccessKey を認証に使用するシナリオにのみ適用されます。

    説明

    Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作に対する権限を持っています。AccessKey ペアを使用した操作はリスクの高い操作です。また、RAM ユーザーを使用して API 操作を呼び出すか、日常の O&M を実行してください。プロジェクトコードに AccessKey ID と AccessKey Secret を保存しないことを推奨します。保存すると、AccessKey ペアが漏洩し、アカウントに属するすべてのリソースのセキュリティが侵害される可能性があります。

    この例では、AccessKey ペアは ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数に保存され、ID 認証を実装します。

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#regionId# を実際のリージョン ID に、#secretName# をご利用の認証情報名に置き換えてください。

    import com.aliyuncs.kms.secretsmanager.client.SecretCacheClient;
    import com.aliyuncs.kms.secretsmanager.client.SecretCacheClientBuilder;
    import com.aliyuncs.kms.secretsmanager.client.exception.CacheSecretException;
    import com.aliyuncs.kms.secretsmanager.client.model.SecretInfo;
    import com.aliyuncs.kms.secretsmanager.client.service.BaseSecretManagerClientBuilder;
    import com.aliyuncs.kms.secretsmanager.client.utils.CredentialsProviderUtils;
    
    public class CacheClientSimpleParametersSample {
    
        public static void main(String[] args) {
            try {
                SecretCacheClient client = SecretCacheClientBuilder.newCacheClientBuilder(
                        BaseSecretManagerClientBuilder.standard().withCredentialsProvider(CredentialsProviderUtils
                                .withAccessKey(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))).withRegion("#regionId#").build()).build();
                SecretInfo secretInfo = client.getSecretInfo("#secretName#");
                System.out.println(secretInfo);
            } catch (CacheSecretException e) {
                e.printStackTrace();
            }
        }
    }

Python

認証情報の値を取得するためのサンプルコードは、クライアントの初期化メソッドによって異なります。以下のいずれかのメソッドを選択できます。

  • メソッド 1:システム環境変数または secretsmanager.properties 設定ファイルを使用したクライアントの初期化

    環境変数または secretsmanager.properties 設定ファイルのいずれかを使用できます。

    環境変数

    • メソッド 1:環境変数から ClientKey パスワードを取得する

      パラメーター

      パラメーター値

      cache_client_dkms_config_info

      パラメーター値のフォーマットは [{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromEnvVariable":"<YOUR_PASSWORD_ENV_VARIABLE>","clientKeyFile":"<your ClientKey file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}] です。

      このメソッドでは、ClientKey の 認証情報パスワード (ClientKeyPassword) の内容を環境変数に設定する必要もあります。変数名はカスタマイズできます。設定後、<YOUR_PASSWORD_ENV_VARIABLE> を変数名に置き換えてください。

      例えば、Linux オペレーティングシステムの場合:

      export cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromEnvVariable":"passwordFromEnvVariable","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]
    • メソッド 2:ファイルから ClientKey パスワードを取得する

      ダウンロードされた ClientKey 認証情報パスワード (ClientKeyPassword) ファイルは、デフォルトで clientKey_****_Password.txt という名前です。ファイル名を変更できますが、cache_client_dkms_config_info の値にある <your Client Key file path> を新しいファイルパスに置き換える必要があります。

      パラメーター

      パラメーター値

      cache_client_dkms_config_info

      パラメーター値のフォーマットは [{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromFilePath":"< your password file path >","clientKeyFile":"<your Client Key file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}] です。

      例えば、Linux オペレーティングシステムの場合:

      export cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromFilePath":"C:\RamSecretPlugin\src\main\resources\clientKeyPassword.txt","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]

    各設定項目の説明:

    設定項目

    パラメーターの説明

    説明

    リージョン ID

    KMS インスタンスが配置されているリージョン ID。

    特定のリージョン ID については、「リージョンとゾーン」をご参照ください。

    エンドポイント

    KMS インスタンスのドメイン名。フォーマットは {instance ID}.kms.aliyuncs.com です。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、インスタンス VPC エンドポイント がエンドポイントです。

    clientKeyFile

    JSON 形式の ClientKey ファイルの絶対パスまたは相対パス。

    • ClientKey ファイルには、アプリケーションアクセスポイント (AAP) で ClientKey を作成する際にダウンロードされる Application Access Secret (ClientKeyContent) が含まれています。デフォルトのファイル名は ClientKey_******.json です。

    • 認証情報パスワード:AAP で ClientKey を作成する際にダウンロードされる 認証情報パスワード (ClientKeyPassword)。デフォルトでは、このパスワードは ClientKey_******_password.txt ファイルにあります。

    重要

    ClientKey ファイルと認証情報パスワードは 1 対 1 で対応しています。これらは ClientKey を作成するときにのみ取得できます。作成時に保存しなかった場合は、AAP で新しい ClientKey を作成する必要があります。詳細については、「アプリケーションアクセスポイントの作成」をご参照ください。

    passwordFromFilePath または passwordFromEnvVariable

    • passwordFromFilePath:認証情報パスワードを含むファイルの絶対パスまたは相対パス。

    • passwordFromEnvVariable:値は、認証情報パスワードを含む環境変数の名前です。

    SSL 証明書を無視

    KMS インスタンスの SSL 証明書の有効性チェックを無視するかどうかを指定します。KMS インスタンスには組み込みの SSL 証明書があり、認証と暗号化通信に SSL/TLS プロトコルを使用します。有効な値は次のとおりです。

    • true:有効性チェックを無視します。

      説明

      値を true に設定した場合、caFilePath を設定する必要はありません。

    • false:有効性チェックを実行します。

    本番環境では、このパラメーターを false に設定する必要があります。

    caFilePath

    KMS インスタンスの CA 証明書ファイルの絶対パスまたは相対パス。

    KMS インスタンスの CA 証明書は、KMS インスタンスの SSL 証明書の有効性を確認するために使用されます。例えば、SSL 証明書が対応する CA によって発行されたか、有効期間内であるか、KMS インスタンスのドメイン名 (エンドポイント) に対応しているかなどを確認します。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、Instance CA Certificate セクションの ダウンロード をクリックします。

    secretsmanager.properties 設定ファイル

    設定ファイル名は secretsmanager.properties である必要があります。

    設定パラメーターは cache_client_dkms_config_info です。cache_client_dkms_config_info は JSON 配列フォーマットを使用します。複数の KMS インスタンスを設定して、より高いサービスの可用性とディザスタリカバリを実現できます。

    • メソッド 1:環境変数から ClientKey パスワードを取得する

      設定ファイルの内容は次のとおりです。

      cache_client_dkms_config_info=[{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromEnvVariable":"<YOUR_PASSWORD_ENV_VARIABLE>","clientKeyFile":"<your ClientKey file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]

      このメソッドでは、認証情報パスワード (ClientKeyPassword) のカスタム名の環境変数を設定する必要もあります。設定後、<YOUR_PASSWORD_ENV_VARIABLE> を変数名に置き換えてください。例:

      cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromEnvVariable":"passwordFromEnvVariable","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]
    • メソッド 2:ファイルから ClientKey パスワードを取得する

      デフォルトでは、ClientKey 認証情報パスワード (ClientKeyPassword) のダウンロードされたファイル名は clientKey_****_Password.txt です。ファイル名を変更した場合は、cache_client_dkms_config_info の値にある <your Client Key file path> を新しいファイルパスに置き換える必要があります。

      設定ファイルの内容は次のとおりです。

      cache_client_dkms_config_info=[{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromFilePath":"< your password file path >","clientKeyFile":"<your Client Key file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]

      例:

      cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromFilePath":"C:\RamSecretPlugin\src\main\resources\clientKeyPassword.txt","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]

    各設定項目の説明:

    設定項目

    パラメーターの説明

    説明

    リージョン ID

    KMS インスタンスが配置されているリージョン ID。

    特定のリージョン ID については、「リージョンとゾーン」をご参照ください。

    エンドポイント

    KMS インスタンスのドメイン名。フォーマットは {instance ID}.kms.aliyuncs.com です。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、インスタンス VPC エンドポイント がエンドポイントです。

    clientKeyFile

    JSON 形式の ClientKey ファイルの絶対パスまたは相対パス。

    • ClientKey ファイルには、アプリケーションアクセスポイント (AAP) で ClientKey を作成する際にダウンロードされる Application Access Secret (ClientKeyContent) が含まれています。デフォルトのファイル名は ClientKey_******.json です。

    • 認証情報パスワード:AAP で ClientKey を作成する際にダウンロードされる 認証情報パスワード (ClientKeyPassword)。デフォルトでは、このパスワードは ClientKey_******_password.txt ファイルにあります。

    重要

    ClientKey ファイルと認証情報パスワードは 1 対 1 で対応しています。これらは ClientKey を作成するときにのみ取得できます。作成時に保存しなかった場合は、AAP で新しい ClientKey を作成する必要があります。詳細については、「アプリケーションアクセスポイントの作成」をご参照ください。

    passwordFromFilePath または passwordFromEnvVariable

    • passwordFromFilePath:認証情報パスワードを含むファイルの絶対パスまたは相対パス。

    • passwordFromEnvVariable:値は、認証情報パスワードを含む環境変数の名前です。

    SSL 証明書を無視

    KMS インスタンスの SSL 証明書の有効性チェックを無視するかどうかを指定します。KMS インスタンスには組み込みの SSL 証明書があり、認証と暗号化通信に SSL/TLS プロトコルを使用します。有効な値は次のとおりです。

    • true:有効性チェックを無視します。

      説明

      値を true に設定した場合、caFilePath を設定する必要はありません。

    • false:有効性チェックを実行します。

    本番環境では、このパラメーターを false に設定する必要があります。

    caFilePath

    KMS インスタンスの CA 証明書ファイルの絶対パスまたは相対パス。

    KMS インスタンスの CA 証明書は、KMS インスタンスの SSL 証明書の有効性を確認するために使用されます。例えば、SSL 証明書が対応する CA によって発行されたか、有効期間内であるか、KMS インスタンスのドメイン名 (エンドポイント) に対応しているかなどを確認します。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、Instance CA Certificate セクションの ダウンロード をクリックします。

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#secretName# をご利用の認証情報名に置き換えてください。

    from alibaba_cloud_secretsmanager_client.secret_manager_cache_client_builder import SecretManagerCacheClientBuilder
    
    if __name__ == '__main__':
        # 認証情報クライアントをビルドします。
        secret_cache_client = SecretManagerCacheClientBuilder.new_client()
        # ビルドされたクライアントを使用して、認証情報情報を取得します。
        secret_info = secret_cache_client.get_secret_info("#secretName#")
        print(secret_info.__dict__)
  • メソッド 2:パラメーター (accessKey, accessSecret, regionId) を指定したクライアントの初期化

    このメソッドは、AccessKey を認証に使用するシナリオにのみ適用されます。

    説明

    Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作に対する権限を持っています。AccessKey ペアを使用した操作はリスクの高い操作です。RAM ユーザーを使用して API 操作を呼び出すか、日常の O&M を実行することを推奨します。プロジェクトコードに AccessKey ID と AccessKey Secret を保存しないことを推奨します。保存すると、AccessKey ペアが漏洩し、アカウントに属するすべてのリソースのセキュリティが侵害される可能性があります。

    この例では、AccessKey ペアは ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数に保存され、ID 認証を実装します。

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#regionId# を実際のリージョン ID に、#secretName# をご利用の認証情報名に置き換えてください。

    import os
    
    from alibaba_cloud_secretsmanager_client.secret_manager_cache_client_builder import SecretManagerCacheClientBuilder
    from alibaba_cloud_secretsmanager_client.service.default_secret_manager_client_builder import DefaultSecretManagerClientBuilder
    
    if __name__ == '__main__':
        secret_cache_client = SecretManagerCacheClientBuilder.new_cache_client_builder(DefaultSecretManagerClientBuilder.standard() \
            .with_access_key(os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")) \
            .with_region("#regionId#").build()) \
        .build();
        secret_info = secret_cache_client.get_secret_info("#secretName#")
        print(secret_info.__dict__)

Go

認証情報の値を取得するためのサンプルコードは、クライアントの初期化メソッドによって異なります。以下のいずれかのメソッドを選択できます。

  • メソッド 1:システム環境変数または secretsmanager.properties 設定ファイルを使用したクライアントの初期化

    環境変数または secretsmanager.properties 設定ファイルのいずれかを使用できます。

    環境変数

    • メソッド 1:環境変数から ClientKey パスワードを取得する

      パラメーター

      パラメーター値

      cache_client_dkms_config_info

      パラメーター値のフォーマットは [{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromEnvVariable":"<YOUR_PASSWORD_ENV_VARIABLE>","clientKeyFile":"<your ClientKey file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}] です。

      このメソッドでは、ClientKey の 認証情報パスワード (ClientKeyPassword) の内容を環境変数に設定する必要もあります。変数名はカスタマイズできます。設定後、<YOUR_PASSWORD_ENV_VARIABLE> を変数名に置き換えてください。

      例えば、Linux オペレーティングシステムの場合:

      export cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromEnvVariable":"passwordFromEnvVariable","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]
    • メソッド 2:ファイルから ClientKey パスワードを取得する

      ダウンロードされた ClientKey 認証情報パスワード (ClientKeyPassword) ファイルは、デフォルトで clientKey_****_Password.txt という名前です。ファイル名を変更できますが、cache_client_dkms_config_info の値にある <your Client Key file path> を新しいファイルパスに置き換える必要があります。

      パラメーター

      パラメーター値

      cache_client_dkms_config_info

      パラメーター値のフォーマットは [{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromFilePath":"< your password file path >","clientKeyFile":"<your Client Key file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}] です。

      例えば、Linux オペレーティングシステムの場合:

      export cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromFilePath":"C:\RamSecretPlugin\src\main\resources\clientKeyPassword.txt","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]

    各設定項目の説明:

    設定項目

    パラメーターの説明

    説明

    リージョン ID

    KMS インスタンスが配置されているリージョン ID。

    特定のリージョン ID については、「リージョンとゾーン」をご参照ください。

    エンドポイント

    KMS インスタンスのドメイン名。フォーマットは {instance ID}.kms.aliyuncs.com です。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、インスタンス VPC エンドポイント がエンドポイントです。

    clientKeyFile

    JSON 形式の ClientKey ファイルの絶対パスまたは相対パス。

    • ClientKey ファイルには、アプリケーションアクセスポイント (AAP) で ClientKey を作成する際にダウンロードされる Application Access Secret (ClientKeyContent) が含まれています。デフォルトのファイル名は ClientKey_******.json です。

    • 認証情報パスワード:AAP で ClientKey を作成する際にダウンロードされる 認証情報パスワード (ClientKeyPassword)。デフォルトでは、このパスワードは ClientKey_******_password.txt ファイルにあります。

    重要

    ClientKey ファイルと認証情報パスワードは 1 対 1 で対応しています。これらは ClientKey を作成するときにのみ取得できます。作成時に保存しなかった場合は、AAP で新しい ClientKey を作成する必要があります。詳細については、「アプリケーションアクセスポイントの作成」をご参照ください。

    passwordFromFilePath または passwordFromEnvVariable

    • passwordFromFilePath:認証情報パスワードを含むファイルの絶対パスまたは相対パス。

    • passwordFromEnvVariable:値は、認証情報パスワードを含む環境変数の名前です。

    SSL 証明書を無視

    KMS インスタンスの SSL 証明書の有効性チェックを無視するかどうかを指定します。KMS インスタンスには組み込みの SSL 証明書があり、認証と暗号化通信に SSL/TLS プロトコルを使用します。有効な値は次のとおりです。

    • true:有効性チェックを無視します。

      説明

      値を true に設定した場合、caFilePath を設定する必要はありません。

    • false:有効性チェックを実行します。

    本番環境では、このパラメーターを false に設定する必要があります。

    caFilePath

    KMS インスタンスの CA 証明書ファイルの絶対パスまたは相対パス。

    KMS インスタンスの CA 証明書は、KMS インスタンスの SSL 証明書の有効性を確認するために使用されます。例えば、SSL 証明書が対応する CA によって発行されたか、有効期間内であるか、KMS インスタンスのドメイン名 (エンドポイント) に対応しているかなどを確認します。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、Instance CA Certificate セクションの ダウンロード をクリックします。

    secretsmanager.properties 設定ファイル

    設定ファイル名は secretsmanager.properties である必要があります。

    設定パラメーターは cache_client_dkms_config_info です。cache_client_dkms_config_info は JSON 配列フォーマットを使用します。複数の KMS インスタンスを設定して、より高いサービスの可用性とディザスタリカバリを実現できます。

    • メソッド 1:環境変数から ClientKey パスワードを取得する

      設定ファイルの内容は次のとおりです。

      cache_client_dkms_config_info=[{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromEnvVariable":"<YOUR_PASSWORD_ENV_VARIABLE>","clientKeyFile":"<your ClientKey file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]

      このメソッドでは、認証情報パスワード (ClientKeyPassword) のカスタム名の環境変数を設定する必要もあります。設定後、<YOUR_PASSWORD_ENV_VARIABLE> を変数名に置き換えてください。例:

      cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromEnvVariable":"passwordFromEnvVariable","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]
    • メソッド 2:ファイルから ClientKey パスワードを取得する

      デフォルトでは、ClientKey 認証情報パスワード (ClientKeyPassword) のダウンロードされたファイル名は clientKey_****_Password.txt です。ファイル名を変更した場合は、cache_client_dkms_config_info の値にある <your Client Key file path> を新しいファイルパスに置き換える必要があります。

      設定ファイルの内容は次のとおりです。

      cache_client_dkms_config_info=[{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromFilePath":"< your password file path >","clientKeyFile":"<your Client Key file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]

      例:

      cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromFilePath":"C:\RamSecretPlugin\src\main\resources\clientKeyPassword.txt","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]

    各設定項目の説明:

    設定項目

    パラメーターの説明

    説明

    リージョン ID

    KMS インスタンスが配置されているリージョン ID。

    特定のリージョン ID については、「リージョンとゾーン」をご参照ください。

    エンドポイント

    KMS インスタンスのドメイン名。フォーマットは {instance ID}.kms.aliyuncs.com です。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、インスタンス VPC エンドポイント がエンドポイントです。

    clientKeyFile

    JSON 形式の ClientKey ファイルの絶対パスまたは相対パス。

    • ClientKey ファイルには、アプリケーションアクセスポイント (AAP) で ClientKey を作成する際にダウンロードされる Application Access Secret (ClientKeyContent) が含まれています。デフォルトのファイル名は ClientKey_******.json です。

    • 認証情報パスワード:AAP で ClientKey を作成する際にダウンロードされる 認証情報パスワード (ClientKeyPassword)。デフォルトでは、このパスワードは ClientKey_******_password.txt ファイルにあります。

    重要

    ClientKey ファイルと認証情報パスワードは 1 対 1 で対応しています。これらは ClientKey を作成するときにのみ取得できます。作成時に保存しなかった場合は、AAP で新しい ClientKey を作成する必要があります。詳細については、「アプリケーションアクセスポイントの作成」をご参照ください。

    passwordFromFilePath または passwordFromEnvVariable

    • passwordFromFilePath:認証情報パスワードを含むファイルの絶対パスまたは相対パス。

    • passwordFromEnvVariable:値は、認証情報パスワードを含む環境変数の名前です。

    SSL 証明書を無視

    KMS インスタンスの SSL 証明書の有効性チェックを無視するかどうかを指定します。KMS インスタンスには組み込みの SSL 証明書があり、認証と暗号化通信に SSL/TLS プロトコルを使用します。有効な値は次のとおりです。

    • true:有効性チェックを無視します。

      説明

      値を true に設定した場合、caFilePath を設定する必要はありません。

    • false:有効性チェックを実行します。

    本番環境では、このパラメーターを false に設定する必要があります。

    caFilePath

    KMS インスタンスの CA 証明書ファイルの絶対パスまたは相対パス。

    KMS インスタンスの CA 証明書は、KMS インスタンスの SSL 証明書の有効性を確認するために使用されます。例えば、SSL 証明書が対応する CA によって発行されたか、有効期間内であるか、KMS インスタンスのドメイン名 (エンドポイント) に対応しているかなどを確認します。

    インスタンス管理 ページに移動します。インスタンス詳細ページで、Instance CA Certificate セクションの ダウンロード をクリックします。

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#secretName# をご利用の認証情報名に置き換えてください。

    package main
    
    import (
        "fmt"
        "github.com/aliyun/aliyun-secretsmanager-client-go/sdk"
    )
    func main() { 
       // 認証情報クライアントをビルドします。
        client, err := sdk.NewClient()
        if err != nil {
            // 例外を処理します
            panic(err)
        }
       // ビルドされたクライアントを使用して、認証情報情報を取得します。
        secretInfo, err := client.GetSecretInfo("#secretName#")
        if err != nil {
            // 例外を処理します
            panic(err)
        }
        fmt.Printf("SecretValue:%s\n",secretInfo.SecretValue)
    }
  • パラメーター (accessKey, accessSecret, regionId) を指定したクライアントの初期化

    このメソッドは、AccessKey を認証に使用するシナリオにのみ適用されます。

    説明

    Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作に対する権限を持っています。AccessKey ペアを使用した操作はリスクの高い操作です。RAM ユーザーを使用して API 操作を呼び出すか、日常の O&M を実行することを推奨します。プロジェクトコードに AccessKey ID と AccessKey Secret を保存しないことを推奨します。保存すると、AccessKey ペアが漏洩し、アカウントに属するすべてのリソースのセキュリティが侵害される可能性があります。

    この例では、AccessKey ペアは ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数に保存され、ID 認証を実装します。

    以下のサンプルコードは、認証情報の値を取得する方法を示しています。#regionId# を実際のリージョン ID に、#secretName# をご利用の認証情報名に置き換えてください。

    package main
    
    import (
    	"github.com/aliyun/aliyun-secretsmanager-client-go/sdk/service"
    	"github.com/aliyun/aliyun-secretsmanager-client-go/sdk"
    	"os"
    )
    
    func main() {
    	client, err := sdk.NewSecretCacheClientBuilder(service.NewDefaultSecretManagerClientBuilder().Standard().WithAccessKey(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")).WithRegion("#regionId#").Build()).Build()
    	if err != nil {
    		// 例外を処理します
    		panic(err)
    	}
    	secretInfo, err := client.GetSecretInfo("#secretName#")
    	if err != nil {
    		// 例外を処理します
    		panic(err)
    	}
    }