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

Key Management Service:AAP を作成する

最終更新日:Mar 17, 2025

Key Management Service(KMS)Instance SDK や Secret SDK などの SDK を使用して自己管理アプリケーションを統合する場合、ID と権限を確認するためにアプリケーションアクセスポイント(AAP)のクライアントキーが必要です。このトピックでは、AAP を作成する方法について説明します。

使用上の注意

  • KMS にアクセスする必要があるアプリケーションごとに AAP を作成することをお勧めします。これにより、異なるアプリケーションが異なる KMS リソースに対するアクセス許可を持つことができます。

  • クライアントキーのデフォルトの有効期間は 5 年です。クライアントキーを作成するときに、クライアントキーのカスタム有効期間を指定できます。有効期間を 1 年に設定することをお勧めします。 KMS へのアクセスを確保するには、クライアントキーの有効期限が切れる前にクライアントキーを変更する必要があります。詳細については、「クライアントキーを変更する」をご参照ください。

前提条件

KMS コンソールを使用する

クイック作成モードまたは標準作成モードで AAP を作成できます。アプリケーションを SDK と迅速に統合する必要がある場合は、クイック作成モードを使用できます。このモードには、次の制限があります。

  • クイック作成モードで AAP を作成した場合、KMS インスタンスエンドポイントを使用してのみ、キーとシークレットにアクセスするために AAP を使用できます。標準作成モードで AAP を作成した場合は、KMS インスタンスエンドポイントを使用してキーとシークレットにアクセスし、KMS エンドポイントを使用してシークレットにアクセスするために AAP を使用できます。

  • AAP 内のクライアントキーの有効期間は 5 年に固定されています。カスタムの有効期間を指定することはできません。クライアントキーを使用した 1 年後にクライアントキーを変更することをお勧めします。詳細については、「クライアントキーを変更する」をご参照ください。

  • デフォルトでは、[アクセス可能なリソース] は KMS インスタンス内のすべてのキーとシークレットです。 AAP を作成した後に、権限ポリシーを変更できます。詳細については、「AAP を管理する」をご参照ください。

モード 1:クイック作成

  1. KMS コンソール にログオンします。上部のナビゲーションバーで、リージョンを選択します。左側のナビゲーションウィンドウで、アプリケーションアクセス > AAPs を選択します。

  2. アプリケーションアクセス タブで、Create AAP をクリックします。Create AAP パネルで、パラメーターを構成します。

    パラメーター

    説明

    Mode

    Quick Creation を選択します。

    Scope (KMS Instance)

    アクセスする KMS インスタンスを選択します。

    Application Access Point Name

    AAP の名前を入力します。

    Authentication Method

    デフォルト値は ClientKey で、変更できません。

    Default Permission Policy

    デフォルト値は key/*secret/* で、変更できません。アプリケーションは、指定された KMS インスタンス内のすべてのキーとシークレットにアクセスできます。

  3. [OK] をクリックします。ブラウザは、作成されたクライアントキーを自動的にダウンロードします。

    クライアントキーには、[アプリケーションアクセスシークレット(clientkeycontent)][パスワード] が含まれています。デフォルトでは、[アプリケーションアクセスシークレット(clientkeycontent)] は、clientKey_****.json 形式の名前のファイルに保存されます。デフォルトでは、[パスワード] は、clientKey_****_Password.txt 形式の名前のファイルに保存されます。

モード 2:標準作成

  1. KMS コンソール にログオンします。上部のナビゲーションバーで、リージョンを選択します。左側のナビゲーションウィンドウで、アプリケーションアクセス > AAPs を選択します。

  2. ネットワークアクセスルールを作成します。

    説明

    送信元 IP アドレスに基づいてアクセスを制御する必要がない場合は、ネットワークアクセスルールを構成する必要はありません。セキュリティのために、ネットワークアクセスルールを構成することをお勧めします。

    1. Network Access Rules タブをクリックします。次に、Create Network Access Rule をクリックします。

    2. Create Network Access Rule パネルで、パラメーターを構成し、[OK] をクリックします。

      パラメーター

      説明

      Rule Name

      ネットワークアクセスルールの名前。カスタム値を指定できます。

      Network Type

      • 非公開:アプリケーションが KMS インスタンスエンドポイントを使用してキーとシークレットにアクセスする必要がある場合は、このオプションを選択します。

      • パブリック:アプリケーションが KMS パブリックエンドポイントを使用してシークレットにアクセスする必要がある場合は、このオプションを選択します。

      • VPC:アプリケーションが KMS VPC エンドポイントを使用してシークレットにアクセスする必要がある場合は、このオプションを選択します。このオプションは、KMS インスタンスが中国(杭州)、中国(上海)、中国(深セン)、および中国(張家口)リージョンにある場合にのみサポートされます。

      説明
      • 暗号操作:KMS Instance SDK と KMS インスタンスエンドポイントを使用して KMS にアクセスする場合にのみ、暗号操作を実行できます。 AAP を作成するときは、[ネットワークタイプ] パラメーターを [非公開] に設定します。

      • シークレット値の取得:KMS Instance SDK または Secret SDK を使用してシークレット値を取得できます。 AAP を作成するときは、Secret SDK を使用し、[ネットワークタイプ] パラメーターを [非公開]、[パブリック]、または [VPC] に設定することをお勧めします。これにより、高いクエリ/秒(QPS)と高いセキュリティを実現できます。

        • KMS Instance SDK:KMS Instance SDK を使用する場合は、AAP の [ネットワークタイプ] パラメーターを [非公開] に設定し、[許可された送信元 IP アドレス] パラメーターを KMS インスタンスに関連付けられている Virtual Private Cloud(VPC)内の IP アドレスに設定します。

        • Secret SDK:Secret SDK を使用する場合は、AAP の [ネットワークタイプ] パラメーターを [非公開]、[パブリック]、または [VPC] に設定します。

      Allowed Source IP Addresses

      KMS インスタンスへのアクセスが許可されている IP アドレス。アプリケーションサーバーのネットワークタイプに基づいて値を指定します。プロキシサーバーを使用する場合は、プロキシサーバーの IP アドレスを入力します。

      • [ネットワークタイプ] パラメーターが [非公開] に設定されている場合は、KMS インスタンスに関連付けられている VPC 内の IP アドレスを入力します。

      • [ネットワークタイプ] パラメーターが [パブリック] に設定されている場合は、パブリック IP アドレスを入力します。

      • [ネットワークタイプ] パラメーターが [VPC] に設定されている場合は、必要な VPC の ID と VPC 内の IP アドレスを入力します。

      Description

      ネットワークアクセスルールの説明。

  3. 権限ポリシーを作成します。

    1. 権限ポリシー タブをクリックし、次に 権限ポリシーの作成 をクリックします。

    2. 権限ポリシーの作成 パネルで、パラメーターを構成し、[OK] をクリックします。

      パラメーター

      説明

      Policy Name

      権限ポリシーの名前。

      スコープ

      ネットワークアクセスルールを作成するときに Network Type パラメーターを [非公開] に設定した場合は、指定した KMS インスタンスを選択します。Network Type パラメーターを [パブリック] または [VPC] に設定した場合は、Shared KMS Gateway を選択します。

      RBAC の権限

      • スコープ パラメーターを特定の KMS インスタンスに設定した場合、このパラメーターを次のいずれかの値に設定できます。

        • CryptoServiceKeyUser:KMS インスタンス内のキーの使用を許可します。 Instance API の暗号操作の詳細については、「キー関連の操作」をご参照ください。

        • CryptoServiceSecretUser:KMS インスタンス内のシークレットの使用を許可します。 Instance API のシークレット関連の操作の詳細については、「シークレット関連の操作」をご参照ください。

      • スコープ パラメーターを Shared KMS Gateway に設定した場合、このパラメーターを次の値に設定できます。

        SecretUser:現在のアカウント内のすべてのシークレットの使用を許可します。 API の GetSecretValue 操作がサポートされています。

      アクセス可能のリソース

      アプリケーションがアクセスする必要があるキーとシークレット。

      重要

      複数のシークレットを選択するときに、すべてのシークレットの名前の長さが制限を超えると、「指定されたパラメーターが無効です。」というエラーメッセージが返されます。この場合、ワイルドカードを使用して必要なシークレットを構成できます。たとえば、ワイルドカードを含むシークレット secret/rds-ibm* は、プレフィックス rds-ibm を持つすべてのシークレットにアクセスできることを示します。

      Network Access Rules

      作成したネットワークアクセスルール。

      説明

      送信元 IP アドレスに基づいてアクセスを制御する必要がない場合は、ネットワークアクセスルールを選択する必要はありません。セキュリティのために、ネットワークアクセスルールを構成することをお勧めします。

      Description

      権限ポリシーの説明。

  4. AAP を作成します。

    1. アプリケーションアクセス タブをクリックします。次に、Create AAP をクリックします。

    2. Create AAP パネルで、パラメーターを構成します。

      パラメーター

      説明

      Mode

      Standard Creation を選択します。

      Application Access Point Name

      AAP の名前を入力します。

      Authentication Method

      認証方式を選択します。 ClientKey と RAMRole がサポートされています。この例では、ClientKey を選択します。

      Encryption Password

      クライアントキーのパスワードを入力します。パスワードは 8 ~ 64 文字で、数字、文字、特殊文字のうち少なくとも 2 種類を含める必要があります。特殊文字には、~ ! @ # $ % ^ & * ? _ - が含まれます。

      Validity Period

      クライアントキーの有効期間を指定します。

      重要

      クライアントキーの漏洩のリスクを軽減するために、値を 1 年に設定することをお勧めします。 KMS へのアクセスを確保するには、クライアントキーの有効期限が切れる前にクライアントキーを変更する必要があります。詳細については、「クライアントキーを変更する」をご参照ください。

      権限ポリシー

      作成した権限ポリシーを選択します。

      Description

      AAP の説明を入力します。

    3. [OK] をクリックします。ブラウザは、作成されたクライアントキーを自動的にダウンロードします。

      クライアントキーには、[アプリケーションアクセスシークレット(clientkeycontent)][パスワード] が含まれています。デフォルトでは、[アプリケーションアクセスシークレット(clientkeycontent)] は、clientKey_****.json 形式の名前のファイルに保存されます。デフォルトでは、[パスワード] は、clientKey_****_Password.txt 形式の名前のファイルに保存されます。

API オペレーションを呼び出す

  1. CreateNetworkRule オペレーションを呼び出し、KMS へのアクセスが許可されているプライベート IP アドレスまたはプライベート CIDR ブロックを指定して、ネットワークアクセスルールを作成します。

  2. CreatePolicy オペレーションを呼び出し、アクセスできるキーとシークレット、および必要なネットワークアクセスルールを指定して、権限ポリシーを作成します。

  3. CreateApplicationAccessPoint オペレーションを呼び出し、必要な認証方式と権限ポリシーを指定して、AAP を作成します。

  4. CreateClientKey オペレーションを呼び出し、必要な暗号化パスワード、有効期間、および AAP を指定して、クライアントキーを作成します。

Terraform を使用する

詳細については、「Terraform を使用して AAP を作成する」をご参照ください。

関連操作

AAP の範囲が KMS インスタンスに設定されている場合、SDK をアプリケーションに統合するときに、KMS インスタンスの認証局(CA)証明書と KMS インスタンスのエンドポイントを構成する必要があります。 AAP の範囲が共有 KMS ゲートウェイに設定されている場合、この操作は不要です。

インスタンス CA 証明書を取得する

KMS インスタンスには組み込みの SSL/TLS 証明書があり、認証と暗号化された通信に HTTPS プロトコルを使用します。 KMS インスタンス CA 証明書は、KMS インスタンスの SSL/TLS 証明書の有効性を検証するために使用されます。たとえば、これには、KMS インスタンスの SSL/TLS 証明書が正しい CA によって発行されたこと、有効であること、およびそのドメイン名が KMS インスタンスのエンドポイントと一致することの確認が含まれます。

説明

KMS インスタンスは TLS 1.2 のみをサポートします。

  1. インスタンス管理 ページで、[ソフトウェアキー管理] タブまたは [ハードウェアキー管理] タブを選択し、ターゲットインスタンスを選択します。

  2. インスタンス ID または [アクション] 列の [詳細] をクリックします。 [詳細] ページで、[インスタンス CA 証明書] の横にある [ダウンロード] をクリックします。

    証明書を安全に保管してください。ダウンロードされたファイルの名前は、デフォルトで PrivateKmsCA_kst-******.pem になります。

    image

インスタンスエンドポイントを取得する

  1. インスタンス管理 ページで、ソフトウェアキー管理 タブまたは ハードウェアキー管理 タブをクリックし、管理する KMS インスタンスを見つけます。

  2. インスタンスの ID をクリックして詳細ページに移動し、インスタンス VPC エンドポイント パラメーターを表示します。

  3. インスタンス VPC エンドポイント パラメーターの値から https:// を削除して、KMS インスタンスのエンドポイントを取得します。

関連情報

  • 長期間使用されていない AAP は削除することをお勧めします。詳細については、「AAP を管理する」をご参照ください。

  • 1 年以上使用されているクライアントキーは変更することをお勧めします。詳細については、「クライアントキーを変更する」をご参照ください。

  • KMS は、クライアントキーの有効期限が切れそうになると、アラートイベントを送信します。アラートイベントに注意し、できるだけ早くアラートイベントを処理してください。詳細については、「アラートイベント」をご参照ください。