インスタンスの作成

IBM® Key Protect for IBM Cloud® コンソールまたは IBM Cloud CLI を使用して、IBM Cloud のインスタンスを作成できます。

概要

Key Protect では、instance (service instanceと呼ばれることもある) は名前空間です。

名前空間によって鍵が論理グループとして編成され、名前空間の間で分離と保護が提供されます。

  • 例えば、次の 2 つを選択できます。 (Key Protect インスタンス)- 1 つは財務部門用で、もう 1 つは製造部門用です。 2 つのインスタンスは分離されることになるので、一方のビジネス部門内の鍵はもう一方のビジネス部門からアクセスできません。

instance という用語は、仮想サーバーVPC用仮想サーバーインスタンス のような計算リソースを表すのに使われることもある Key Protect におけるインスタンスは、コンピュート・リソースと同一視しないでください。 A Key Protect インスタンスは名前空間です。

IBM Cloud コンソールから Key Protect Standard または Dedicated インスタンスをプロビジョニングする

Key Protect コンソールから IBM Cloud のインスタンスをプロビジョンするには、以下の手順を実行します。

  1. IBM Cloud アカウントにログインします

  2. 「カタログ」 をクリックして、以下で使用可能なサービスのリストを表示します。 IBM Cloud.

  3. Search catalog...」 フィールドで「 Key Protect 」を検索し、「 Key Protect 」をクリックする。

  4. StandardまたはDedicatedプランを選択し、 Createをクリックすると、ログインしているアカウント、リージョン、リソースグループに Key Protect のインスタンスがプロビジョニングされます。 価格の詳細については、 Key Protect の価格表を IBM Cloud でご確認ください。

アカウント環境間で同じセットアップを繰り返す必要がある場合は、 Terraform IBM Modules を使って自動化できます。 Key Protect All-Inclusiveモジュールは、キーとキーホルダーとともにインスタンスをプロビジョニングできるオプションの1つである。 概要については Terraform IBM Modulesを 参照。

Key Protect CLI からの IBM Cloud のプロビジョニング

また、Key Protect CLI を使用して、IBM Cloud のインスタンスをプロビジョンすることもできます。

以下の例では tiered-pricing プランを使用していますが、追加のフェールオーバーサポートを提供する cross-region-resiliency プラン を使用して、特定の地域にリソースを展開することもできます。 このプランが利用可能な地域は、 us-south (米国ダラス)、 jp-tok (日本東京)、 eu-de (ドイツ・フランクフルト)です。 このプランを他の地域に展開することはできません。

CLI を使用したログイン

以下を介して IBM Cloud にログインします。 IBM Cloud CLI。 これは、次のインスタンスに使用されるアカウントです。 Key Protect.

ログイン

login コマンドを使用してログインします。 これが失敗した場合は、フェデレーテッド ID を使用してログインするための --sso オプションを試してみてください (次のセクションを参照)。

次の例は、E メール・アドレスがフェデレーテッド ID に属しているため、失敗します。

ibmcloud login

$ ibmcloud login
API endpoint: https://cloud.ibm.com
Region: us-south

Email> <email address>

Password>
Authenticating...
You are using a federated user ID, please use one time passcode ( ibmcloud login --sso ), or use API key ( ibmcloud --apikey key or @key_file ) to authenticate.

API endpoint:   https://cloud.ibm.com
Region:         us-south
Not logged in.
FAILED

フェデレーテッド ID を使用したログイン

--sso オプションを使用してログインすると、ブラウザー・ウィンドウが開き (ログインが必要)、ワンタイム・パスコードが作成されます。 このパスコードは、ログイン・プロセスを完了するために使用されます。

ibmcloud login --sso

$ ibmcloud login --sso
API endpoint: https://cloud.ibm.com
Region: us-south

Get One Time Code from https://identity-2.us-south.iam.cloud.ibm.com/identity/passcode to proceed.
Open the URL in the default browser? [Y/n] > Y
One Time Code > <paste the one-time passcode from your browser>
Authenticating...
OK

Select an account:
1. Account name (ea988d3289c24739a0977651b46fb145)
Enter a number> 1
Targeted account Account name (ea988d3289c24739a0977651b46fb145)

API endpoint:      https://cloud.ibm.com
Region:            us-south
User:              <email address>
Account:           Account name (ea988d3289c24739a0977651b46fb145)
Resource group:    No resource group targeted, use 'ibmcloud target -g RESOURCE_GROUP'
CF API endpoint:
Org:
Space:

リージョンとリソース・グループの選択

以下を作成するリージョンとリソース・グループを選択します。 Key Protect インスタンス。

<resource_group_name>Default (大/小文字の区別あり) にすることができます。

ibmcloud target -r <region_name> -g <resource_group_name>

$ ibmcloud target -r us-south -g Default
Targeted resource group Default

Switched to region us-south

API endpoint:      https://cloud.ibm.com
Region:            us-south
User:              <email address>
Account:           Account name (ea988d3289c24739a0977651b46fb145)
Resource group:    Default
CF API endpoint:
Org:
Space:

パブリック・インスタンスのプロビジョン

パブリック Key Protect インスタンスをプロビジョンします。 次のセクションに、private・インスタンスのプロビジョニング例があります。

  • パブリック・エンドポイントは IBM Cloud のエンドポイントです。

  • プライベート・エンドポイントは IBM Cloud のエンドポイントです。

パブリック・インスタンスは、public and privateの両方のエンドポイントからの API 要求を受け入れます。 パブリック・ネットワーク・アクセスはデフォルト設定であり、ポリシーが設定されていない場合に使用されます。

プライベート・インスタンスは、private・エンドポイントからの API 要求のみを受け入れます。

パブリック・アクセスとプライベート・アクセスについて詳しくは、ネットワーク・アクセス・ポリシーの管理を参照してください。

: GUID はインスタンス ID です。 この例では、インスタンスIDは ea557753-a15b-4570-a9a3-1efefbd2d382.

ibmcloud resource service-instance-create <instance_name> kms tiered-pricing <region>

# create a public service instance
$ ibmcloud resource service-instance-create <instance_name> kms tiered-pricing us-south
Creating service instance <instance_name> in resource group Default of account <account name> as <email address>...
OK
Service instance <instance_name> was created.

Name:             <instance_name>
ID:               crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:ea557753-a15b-4570-a9a3-1efefbd2d382::
GUID:             ea557753-a15b-4570-a9a3-1efefbd2d382
Location:         us-south
State:            active
Type:             service_instance
Sub Type:         kms
Allow Cleanup:    false
Locked:           false
Created at:       2020-05-31T15:04:50Z
Updated at:       2020-05-31T15:04:50Z
Last Operation:
                  Status    create succeeded
                  Message   Completed create instance operation

# list the service instances
$ ibmcloud resource service-instances
Retrieving instances with type service_instance in resource group Default in all locations under account <account name> as <email address>...
OK
Name                 Location   State    Type
<instance_name>      us-south   active   service_instance

# delete the public service instance
$ ibmcloud resource service-instance-delete <instance_name>
Deleting service instance <instance_name> in resource group Default under account <account name> as <email address>...
Really delete the service instance <instance_name> with ID crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:ea557753-a15b-4570-a9a3-1efefbd2d382::? [y/N] > y
OK
Service instance <instance_name> with ID crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:ea557753-a15b-4570-a9a3-1efefbd2d382:: is deleted successfully

プライベート・インスタンスのプロビジョン

プライベート Key Protect インスタンスをプロビジョンします。

プライベート・インスタンスは IBM Cloud 内のプライベート・エンドポイントからの API 要求のみを受け入れることに注意してください。 以下の外部にいる場合は、プライベート・インスタンスで CLI を使用することはできません。 IBM Cloud.

ibmcloud resource service-instance-create <instance_name> kms tiered-pricing <region> -p '{"allowed_network": "private-only"}'

プライベート・インスタンスが作成されると、鍵を作成する要求が行われます。 IBM Cloud の外部からprivate・インスタンスにアクセスする権限をユーザーが持っていないため、この要求は失敗します。

-p オプションは、サービス・インスタンスの作成に使用されるパラメーターの JSON ファイルまたは JSON ストリングを指定します。

# create a private service instance
$ ibmcloud resource service-instance-create <service-name> kms tiered-pricing us-south -p '{"allowed_network": "private-only"}'
Creating service instance <service-name> in resource group Default of account <account name> as <email address>...
OK
Service instance <service-name> was created.

Name:             <service-name>
ID:               crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:a152eee4-262e-4a39-ae13-a71b9882dcb6::
GUID:             a152eee4-262e-4a39-ae13-a71b9882dcb6
Location:         us-south
State:            active
Type:             service_instance
Sub Type:         kms
Allow Cleanup:    false
Locked:           false
Created at:       2020-05-31T15:10:23Z
Updated at:       2020-05-31T15:10:23Z
Last Operation:
                  Status    create succeeded
                  Message   Completed create instance operation

# list the service instances
$ ibmcloud resource service-instances
Retrieving instances with type service_instance in resource group Default in all locations under account <account name> as <email address>...
OK
Name                  Location   State    Type
<service-name>        us-south   active   service_instance

# list the private service instance
$ ibmcloud resource service-instance <service-name>
Retrieving service instance <service-name> in resource group Default under account <account name> as <email address>...
OK

Name:                  <service-name>
ID:                    crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:a152eee4-262e-4a39-ae13-a71b9882dcb6::
GUID:                  a152eee4-262e-4a39-ae13-a71b9882dcb6
Location:              us-south
Service Name:          kms
Service Plan Name:     tiered-pricing
Resource Group Name:   Default
State:                 active
Type:                  service_instance
Sub Type:              kms
Created at:            2020-05-31T15:10:23Z
Created by:            <email address>
Updated at:            2020-05-31T15:10:23Z
Last Operation:
                  Status    create succeeded
                  Message   Completed create instance operation

# list keys in the private service instance
$ ibmcloud kp keys -i a152eee4-262e-4a39-ae13-a71b9882dcb6
Retrieving keys...

FAILED

kp.Error: correlation_id='59578794-2b5b-48ca-9074-bbe23760d94a', msg='Unauthorized: The user does not have access to the specified resource'

# delete the private service instance
$ ibmcloud resource service-instance-delete <service-name>
Deleting service instance <service-name> in resource group Default under account <account name> as <email address>...
Really delete the service instance <service-name> with ID crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:a152eee4-262e-4a39-ae13-a71b9882dcb6::? [y/N] > y
OK
Service instance <service-name> with ID crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:a152eee4-262e-4a39-ae13-a71b9882dcb6:: is deleted successfully

既存の鍵を含むインスタンスの削除

鍵が含まれているサービス・インスタンスを削除することはできません。

$ ibmcloud resource service-instance-delete <instance_name>
Deleting service instance <instance_name> in resource group Default under account <account name> as <email address>...
Really delete the service instance <instance_name> with ID crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:a152eee4-262e-4a39-ae13-a71b9882dcb6::? [y/N] > y
FAILED
Error Code: RC-ServiceBrokerErrorResponse
Message: [409, Conflict] Conflict: Instance contains 2 active keys. Remove all keys before de-provisioning

次の作業

プログラムによる鍵の管理について詳しくは、Key Protect API reference docをご覧ください