シークレットの編成

IBM Cloud® Secrets Manager を使用する際に、グループを作成して、シークレットを編成し、チーム内でアクセスできるユーザーを制御できます。 その後、必要でなくなったグループは削除できます。

リソース・グループが含まれているリソース・インスタンスが従う環境および制約。 ユーザーをリソース・グループに関連付けることで、コラボレーションを有効にできます。プラットフォーム・レベルでの正しいポリシー施行を保証するのに役立つのと同様に、インスタンス・レベルでシークレット・グループを作成してシークレットを整理することができます。

このイメージは、シークレット・グループの2つの例と、それらがどのようにアクセス・グループにマップされるかを示しています。 一方にはリーダー・ロールが割り当てられ、もう一方にはマネージャー・ロールが割り当てられています。 その内容は周囲の文章で十分に説明されている。
秘密グループへのアクセス権の割り当て

前のイメージで示されているとおり、シークレット・グループにリーダー・アクセス権限を持つユーザーは、グループの存在を確認し、そのグループに割り当てられているシークレットを把握できます。 ライター・アクセス権を持つユーザーは、シークレット・グループとシークレット自体を表示、編集できます。 設計上、デフォルトのシークレットグループはインスタンスに設定されているのと同じパーミッションを継承します。

開発フェーズ別にシークレットをグループ化するか、またはチームのメンバーが持っている役割のタイプに固有のシークレットをグループ化するか、あるいは必要に合わせてシークレットをグループ化するかを選択できます。 各シークレットは 1 つのグループにのみマップでき、シークレットの作成時にマッピングが行われます。

シークレットへのアクセス権限を割り当てるための推奨ガイドラインについて詳しくは、シークレットの編成とアクセス権限割り当てのベスト・プラクティスを参照してください。

開始前に

始める前に、必要なレベルのアクセス権限を持っていることを確認してください。 シークレット・グループを作成、管理するには、マネージャー・サービス・ロールが必要です。

シークレット・グループの作成

シークレットグループは、 Secrets Manager コンソール、CLI、または API を使用して作成できます。

UI でのシークレット・グループの作成

コンソールを使用してシークレット・グループを作成できます。 シークレットを追加したり作成したりする過程でシークレット・グループを作成することもできます。

  1. コンソールで、**「メニュー」**アイコン「メニュー」アイコン **>「リソース・リスト」**をクリックします。
  2. サービスのリストから、Secrets Manager のインスタンスを選択します。
  3. ナビゲーションで**「シークレット・グループ」**をクリックします。
  4. グループを容易に識別できる名前と説明を追加します。
  5. 「作成」 をクリックします。
  6. オプション: シークレット・グループを IAM ポリシーに割り当てます。

CLIから秘密グループを作成する

Secrets Manager CLIプラグインを使用してシークレットグループを作成できます。

秘密グループを作成するには ibmcloud secrets-manager secret-group-create コマンドを実行する。

ibmcloud secrets-manager secret-group-create --name "my-secret-group" --description "Extended description for this group."

このコマンドは、他のメタデータとともに秘密グループのID値を出力する。 コマンド・オプションについては、ibmcloud secrets-manager secret-group-create を参照してください。

API を使用したシークレット・グループの作成

Secrets Manager API を使用して、シークレット・グループを作成できます。

以下の要求例では、シークレット・グループを作成します。 API を呼び出す場合は、ID 変数と IAM トークンを、ご使用の Secrets Manager インスタンス固有の値で置き換えます。

curl -X POST
  --H "Authorization: Bearer {iam_token}" \
  --H "Accept: application/json" \
  --H "Content-Type: application/json" \
  --d '{
    "name":"my-secret-group",
    "description":"Extended description for this group."
    }' \
  "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secret_groups"

Terraform を使用したシークレット・グループの作成

Secrets Managerの Terraform を使用して、シークレット・グループを作成できます。

以下の要求例では、シークレット・グループを作成します。

resource "ibm_sm_secret_group" "sm_secret_group_test" {
  instance_id = local.instance_id
  region = local.region
  name = "secret_group_test"
  description = "example secret group"
}

Terraform IBM Modules (TIM) for Secrets Manager Secret Group を使ってシークレットグループを作成・管理し、シークレットを効率的に整理する。 Terraform IBM モジュールについての 詳細はこちら。

シークレット・グループの削除

グループを使用する必要がなくなった場合は、コンソール、CLI、またはAPIを使用して削除できます。

シークレット・グループを削除するには、シークレット・グループが空でなければなりません。 シークレットを持つシークレット・グループを削除するには、まずそのグループの一部となっているシークレットを削除する必要があります。

UI でのシークレット・グループの削除

コンソールを使用してシークレット・グループを削除できます。

  1. コンソールで、**「メニュー」**アイコン「メニュー」アイコン **>「リソース・リスト」**をクリックします。
  2. サービスのリストから、Secrets Manager のインスタンスを選択します。
  3. ナビゲーションで**「シークレット・グループ」**をクリックします。
  4. 削除するシークレット・グループの行で、**「アクション」**アイコン「アクション」アイコンをクリックします。
  5. **「グループの削除」**をクリックします。
  6. **「削除」**をクリックします。

CLIからシークレットグループを削除する

Secrets Manager CLIプラグインを使用してシークレットグループを削除できます。

秘密グループを削除するには ibmcloud secrets-manager secret-group-delete コマンドを実行する。 シークレットグループはIDか名前で指定することができる。

IDで削除:

ibmcloud secrets-manager secret-group-delete --id SECRET_GROUP_ID

コマンド・オプションについては、ibmcloud secrets-manager secret-group-delete を参照してください。

API を使用したシークレット・グループの削除

Secrets Manager API を使用して、シークレット・グループを削除できます。

次の例の要求では、シークレット・グループを削除しています。 API を呼び出す場合は、ID 変数と IAM トークンを、ご使用の Secrets Manager インスタンス固有の値で置き換えます。

curl -X DELETE
  --H "Authorization: Bearer {iam_token}" \
  "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secret_groups/{id}"

次のステップ

シークレット・グループを既に使用している場合? アクセス権限の割り当てとシークレットの編成について詳しくは、以下のリソースを確認してください。