Vault API

HashiCorp Vault HTTP API를 이미 사용 중인 경우 API 형식과 지침을 사용하여 IBM Cloud® Secrets Manager과 상호작용할 수 있습니다.

Secrets Manager 에 표준 REST API를 사용하려면 Secrets Manager API 참조를 확인하세요.

개요

Secrets Manager IBM Cloud IAM 인증 방법 및 다양한 비밀 유형에 대한 Secrets Manager 작업을 지원하는 일련의 비밀 엔진에 대한 추가 지원과 함께 HashiCorp Vault 을 사용합니다.

모든 오퍼레이션은 Vault HTTP API에 사용할 수 있는 REST API 표준을 따릅니다. Vault HTTP API를 인증하고 사용하는 방법에 대한 자세한 내용은 Vault 설명서를 참조하세요.

Secrets Manager는 시크릿에 대해 작업하고 인스턴스에 로그인하는 데 도움이 되는 특정 경로로만 Vault 액세스를 제한합니다. 다른 모든 경로는 HTTP 403 Forbidden 응답 상태 코드를 리턴합니다. HashiCorp Vault 에서 제공하는 플러그인 및 기타 구성 요소는 Secrets Manager 에서 액세스하지 못할 수 있습니다. 자세한 정보는 FAQ를 참조하십시오.

엔드포인트 URL

Vault API를 사용하여 Secrets Manager에 액세스하려면 Secrets Manager 서비스 인스턴스에 고유한 전용 엔드포인트 URL을 사용하십시오.

퍼블릭 및 비공개 연결에 대한 지역별 엔드포인트 URL의 전체 목록은 서비스 엔드포인트를 참조하세요.

Secrets Manager UI의 엔드포인트 페이지에서 고유 엔드포인트 URL 를 찾거나 HTTP 요청을 통해 검색할 수도 있습니다. 자세한 정보는 엔드포인트 URL 보기를 참조하십시오.

공통 헤더

이 섹션에서는 모든 요청에 공통인 헤더에 대해 설명합니다.

공통 헤더
헤더 설명
X-Vault-Token 필수입니다. 오퍼레이션을 수행할 수 있는 충분한 권한이 있는 유효한 Vault 토큰입니다.
Content-Type 필수입니다. application/json

시간소인

모든 요청과 응답의 타임스탬프(예: 생성 및 만료 날짜)는 RFC 3339에 따라 형식이 지정됩니다. 예: 1985-04-12T23:20:50.52Z

필드 이름

이 API는 Vault HTTP API 가이드라인을 따릅니다. 모든 필드 이름은 스네이크 케이스(snake_case)로 형식화됩니다.

로그인

Vault에 로그인

IBM Cloud IAM 토큰을 사용하여 Vault에 로그인하고 맵핑된 정책이 있는 Vault 토큰을 확보합니다.

로그인 요청 매개변수
요청 매개변수 설명
token 필수입니다. IBM Cloud IAM 액세스 토큰.

요청 예제

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/login" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
    "token": "{IAM_token}"
}'

응답 예

{
    "request_id": "d9a41bfe-b8ba-8709-f1be-6dbdbc305e07",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": null,
    "wrap_info": null,
    "warnings": null,
    "auth": {
        "client_token": "s.w6vmYTRuEJdzEvVFVYjIEAYG",
        "accessor": "5m6VpELSK42N3sq0yTEuVhn5",
        "policies": [
            "default",
            "instance-reader"
        ],
        "token_policies": [
            "default",
            "instance-reader"
        ],
        "metadata": {
            "bss_acc": "791f5fb10986423e97aa8512f18b7e65",
            "grant_type": "urn:ibm:params:oauth:grant-type:apikey",
            "name": "secrets-manager-test-reader",
            "resource": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e::",
            "user": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0"
        },
        "lease_duration": 3600,
        "renewable": true,
        "entity_id": "336f5725-b98d-e0c6-921a-6041e2d3157d",
        "token_type": "service",
        "orphan": true
    }
}

로그인 토큰 구성

Vault 로그인 토큰의 지속 기간 또는 TTL(Time-To-Live) 및 수명(MaxTTL)을 구성합니다.

300s 또는 2h45m(과)와 같은 기간 문자열을 사용하십시오. 유효한 시간 단위는 s, mh입니다. IBM Cloud 인증 플러그인은 기본 로그인 토큰 지속 기간(TTL)을 1시간으로 설정하고 기본 수명(MaxTTL)을 24시간으로 설정합니다.

로그인 토큰 요청 매개변수 구성
요청 매개변수 설명
token_max_ttl 로그인 토큰의 최대 수명입니다. 기본값은 24h입니다. 이 값은 Vault MaxLeaseTTL 값을 초과할 수 없습니다.
token_ttl 생성할 로그인 토큰의 초기 TTL(Time-To-Live)입니다. 기본값은 1h입니다.

요청 예제

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/login" \
-H 'Accept: application/json' \
-H 'X-Vault-Token: {Vault_token}' \
-H 'Content-Type: application/json' \
-d '{
    "token_ttl": "30m",
    "token_max_ttl": "2h"
}'

응답 예

이 조작은 HTTP 204 No Content을(를) 리턴합니다.

로그인 토큰의 구성 가져오기

Vault 토큰의 로그인 구성을 검색합니다.

요청 예제

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/login" \
-H 'Accept: application/json' \
-H 'X-Vault-Token: {Vault-Token}'

응답 예

{
    "request_id": "41bc89dc-c950-113f-aa8f-a025646d2975",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "login": {
            "token_max_ttl": "2h0m0s",
            "token_ttl": "30m0s"
        }
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 그룹

시크릿 그룹 작성

시크릿 그룹을 작성합니다.

비밀 그룹 요청 매개변수 만들기
요청 매개변수 설명
name 필수입니다. 시크릿 그룹에 지정할 사용자가 읽을 수 있는 별명입니다.
description 시크릿 그룹에 대한 확장된 설명입니다.

요청 예제

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/groups" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-secret-group",
    "description": "Extended description for my secret group."
    }'

응답 예

{
    "request_id": "f0e47267-940e-1a59-8742-e4e77401b06b",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "creation_date": "2020-12-15T22:08:46Z",
        "description": "Extended description for my secret group.",
        "id": "2bcaa289-5d38-aa57-910d-970e418ab1b3",
        "last_update_date": "2020-12-15T22:08:46Z",
        "name": "test-secret-group",
        "type": "application/vnd.ibm.secrets-manager.secret.group+json"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 그룹 나열

Secrets Manager 서비스 인스턴스에서 사용 가능한 시크릿 그룹을 나열합니다.

요청 예제

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/groups" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

응답 예

{
    "request_id": "7ecc32f2-b78b-9290-015c-24803a1e87c9",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "groups": [
            {
                "creation_date": "2020-12-14T14:48:55Z",
                "description": "Read and write to Cloud Object storage buckets.",
                "id": "714e070d-8122-6270-198c-fef9166729e3",
                "last_update_date": "2020-12-14T14:48:55Z",
                "name": "cloud-object-storage-writers",
                "type": "application/vnd.ibm.secrets-manager.secret.group+json"
            },
            {
                "creation_date": "2020-12-15T22:08:46Z",
                "description": "Extended description for my secret group.",
                "id": "2bcaa289-5d38-aa57-910d-970e418ab1b3",
                "last_update_date": "2020-12-15T22:08:46Z",
                "name": "test-secret-group",
                "type": "application/vnd.ibm.secrets-manager.secret.group+json"
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 그룹 업데이트

기존 시크릿 그룹의 세부사항을 업데이트합니다.

비밀 그룹 요청 매개변수 업데이트
요청 매개변수 설명
name 필수입니다. 시크릿 그룹에 지정할 사용자가 읽을 수 있는 별명입니다.
description 시크릿 그룹에 대한 확장된 설명입니다.

요청 예제

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "updated-secret-group-name",
    "description": "Updated description for my secret group"
    }'

응답 예

{
    "request_id": "b02c5035-9da1-85fe-b7c7-3db2c77ddbb6",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "creation_date": "2020-12-15T22:08:46Z",
        "description": "Updated description for my secret group.",
        "id": "2bcaa289-5d38-aa57-910d-970e418ab1b3",
        "last_update_date": "2020-12-15T22:16:32Z",
        "name": "updated-secret-group-name",
        "type": "application/vnd.ibm.secrets-manager.secret.group+json"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 그룹 가져오기

시크릿 그룹 및 해당 세부사항을 검색합니다.

요청 예제

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

응답 예

{
    "request_id": "0d127ae6-8359-bc36-af53-3a56be4c3e24",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "creation_date": "2020-12-15T22:08:46Z",
        "description": "Updated description for my secret group.",
        "id": "2bcaa289-5d38-aa57-910d-970e418ab1b3",
        "last_update_date": "2020-12-15T22:18:44Z",
        "name": "updated-secret-group-name",
        "type": "application/vnd.ibm.secrets-manager.secret.group+json"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 그룹 삭제

시크릿 그룹을 삭제합니다.

요청 예제

curl -X DELETE "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

응답 예

{
    "request_id": "37065859-3238-f671-941f-d43ac340ad99",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": null,
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿

시크릿 작성

Secrets Manager 시크릿 엔진을 사용하여 시크릿을 작성하거나 가져옵니다. 다음 시크릿 유형 중 하나를 추가할 수 있습니다.

  • 임의 시크릿(arbitrary)
  • IAM 신임 정보(iam_credentials)
  • 키-값 시크릿(kv)
  • 사용자 신임 정보(user_credentials)
  • 가져온 인증서(import_cert)
  • 개인 인증서(private_cert)
  • 공용 인증서(public_cert)
  • 서비스 신임 정보 (service_credentials)
  • 사용자 지정 자격 증명 (custom_credentials)
비밀 요청 매개변수 만들기 - 임의의 비밀
요청 매개변수 설명
name 필수입니다. 시크릿에 지정할 사용자가 읽을 수 있는 별명입니다.
description 시크릿에 대한 자세한 설명입니다.
payload 필수입니다. 시크릿에 지정할 시크릿 데이터입니다.
expiration_date 시크릿에 지정하려는 만료 날짜입니다. 날짜 형식은 RFC 3339를 따릅니다.
labels[] 인스턴스의 시크릿을 필터링하는 데 사용할 수 있는 레이블입니다. 최대 30개의 레이블을 추가할 수 있습니다.
비밀 요청 매개변수 만들기 - IAM 자격증명
요청 매개변수 설명
name 필수입니다. 시크릿에 지정할 사용자가 읽을 수 있는 별명입니다.
description 시크릿에 대한 자세한 설명입니다.
access_groups[] 필수입니다. iam_credentials 시크릿에 대해 생성되는 서비스 ID 및 API 키의 기능을 정의하는 액세스 그룹입니다.
ttl 필수입니다. 생성된 신임 정보에 지정할 TTL(Time-to-live) 또는 임대 기간입니다. 이 값은 초 수를 지정하는 정수이거나 지속 기간의 문자열 표현(예: 120m 또는 24h)일 수 있습니다.
labels[] 인스턴스의 시크릿을 필터링하는 데 사용할 수 있는 레이블입니다. 최대 30개의 레이블을 추가할 수 있습니다.
비밀 요청 매개변수 생성 - 키-값 비밀
요청 매개변수 설명
name 필수입니다. 시크릿에 지정할 사용자가 읽을 수 있는 별명입니다.
description 시크릿에 대한 자세한 설명입니다.
payload 필수입니다. 시크릿에 지정할 JSON 형식의 시크릿 데이터입니다. 최대 파일 크기는 512KB입니다.
labels[] 인스턴스의 시크릿을 필터링하는 데 사용할 수 있는 레이블입니다. 최대 30개의 레이블을 추가할 수 있습니다.
비밀 요청 매개변수 만들기 - 사용자 자격 증명
요청 매개변수 설명
name 필수입니다. 시크릿에 지정할 사용자가 읽을 수 있는 별명입니다.
description 시크릿에 대한 자세한 설명입니다.
username 필수입니다. 시크릿에 지정할 사용자 이름입니다.
password 시크릿에 지정할 비밀번호입니다.
expiration_date 시크릿에 지정하려는 만료 날짜입니다. 날짜 형식은 RFC 3339를 따릅니다.
labels[] 인스턴스의 시크릿을 필터링하는 데 사용할 수 있는 레이블입니다. 최대 30개의 레이블을 추가할 수 있습니다.
비밀 요청 매개 변수 만들기 - 가져온 인증서
요청 매개변수 설명
name 필수입니다. 시크릿에 지정할 사용자가 읽을 수 있는 별명입니다.
description 시크릿에 대한 자세한 설명입니다.
certificate 필수입니다. imported_cert 시크릿에 지정할 인증 데이터입니다.
private_key imported_cert 시크릿에 지정할 일치하는 개인용 키입니다.
intermediate import_cert 시크릿에 지정할 중간 인증서 데이터입니다.
labels[] 인스턴스의 시크릿을 필터링하는 데 사용할 수 있는 레이블입니다. 최대 30개의 레이블을 추가할 수 있습니다.
비밀 요청 매개 변수 만들기 - 비공개 인증서
요청 매개변수 설명
name 필수입니다. 시크릿에 지정할 사용자가 읽을 수 있는 별명입니다.
description 시크릿에 대한 자세한 설명입니다.
certificate_template 필수입니다. 인증서 템플리트의 이름입니다.
common_name 인증서에 대한 완전한 도메인 이름 또는 호스트 도메인 이름입니다.
labels[] 인스턴스의 시크릿을 필터링하는 데 사용할 수 있는 레이블입니다. 최대 30개의 레이블을 추가할 수 있습니다.
alt_names 인증서에 대해 정의할 SAN(Subject Alternative Name)으로, 쉼표로 구분된 목록 형식입니다.
ip_sans 인증서에 대해 정의할 IP SAN(Subject Alternative Name)으로, 쉼표로 구분된 목록 형식입니다.
uri_sans 인증서에 대해 정의할 URI SAN(Subject Alternative Name)으로, 쉼표로 구분된 목록 형식입니다.
other_sans 인증서에 대해 정의할 사용자 정의 오브젝트 ID(OID) 또는 UTF8 문자열 SAN(Subject Alternative Name)입니다.

대체 이름은 연결된 인증서 템플릿의 allowed_other_san s 필드에 지정된 값과 일치해야 합니다. 형식은 다음 OpenSSL과 동일합니다. <oid>:<type>:<value> 여기서, 현재 유효한 유형은 UTF8입니다.

ttl 개인 인증서에 지정할 TTL(Time-To-Live)입니다.

이 값은 시간 단위의 기간을 문자열로 표현한 값(예: ' 12h ')으로 제공할 수 있습니다. 값은 연관된 인증서 템플리트에 정의된 max_ttl을(를) 초과할 수 없습니다.

format 리턴된 데이터의 형식입니다. 허용되는 값은 pem, pem_bundle입니다. 기본값: pem
auto_rotate Secrets Manager가 인증서를 자동으로 순환시키는지 결정합니다. 개인 인증서의 경우, 인증서는 intervalunit 필드에 지정된 시간 간격에 따라 순환됩니다.
interval 순환 간격을 지정하기 위해 unit 필드와 함께 사용됩니다. 최소 간격은 1일이고 최대 간격은 3년(1095일)입니다. auto_rotate이(가) true(으)로 설정된 경우에 필수입니다.
unit 순환 간격의 시간 단위입니다. 허용되는 값은 day, month입니다.
비밀 요청 매개 변수 만들기 - 공인 인증서
요청 매개변수 설명
name 필수입니다. 시크릿에 지정할 사용자가 읽을 수 있는 별명입니다.
description 시크릿에 대한 자세한 설명입니다.
ca 필수입니다. 인증 기관 구성의 이름입니다.
dns 필수입니다. DNS 제공자 구성의 이름입니다.
common_name 필수입니다. 인증서에 대한 완전한 도메인 이름 또는 호스트 도메인 이름입니다.
alt_names[] 인증서에 대해 정의할 대체 이름입니다.
bundle_certs 발행된 인증서가 중간 인증서와 함께 번들되는지를 결정합니다.

인증서 파일에 발급된 인증서만 포함하려면 false 로 설정합니다. 기본값: true.

key_algorithm 인증서와 연관된 공개 키를 생성하는 데 사용되는 암호화 알고리즘의 식별자입니다.

허용 가능한 값: RSA2048, RSA4096, EC256,EC384

auto_rotate Secrets Manager가 인증서를 자동으로 순환시키는지 결정합니다.

true 로 설정하면 인증서가 만료되기 31일 전에 서비스에서 인증서를 다시 주문합니다. 기본값: false

rotate_keys 시크릿 관리자가 자동으로 인증서의 개인용 키를 순환하는지 판별합니다. true(으)로 설정하면 서비스가 회전된 인증서의 새 개인용 키를 생성하고 저장합니다. 기본값: false
labels[] 인스턴스의 시크릿을 필터링하는 데 사용할 수 있는 레이블입니다. 최대 30개의 레이블을 추가할 수 있습니다.
비밀 요청 매개변수 만들기 - 서비스 자격 증명
요청 매개변수 설명
name 필수입니다. 시크릿에 지정할 사용자가 읽을 수 있는 별명입니다.
source_crn 필수입니다. 소스 서비스 인스턴스의 CRN입니다.
role 필수입니다. 지정할 권한 레벨에 대한 IAM 서비스 역할 이름입니다.
ttl 신임 정보에 지정할 TTL (time-to-live) 입니다. 시간은 일 단위로 지정할 수 있습니다.
비밀 요청 매개변수 만들기 - 사용자 지정 자격증명
요청 매개변수 설명
name 필수입니다. 시크릿에 지정할 사용자가 읽을 수 있는 별명입니다.
description 시크릿에 대한 자세한 설명입니다.
configuration 필수입니다. 사용자 정의 신임 정보 구성의 이름입니다.
parameters 필수입니다. 사용자 지정 자격 증명 구성에 필요한 매개변수(JSON 형식)입니다.
labels[] 인스턴스의 시크릿을 필터링하는 데 사용할 수 있는 레이블입니다. 최대 30개의 레이블을 추가할 수 있습니다.
auto_rotate Secrets Manager 비밀글을 자동으로 회전시킬지 여부를 결정합니다.
interval 순환 간격을 지정하기 위해 unit 필드와 함께 사용됩니다. auto_rotatetrue 으로 설정된 경우 필수입니다.
unit 순환 간격의 시간 단위입니다. 허용되는 값은 day, month입니다.

요청 예

default 시크릿 그룹에서 임의 시크릿을 작성합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-arbitrary-secret",
    "description": "Extended description for my secret.",
    "payload": "secret-data",
    "labels": [
        "dev",
        "us-south"
    ],
    "expiration_date": "2030-04-01T09:30:00Z"
    }'

기존 시크릿 그룹에서 임의 시크릿을 작성하십시오.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-arbitrary-secret-in-group",
    "description": "Extended description for my secret.",
    "payload": "secret-data",
    "labels": [
        "dev",
        "us-south"
    ],
    "expiration_date": "2030-04-01T09:30:00Z"
    }'

default 시크릿 그룹에서 IAM 신임 정보를 작성합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/iam_credentials/roles/{secret_name}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-iam-credentials",
    "description": "Extended description for my secret.",
    "access_groups": [
        "AccessGroupId-0529f490-129c-4877-a2a0-b57f50d3e53b"
    ],
    "labels": [
        "dev",
        "us-south"
    ],
    "ttl": "30m"
    }'

기존 그룹에서 IAM 인증 정보를 작성하십시오.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/iam_credentials/roles/groups/{group_id}/{secret_name}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-iam-credentials-in-group",
    "description": "Extended description for my secret.",
    "access_groups": [
        "AccessGroupId-0529f490-129c-4877-a2a0-b57f50d3e53b"
    ],
    "labels": [
        "dev",
        "us-south"
    ],
    "ttl": "30m"
    }'

default 시크릿 그룹에서 키-값 시크릿을 작성합니다. 자세히 보기

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets' \
-H 'Accept: application/json' \
-H 'X-Vault-Token: {Vault-Token}' \
-H 'Content-Type: application/json' \
-d '{
    "name": "test-kv-secret",
    "description": "Extended description for my secret.",
    "payload": {
        "key1": "value1"
    },
    "labels": [
        "dev",
        "us-south"
    ]
}'

기존 시크릿 그룹에서 키-값 시크릿을 작성합니다.

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/groups/{group_id}' \
-H 'Accept: application/json/groups/{group_id}' \
-H 'X-Vault-Token: {Vault-Token}' \
-H 'Content-Type: application/json' \
-d '{
    "name": "test-kv-secret",
    "description": "Extended description for my secret.",
    "payload": {
        "key1": "value1"
    },
    "labels": [
        "dev",
        "us-south"
    ]
}'

default 시크릿 그룹에 사용자 신임 정보를 작성합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-username-password",
        "description": "Extended description for my secret.",
        "username": "user123",
        "password": "cloudy-rainy-coffee-book",
        "expiration_date": "2020-12-31T00:00:00Z",
        "labels": [
            "dev",
            "us-south"
        ]
    }'

기존 시크릿 그룹에서 사용자 인증 정보를 작성하십시오.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-username-password-in-group",
        "description": "Extended description for my secret.",
        "username": "user123",
        "password": "cloudy-rainy-coffee-book",
        "expiration_date": "2020-12-31T00:00:00Z",
        "labels": [
            "dev",
            "us-south"
        ]
    }'

SSL/TLS 인증서를 가져오고 이를 default 시크릿 그룹에 지정합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/imported_cert/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-imported-certificate",
        "description": "Extended description for my secret."
        "certificate": "-----BEGIN CERTIFICATE-----\nMIICWzCCAcQCC...(redacted)",
        "private_key": "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANB...(redacted)",
        "intermediate": "-----BEGIN CERTIFICATE-----\nMIICUzHHraOa...(redacted)",
        "labels": [
            "dev",
            "us-south"
        ]
    }'

SSL/TLS 인증서를 가져오고 이를 기존 시크릿 그룹에 지정합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/imported_cert/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-imported-certificate-in-group",
        "description": "Extended description for my secret."
        "certificate": "-----BEGIN CERTIFICATE-----\nMIICWzCCAcQCC...(redacted)",
        "private_key": "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANB...(redacted)",
        "intermediate": "-----BEGIN CERTIFICATE-----\nMIICUzHHraOa...(redacted)",
        "labels": [
            "dev",
            "us-south"
        ]
    }'

공용 SSL/TLS 인증서를 주문하고 이를 default 시크릿 그룹에 지정합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/public_cert/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-public-certificate-in-group",
        "description": "Extended description for my secret.",
        "ca": "my-configured-certificate-authority",
        "dns": "my-configured-dns-provider",
        "common_name": "example.com",
        "alt_names": [
            "www.example.com"
        ],
        "labels": [
            "dev",
            "us-south"
        ],
        "bundle_certs": false,
        "key_algorithm": "RSA2048",
        "rotation": {
            "auto_rotate": false,
            "rotate_keys": false
        }
    }'

공용 SSL/TLS 인증서를 주문하고 이를 기존 시크릿 그룹에 지정합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/public_cert/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-public-certificate-in-group",
        "description": "Extended description for my secret.",
        "ca": "my-configured-certificate-authority",
        "dns": "my-configured-dns-provider",
        "common_name": "example.com",
        "alt_names": [
            "www.example.com"
        ],
        "labels": [
            "dev",
            "us-south"
        ],
        "bundle_certs": false,
        "key_algorithm": "RSA2048",
        "rotation": {
            "auto_rotate": false,
            "rotate_keys": false
        }
    }'

개인 SSL/TLS 인증서를 작성하고 이를 default 시크릿 그룹에 지정합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/private_cert/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-private-certificate",
        "description": "Extended description for my secret.",
        "certificate_template": "my-configured-certificate-template",
        "common_name": "example.com",
        "alt_names": [
            "www.example.com"
        ],
        "labels": [
            "dev",
            "us-south"
        ],
        "rotation": {
            "auto_rotate": true,
            "interval": 90,
            "unit": day
        }
    }'

개인 SSL/TLS 인증서를 작성하고 이를 기존 시크릿 그룹에 지정합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/private_cert/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-private-certificate",
        "description": "Extended description for my secret.",
        "certificate_template": "my-configured-certificate-template",
        "common_name": "example.com",
        "alt_names": [
            "www.example.com"
        ],
        "labels": [
            "dev",
            "us-south"
        ],
        "rotation": {
            "auto_rotate": true,
            "interval": 90,
            "unit": day
        }
    }'

서비스 자격 증명 집합을 만들거나 가져옵니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/service_credentials/secrets" \
    -H 'Accept: application/json' \
        -H "X-Vault-Token: $VAULT_TOKEN" \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-sc-secret",
        "source_crn":"crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675bc::",
        "role":"crn:v1:bluemix:public:iam::::serviceRole:Manager",
        "ttl":"90d"
    }' | jq

default 비밀 그룹에서 사용자 지정 자격증명 비밀을 만듭니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/custom_credentials/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-custom-credentials-secret",
        "description": "Extended description for my custom credentials secret.",
        "configuration": "my-custom-credentials-config",
        "parameters": {
            "username": "user@example.com",
            "api_key": "example-api-key"
        },
        "labels": [
            "dev",
            "us-south"
        ],
        "rotation": {
            "auto_rotate": true,
            "interval": 30,
            "unit": "day"
        }
    }'

기존 비밀 그룹에서 사용자 지정 자격증명 비밀을 만듭니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/custom_credentials/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-custom-credentials-secret-in-group",
        "description": "Extended description for my custom credentials secret.",
        "configuration": "my-custom-credentials-config",
        "parameters": {
            "username": "user@example.com",
            "api_key": "example-api-key"
        },
        "labels": [
            "dev",
            "us-south"
        ],
        "rotation": {
            "auto_rotate": true,
            "interval": 30,
            "unit": "day"
        }
    }'

응답 예

default 시크릿 그룹에 임의 시크릿을 작성하는 요청에서 다음 응답을 리턴합니다.

{
    "request_id": "8c047529-de3a-a79d-7c2f-c382a8e75312",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-15T22:34:53Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:a6972127-35ad-b36f-aac8-0223f0475cb6",
    "description": "Extended description for my secret.",
    "expiration_date": "2030-04-01T09:30:00Z",
    "id": "a6972127-35ad-b36f-aac8-0223f0475cb6",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-15T22:34:53Z",
    "name": "test-arbitrary-secret-in-group",
    "secret_data": {
        "payload": "secret-data"
    },
    "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
    "secret_type": "arbitrary",
    "state": 1,
    "state_description": "Active",
    "versions": [
        {
          "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
          "creation_date": "2020-12-15T22:34:53Z",
          "id": "a7f55e6f-b068-977b-062e-4de644633982"
        }
    ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

기존 시크릿 그룹에서 임의 시크릿을 작성하기위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "8c047529-de3a-a79d-7c2f-c382a8e75312",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-15T22:34:53Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:a6972127-35ad-b36f-aac8-0223f0475cb6",
    "description": "Extended description for my secret.",
    "expiration_date": "2030-04-01T09:30:00Z",
    "id": "a6972127-35ad-b36f-aac8-0223f0475cb6",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-15T22:34:53Z",
    "name": "test-arbitrary-secret-in-group",
    "secret_data": {
        "payload": "secret-data"
    },
    "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
    "secret_type": "arbitrary",
    "state": 1,
    "state_description": "Active",
    "versions": [
        {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-15T22:34:53Z",
        "id": "a7f55e6f-b068-977b-062e-4de644633982"
        }
    ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

default 시크릿 그룹에 IAM 신임 정보를 작성하는 요청이 다음 응답을 리턴합니다.

{
    "request_id": "3bef24c5-5ab9-72f4-8a1a-dd35a6e7aa15",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "access_groups": [
            "AccessGroupId-0529f490-129c-4877-a2a0-b57f50d3e53b"
        ],
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-16T21:34:51Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:8bc5eae8-e5b7-9599-de8e-525d1c3e2723",
        "description": "Extended description for my secret.",
        "id": "8bc5eae8-e5b7-9599-de8e-525d1c3e2723",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2020-12-16T21:34:51Z",
        "name": "test-iam-credentials",
        "secret_type": "iam_credentials",
        "state": 1,
        "state_description": "Active",
        "ttl": 1800
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

기존 시크릿 그룹에서 IAM 인증 정보를 작성하기 위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "2278a441-6dbe-5ee8-4a4b-3b5b1e814231",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "access_groups": [
        "AccessGroupId-0529f490-129c-4877-a2a0-b57f50d3e53b"
    ],
    "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-16T21:57:13Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:99425779-0707-4877-81CB-ca11e28b6ef1",
    "description": "Extended description for my secret.",
    "id": "99425779-0707-4877-81CB-ca11e28b6ef1",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-16T21:57:13Z",
    "name": "test-iam-credentials-in-group",
    "secret_group_id": "714e070d-8122-6270-198c-fef9166729e3",
    "secret_type": "iam_credentials",
    "state": 1,
    "state_description": "Active",
    "ttl": 1800
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

default 시크릿 그룹에 키-값 시크릿을 작성하는 요청이 다음 응답을 리턴합니다.

{
    "request_id": "6e0000-60c0-d0ef-bc00-000c0a000b00",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-9ca407-f38d-000e-0b02-ed6b41",
        "creation_date": "2022-01-25T19:22:59Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/0000000be376647f5f961f5:50004-5f59-4164-8bfc-5000cf66:secret:43f000f-4085-000c-c028-6ff00004dbd",
        "description": "Extended description for my secret.",
        "downloaded": false,
        "id": "40000df-4000-300c-c01028-6ff20000dbd",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2022-01-25T19:22:59Z",
        "name": "test-kv-secret",
        "secret_data": {
            "payload": {
                "key1": "value1"
            }
        },
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions": [
            {
                "created_by": "iam-ServiceId-9ca407-f38d-000e-0b02-ed6b41",
                "creation_date": "2022-01-25T19:22:59Z",
                "downloaded": false,
                "id": "40000df-4000-300c-c01028-6ff20000dbd",
                "payload_available": true
            }
        ],
        "versions_total": 1
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

기존 시크릿 그룹의 키-값 시크릿을 작성하는 요청이 다음 응답을 리턴합니다.

{
    "request_id": "a0766ef6-5bfe-d92d-4894-6d3f40126b25",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-9ca24407-f38d-479e-8b02-ed6b4e1b0d31",
        "creation_date": "2022-01-27T17:59:20Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/4b85ea6bbea644a6be376647f5f961f5:5f1a3554-5f59-4164-8bfc-5eef0a20cf66:secret:21764466-5a9d-a9df-fc71-5b8ee4ecbb99",
        "description": "Extended description for my secret.",
        "downloaded": false,
        "id": "21764466-5a9d-a9df-fc71-5b8ee4ecbb99",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2022-01-27T17:59:20Z",
        "name": "test-kv-secret6",
        "secret_data": {
            "payload": {
                "key6": "value6"
            }
        },
        "secret_group_id": "aded5ffd-da17-c923-eb21-600569c5d1c2",
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions": [
            {
                "created_by": "iam-ServiceId-9ca24407-f38d-479e-8b02-ed6b4e1b0d31",
                "creation_date": "2022-01-27T17:59:20Z",
                "downloaded": false,
                "id": "96d5b7dd-d8fb-5afc-9c05-6cfdaff8af9e",
                "payload_available": true
            }
        ],
        "versions_total": 1
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

default 시크릿 그룹에 사용자 신임 정보를 작성하는 요청이 다음 응답을 리턴합니다.

{
    "request_id": "96fc9603-5aff-5daa-f25c-efc3599b374b",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-15T22:43:36Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:2bd4c8fc-c1e4-f9d7-8026-6c04610f051f",
    "description": "Extended description for my secret.",
    "expiration_date": "2020-12-31T00:00:00Z",
    "id": "2bd4c8fc-c1e4-f9d7-8026-6c04610f051f",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-15T22:43:36Z",
    "name": "test-username-password",
    "secret_data": {
        "password": "cloudy-rainy-coffee-book",
        "username": "user123"
    },
    "secret_type": "username_password",
    "state": 1,
    "state_description": "Active",
    "versions": [
        {
        "auto_rotated": false,
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-15T22:43:36Z",
        "id": "ae4b3afd-5e63-5951-790b-f1892e8c5267"
        }
    ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

기존 시크릿 그룹에서 사용자 인증 정보를 작성하기 위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "4ccc9dd5-af3a-6865-293f-3f704d2866e1",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-15T22:46:41Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
    "description": "Extended description for my secret.",
    "expiration_date": "2020-12-31T00:00:00Z",
    "id": "be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-15T22:46:41Z",
    "name": "test-username-password-in-group",
    "secret_data": {
        "password": "cloudy-rainy-coffee-book",
        "username": "user123"
    },
    "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
    "secret_type": "username_password",
    "state": 1,
    "state_description": "Active",
    "versions": [
        {
          "auto_rotated": false,
          "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
          "creation_date": "2020-12-15T22:46:41Z",
          "id": "a09c7a3c-13a5-7a17-fadc-e7850496d27a"
        }
    ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

default 시크릿 그룹에 인증서를 가져오는 요청에서 다음 응답을 리턴합니다.

{
    "request_id": "811b893b-55c7-b6bb-4e55-26a7a8362164",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "algorithm": "RSA",
        "common_name": "example.com",
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2021-06-03T20:50:11Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
        "description": "Extended description for my secret.",
        "expiration_date": "2021-06-04T15:25:44Z",
        "id": "be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
        "intermediate_included": false,
        "issuer": "US Texas Austin Example Corp. Example Org example.com",
        "key_algorithm": "SHA256-RSA",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2021-06-03T20:50:11Z",
        "name": "test-imported-certificate-in-group",
        "private_key_included": true,
        "secret_type": "imported_cert",
        "serial_number": "fc:22:29:7e:57:25:8a:05",
        "state": 1,
        "state_description": "Active",
        "validity": {
            "not_after": "2021-06-04T15:25:44Z",
            "not_before": "2021-06-03T15:25:44Z"
        },
        "versions": [
            {
                "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
                "creation_date": "2021-06-03T20:50:11.278296706Z",
                "expiration_date": "2021-06-04T15:25:44Z",
                "id": "be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
                "serial_number": "fc:22:29:7e:57:25:8a:05",
                "validity": {
                    "not_after": "2021-06-04T15:25:44Z",
                    "not_before": "2021-06-03T15:25:44Z"
                }
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

기존 시크릿 그룹에 인증서를 가져오는 요청은 다음 응답을 리턴합니다.

{
    "request_id": "811b893b-55c7-b6bb-4e55-26a7a8362164",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "algorithm": "RSA",
        "common_name": "example.com",
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2021-06-03T20:50:11Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
        "description": "Extended description for my secret.",
        "expiration_date": "2021-06-04T15:25:44Z",
        "id": "be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
        "intermediate_included": false,
        "issuer": "US Texas Austin Example Corp. Example Org example.com",
        "key_algorithm": "SHA256-RSA",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2021-06-03T20:50:11Z",
        "name": "test-imported-certificate-in-group",
        "private_key_included": true,
        "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
        "secret_type": "imported_cert",
        "serial_number": "fc:22:29:7e:57:25:8a:05",
        "state": 1,
        "state_description": "Active",
        "validity": {
            "not_after": "2021-06-04T15:25:44Z",
            "not_before": "2021-06-03T15:25:44Z"
        },
        "versions": [
            {
                "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
                "creation_date": "2021-06-03T20:50:11.278296706Z",
                "expiration_date": "2021-06-04T15:25:44Z",
                "id": "e4f44e8b-abe0-9267-88da-199e754f974a",
                "serial_number": "fc:22:29:7e:57:25:8a:05",
                "validity": {
                    "not_after": "2021-06-04T15:25:44Z",
                    "not_before": "2021-06-03T15:25:44Z"
                }
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

서비스 신임 정보 세트를 작성하거나 가져오기 위한 요청은 다음 응답을 리턴합니다.

{
  "request_id": "b7b8799c-e0f7-f31c-c050-3d66f854c214",
  "lease_id": "",
  "renewable": false,
  "lease_duration": 0,
  "data": {
    "created_by": "IBMid-2723462DAH",
    "creation_date": "2023-11-23T13:33:36Z",
    "crn": "crn:v1:staging:public:secrets-manager:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:e2c32ad4-1414-41e0-8747-e107e6b9f8e6:secret:c70951dd-f672-9995-968d-b76204b2432d",
    "custom_metadata": {},
    "downloaded": true,
    "iam_apikey_description": "Auto-generated for key crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:d13dd212-cd38-4732-a14e-1889ee3ca4fa",
    "iam_apikey_id": "ApiKey-4fdabb94-2654-4ab7-8d01-fbf41117b4a9",
    "iam_apikey_name": "test-sc-secret",
    "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
    "iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/826aa2b9cab6c666477fc55ebc47bacc::serviceid:ServiceId-38fd1d20-db0b-4ae6-bee9-23d6468e149f",
    "id": "c70951dd-f672-9995-968d-b76204b2432d",
    "labels": [],
    "last_update_date": "2023-11-23T13:33:36Z",
    "locks_total": 0,
    "name": "test-sc-secret",
    "parameters": {},
    "resource_key_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:d13dd212-cd38-4732-a14e-1889ee3ca4fa",
    "resource_key_name": "test-sc-secret",
    "role": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
    "secret_data": {
      "apikey": "xxxxxxxxxxxxxxxxxxxx",
      "guid": "f85409e9-1a06-47d5-8320-95ed4e1675bc",
      "iam_apikey_description": "Auto-generated for key crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:d13dd212-cd38-4732-a14e-1889ee3ca4fa",
      "iam_apikey_id": "ApiKey-4fdabb94-2654-4ab7-8d01-fbf41117b4a9",
      "iam_apikey_name": "test-sc-secret",
      "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
      "iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/826aa2b9cab6c666477fc55ebc47bacc::serviceid:ServiceId-38fd1d20-db0b-4ae6-bee9-23d6468e149f",
      "instance_id": "f85409e9-1a06-47d5-8320-95ed4e1675cc",
      "plan": "33b50df2-9cd6-4005-a941-bf0a59f0d133",
      "region": "us-south"
    },
    "secret_type": "service_credentials",
    "source_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675cc::",
    "state": 1,
    "state_description": "Active",
    "ttl": 7776000,
    "versions": [
      {
        "created_by": "IBMid-2723462DAH",
        "creation_date": "2023-11-23T13:33:36Z",
        "downloaded": true,
        "expiration_date": "2024-02-21T13:33:36Z",
        "id": "1ab6e797-c74d-419d-0863-a8976b64efe8",
        "payload_available": true,
        "version_custom_metadata": {}
      }
    ],
    "versions_total": 1
  },
  "wrap_info": null,
  "warnings": null,
  "auth": null
}

시크릿 가져오기

시크릿의 값을 가져옵니다. 시크릿 ID 또는 시크릿 이름을 사용하여 시크릿을 검색할 수 있습니다.

요청 예

임의의 비밀을 얻으십시오.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

기존 시크릿 그룹에서 임의 시크릿을 가져오십시오.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

IAM 인증 정보를 가져오십시오.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/iam_credentials/creds/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

기존 시크릿 그룹에서 IAM 인증 정보를 가져오십시오.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/iam_credentials/creds/groups/{group_id}/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

키-값 시크릿을 가져오십시오. 자세히 알아보십시오.

curl -L -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/{secret_id_or_secret_name}' \
    -H 'Accept: application/json'\
    -H 'X-Vault-Token: {Vault-Token}'

기존 시크릿 그룹의 키-값 시크릿을 가져옵니다.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/groups/{group_id}/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

사용자 신임 정보를 가져오십시오.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

기존 시크릿 그룹에서 사용자 신임 정보를 가져옵니다.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/groups/{group_id}/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

가져온 인증서를 가져오십시오.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/imported_cert/secrets/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

기존 시크릿 그룹에서 가져온 인증서를 가져옵니다.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/imported_cert/secrets/groups/{group_id}/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

서비스 자격 증명 세트를 받습니다.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/service_credentials/secrets/{secret_id_or_secret_name}" \
     -H 'Accept: application/json' \
     -H "X-Vault-Token: $VAULT_TOKEN" | jq

사용자 지정 자격 증명을 받습니다.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/custom_credentials/secrets/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

기존 비밀 그룹에서 사용자 지정 자격 증명을 받습니다.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/custom_credentials/secrets/groups/{group_id}/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

응답 예

임의의 시크릿을 검색하기 위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "463e84e8-3a0c-1061-1a6e-6ce1434c7ba2",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-16T20:54:52Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:582a8f65-9a2b-a072-4fc3-e69ff3462c23",
    "description": "Extended description for my secret.",
    "expiration_date": "2030-04-01T09:30:00Z",
    "id": "582a8f65-9a2b-a072-4fc3-e69ff3462c23",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-16T20:54:52Z",
    "name": "test-arbitrary-secret",
    "secret_data": {
        "payload": "secret-data"
    },
    "secret_type": "arbitrary",
    "state": 1,
    "state_description": "Active",
    "versions": [
        {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-16T20:54:52Z",
        "id": "03d9ddb3-aa1d-d929-40c8-04027213ef08"
        }
    ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

기존 시크릿 그룹에서 임의 시크릿을 검색하기 위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "791340bd-5664-c1e3-e779-d1391494f55d",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-15T22:34:53Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:a6972127-35ad-b36f-aac8-0223f0475cb6",
    "description": "Extended description for my secret.",
    "expiration_date": "2030-04-01T09:30:00Z",
    "id": "a6972127-35ad-b36f-aac8-0223f0475cb6",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-15T22:34:53Z",
    "name": "test-arbitrary-secret-in-group",
    "secret_data": {
        "payload": "secret-data"
    },
    "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
    "secret_type": "arbitrary",
    "state": 1,
    "state_description": "Active",
    "versions": [
        {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-15T22:34:53Z",
        "id": "a7f55e6f-b068-977b-062e-4de644633982"
        }
    ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

IAM 인증 정보를 생성하기 위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "c9716624-669f-2ef4-5560-a5d4e6618826",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "access_groups": [
        "AccessGroupId-0529f490-129c-4877-a2a0-b57f50d3e53b"
    ],
    "api_key": "U40hERZ0h-0C0cnka2bEuL2y...(redacted)",
    "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-16T21:55:31Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:d7a2b83f-997c-4914-857a-86bfcdbf0873",
    "description": "Extended description for my secret.",
    "id": "d7a2b83f-997c-4914-857a-86bfcdbf0873",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-16T22:05:16Z",
    "name": "test-iam-credentials",
    "secret_type": "iam_credentials",
    "service_id": "ServiceId-43c79ec9-7f02-481d-92f1-e60363483298",
    "state": 1,
    "state_description": "Active",
    "ttl": 1800
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

기존 시크릿 그룹에서 IAM 인증 정보를 생성하기 위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "201eaa80-d5f1-2697-66dd-481d94a52685",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "access_groups": [
        "AccessGroupId-0529f490-129c-4877-a2a0-b57f50d3e53b"
    ],
    "api_key": "CFQY6wWPI3C3wKx6XLC9p0c3e...(redacted)",
    "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-16T21:57:13Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:99425779-0707-4877-81CB-ca11e28b6ef1",
    "description": "Extended description for my secret.",
    "id": "99425779-0707-4877-81CB-ca11e28b6ef1",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-16T22:07:20Z",
    "name": "test-iam-credentials-in-group",
    "secret_group_id": "714e070d-8122-6270-198c-fef9166729e3",
    "secret_type": "iam_credentials",
    "service_id": "ServiceId-d1a99978-2108-4eec-9dae-bdf5691e7136",
    "state": 1,
    "state_description": "Active",
    "ttl": 1800
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

키-값 시크릿을 검색하기 위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "1e0000-7100-cb00b-d00a-b350000f5a",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-9c00000-00d-000e-8000-ed6b40000",
        "creation_date": "2022-01-25T19:22:04Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/4b85000004a6be3700000f5:5f1000-5f00-4000-8bfc-5e0000f66:secret:0000ea8e-7d00-69ce-c000a-0a00000b3ee",
        "description": "Extended description for my secret.",
        "downloaded": true,
        "id": "00002ea8e-7lk90-00ce-c200a-00004b3ee",
        "labels": [],
        "last_update_date": "2022-01-25T19:22:04Z",
        "name": "test-kv-secret",
        "secret_data": {
            "payload": {
                "key1": "value1"
            }
        },
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions": [
            {
                "created_by": "iam-ServiceId-000000-f000d-479e-8b02-ed600000",
                "creation_date": "2022-01-25T19:22:04Z",
                "downloaded": true,
                "id": "bf00007-800dc-0006-14d9-a7c720000bh",
                "payload_available": true
            }
        ],
        "versions_total": 1
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

기존 시크릿 그룹의 키-값 시크릿을 검색하는 요청에서 다음 응답을 리턴합니다.

{
    "request_id": "a0000c-e00-000ef-d000e8-a68e60000",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "Id-000000",
        "creation_date": "2022-01-26T20:11:29Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/4b0000a6bbe:5f1a3554-5f59-4164-8bfc-5e0000000cf66:secret:e006e8bc-f497-dc93-4102-9d0000001",
        "description": "Extended description for my secret.",
        "downloaded": true,
        "id": "e00000c-f0000-d0003-00002-9d9cf2000001",
        "labels": [],
        "last_update_date": "2022-01-26T20:11:29Z",
        "name": "test-kv-secret-from-group",
        "secret_data": {
            "payload": {
                "key5": "value5"
            }
        },
        "secret_group_id": "0000ffd-da17-c0000-eb0000-600000002",
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions": [
            {
                "created_by": "Id-0000000",
                "creation_date": "2022-01-26T20:11:29Z",
                "downloaded": true,
                "id": "5c000000-000c3-00003-de0000-c0d200000",
                "payload_available": true
            }
        ],
        "versions_total": 1
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

가져온 인증서를 검색하기 위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "811b893b-55c7-b6bb-4e55-26a7a8362164",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "algorithm": "RSA",
        "common_name": "example.com",
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2021-06-03T20:50:11Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
        "description": "Extended description for my secret.",
        "expiration_date": "2021-06-04T15:25:44Z",
        "id": "be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
        "intermediate_included": true,
        "issuer": "US Texas Austin Example Corp. Example Org example.com",
        "key_algorithm": "SHA256-RSA",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2021-06-03T20:50:11Z",
        "name": "test-imported-certificate",
        "private_key_included": true,
        "secret_data": {
            "certificate": "-----BEGIN CERTIFICATE-----\nMIICWzCCAcQCC...(redacted)",
            "intermediate": "-----BEGIN CERTIFICATE-----\nMIICUzHHraOa...(redacted)",
            "private_key": "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANB...(redacted)"
        },
        "secret_type": "imported_cert",
        "serial_number": "fc:22:29:7e:57:25:8a:05",
        "state": 1,
        "state_description": "Active",
        "validity": {
            "not_after": "2021-06-04T15:25:44Z",
            "not_before": "2021-06-03T15:25:44Z"
        },
        "versions": [
            {
                "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
                "creation_date": "2021-06-03T20:50:11.278296706Z",
                "expiration_date": "2021-06-04T15:25:44Z",
                "id": "e4f44e8b-abe0-9267-88da-199e754f974a",
                "serial_number": "fc:22:29:7e:57:25:8a:05",
                "validity": {
                    "not_after": "2021-06-04T15:25:44Z",
                    "not_before": "2021-06-03T15:25:44Z"
                }
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

서비스 신임 정보 세트를 검색하기 위한 요청은 다음 응답을 리턴합니다.

{
  "request_id": "18d15b17-eb6f-68ad-8b44-4033ab64feb1",
  "lease_id": "",
  "renewable": false,
  "lease_duration": 0,
  "data": {
    "created_by": "IBMid-2723462DAH",
    "creation_date": "2023-11-23T13:33:36Z",
    "crn": "crn:v1:staging:public:secrets-manager:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:e2c32ad4-1414-41e0-8747-e107e6b9f8a6:secret:c70951dd-f672-9995-968d-b76204b2432d",
    "custom_metadata": {},
    "downloaded": true,
    "iam_apikey_description": "Auto-generated for key crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:d13dd212-cd38-4732-a14e-1889ee3ca4fa",
    "iam_apikey_id": "ApiKey-4fdabb94-2654-4ab7-8d01-fbf41117b4a9",
    "iam_apikey_name": "test-sc-secret",
    "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
    "iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/826aa2b9cab6c666477fc55ebc47bacc::serviceid:ServiceId-38fd1d20-db0b-4ae6-bee9-23d6468e149f",
    "id": "c70951dd-f672-9995-968d-b76204b2432d",
    "labels": [],
    "last_update_date": "2023-11-23T13:33:36Z",
    "locks_total": 0,
    "name": "test-sc-secret",
    "parameters": {},
    "resource_key_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:d13dd212-cd38-4732-a14e-1889ee3ca4fa",
    "resource_key_name": "test-sc-secret",
    "role": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
    "secret_data": {
      "apikey": "xxxxxxxxxxxxxxxxxxxxxxx",
      "guid": "f85409e9-1a06-47d5-8320-95ed4e1675cc",
      "iam_apikey_description": "Auto-generated for key crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:d13dd212-cd38-4732-a14e-1889ee3ca4fa",
      "iam_apikey_id": "ApiKey-4fdabb94-2654-4ab7-8d01-fbf41117b4a9",
      "iam_apikey_name": "test-sc-secret",
      "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
      "iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/826aa2b9cab6c666477fc55ebc47bacc::serviceid:ServiceId-38fd1d20-db0b-4ae6-bee9-23d6468e149f",
      "instance_id": "f85409e9-1a06-47d5-8320-95ed4e1675cc",
      "plan": "33b50df2-9cd6-4005-a941-bf0a59f0d133",
      "region": "us-south"
    },
    "secret_type": "service_credentials",
    "source_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc::",
    "state": 1,
    "state_description": "Active",
    "ttl": 7776000,
    "versions": [
      {
        "created_by": "IBMid-2723462DAH",
        "creation_date": "2023-11-23T13:33:36Z",
        "downloaded": true,
        "expiration_date": "2024-02-21T13:33:36Z",
        "id": "1ab6e797-c74d-419d-0863-a8976b64efe8",
        "payload_available": true,
        "version_custom_metadata": {}
      }
    ],
    "versions_total": 1
  },
  "wrap_info": null,
  "warnings": null,
  "auth": null
}

시크릿 나열

Secrets Manager 시크릿 엔진에서 사용 가능한 시크릿 목록을 검색하십시오.

요청 예

임의 시크릿을 나열하십시오.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

기존 시크릿 그룹에서 임의 시크릿을 나열하십시오.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

응답 예

모든 임의 시크릿을 나열하기 위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "d8eb84fd-c0bd-08ae-c3ad-cff87606953c",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secrets": [
        {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-15T22:34:53Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:a6972127-35ad-b36f-aac8-0223f0475cb6",
        "description": "Extended description for my secret.",
        "expiration_date": "2030-04-01T09:30:00Z",
        "id": "a6972127-35ad-b36f-aac8-0223f0475cb6",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2020-12-15T22:34:53Z",
        "name": "test-arbitrary-secret-in-group",
        "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
        "secret_type": "arbitrary",
        "state": 1,
        "state_description": "Active"
        },
        {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-15T22:41:14Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
        "description": "Extended description for my secret.",
        "expiration_date": "2030-04-01T09:30:00Z",
        "id": "ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2020-12-15T22:41:14Z",
        "name": "another-arbitrary-secret-in-group",
        "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
        "secret_type": "arbitrary",
        "state": 1,
        "state_description": "Active"
        }
    ],
    "secrets_total": 2
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 메타데이터 가져오기

이름, 설명과 같은 시크릿의 메타데이터를 검색합니다. 시크릿의 실제 값을 검색하려면 시크릿 가져오기를 사용하십시오.

요청 예

arbitrary 시크릿의 메타데이터를 가져오십시오.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/{secret_id}/metadata" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

기존 시크릿 그룹에서 arbitrary 시크릿에 대한 메타데이터를 가져옵니다.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}/{secret_id}/metadata" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

kv 시크릿의 메타데이터를 가져오십시오. 자세히 보기

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/{secret_id}/metadata' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

기존 시크릿 그룹에서 kv 시크릿에 대한 메타데이터를 가져옵니다.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/groups/{group_id}/{secret_id}/metadata' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

응답 예

arbitrary 비밀의 메타데이터를 검색하라는 요청은 다음과 같은 응답을 반환합니다:

{
    "request_id": "372645c0-9d97-5f6b-0755-99145eacdb93",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2021-06-04T02:55:40Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
        "description": "Extended description for my secret.",
        "expiration_date": "2030-04-01T09:30:00Z",
        "id": "ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2021-06-04T02:55:40Z",
        "name": "test-arbitrary-secret",
        "secret_type": "arbitrary",
        "state": 1,
        "state_description": "Active"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

kv 비밀의 메타데이터를 검색하라는 요청은 다음과 같은 응답을 반환합니다:

{
    "request_id": "0a0000e-0a0f-edfh-000a-ec2000ab00",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-9ca00000-f00d-000e-8b02-ed6b000pl",
        "creation_date": "2022-01-25T19:22:04Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/4000000bbea00000000647f000001f5:5f000004-5f00-40000-8bfc-5mnh0a200000:secret:00000ea8e-7d00-00ce-c00poa-0a00000f0000e",
        "description": "Extended description for my secret.",
        "downloaded": true,
        "id": "0a0000e-0a0f-edfh-000a-ec2000ab00",
        "labels": [],
        "last_update_date": "2022-01-25T19:22:04Z",
        "name": "test-kv-secret",
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions_total": 1
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

기존 시크릿 그룹에서 kv 시크릿의 메타데이터를 검색하는 요청은 다음 응답을 리턴합니다.

{
    "request_id": "0a0000e-0a0f-edfh-000a-ec2000ab00",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "id-0000000YC6X",
        "creation_date": "2022-01-26T20:11:29Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/4000000bbea00000000647f000001f5:5f000004-5f00-40000-8bfc-5mnh0a200000:secret:00000ea8e-7d00-00ce-c00poa-0a00000f0000e",
        "description": "Test secret in test secret group.",
        "downloaded": true,
        "id": "0a0000e-0a0f-edfh-000a-ec2000ab00",
        "labels": [],
        "last_update_date": "2022-01-26T20:11:29Z",
        "name": "test-kv-secret-from-group",
        "secret_group_id": "aded0a0000e-0a0f-edfh-000a-ec2000ab00",
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions_total": 1
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 메타데이터 업데이트

이름, 설명 또는 만료 날짜와 같은 시크릿의 메타데이터를 업데이트합니다. 시크릿의 실제 값을 순환하려면 시크릿 순환을 사용하십시오.

비밀 메타데이터 요청 매개변수 업데이트
요청 매개변수 설명
name 시크릿에 지정할 업데이트된 이름입니다.
description 시크릿에 지정할 업데이트된 설명입니다.
expiration_date 시크릿에 지정할 업데이트된 만료 날짜입니다. 이 옵션은 arbitraryusername_password 시크릿 유형에 지원됩니다. 날짜 형식은 RFC 3339를 따릅니다.

요청 예

default 시크릿 그룹에서 arbitrary 시크릿의 이름을 업데이트합니다.

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/{secret_id}/metadata" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -d '{
        "name": "updated-arbitrary-secret-name"
    }'

기존 시크릿 그룹에서 arbitrary 시크릿의 만료 날짜를 업데이트합니다.

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}/{secret_id}/metadata" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -d '{
        "expiration_date": "2030-05-01T09:30:00Z"
    }'

응답 예

default 시크릿 그룹에서 arbitrary 시크릿의 메타데이터를 업데이트하는 요청은 다음 응답을 리턴합니다.

{
    "request_id": "372645c0-9d97-5f6b-0755-99145eacdb93",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2021-06-04T02:55:40Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
        "description": "Updated description for my secret.",
        "expiration_date": "2030-04-01T09:30:00Z",
        "id": "ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2021-06-05T02:55:40Z",
        "name": "updated-arbitrary-secret",
        "secret_type": "arbitrary",
        "state": 1,
        "state_description": "Active"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 순환

새 버전의 시크릿을 작성합니다. 시크릿은 식별 정보(예: 이름 및 ID)를 보유합니다. 시크릿의 자동 순환 정책을 설정하려면 시크릿 정책 설정을 참조하십시오.

비밀 요청 매개변수 회전
요청 매개변수 설명
payload arbitrary 또는 kv 시크릿에 지정할 새 시크릿 데이터입니다.
password username_password 시크릿에 지정할 새 비밀번호입니다.
certificate imported_cert 시크릿에 지정할 새 인증서입니다.
private_key imported_cert 시크릿에 지정할 새 개인용 키입니다.
intermediate import_cert 시크릿에 지정할 새 중간 인증서 데이터입니다.

요청 예

default 시크릿 그룹에서 arbitrary 시크릿을 회전합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/{secret_id}/rotate" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -d '{
        "payload": "new-secret-data"
    }'

기존 시크릿 그룹에서 arbitrary 시크릿을 회전합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}/{secret_id}/rotate" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -d '{
        "payload": "new-secret-data"
    }'

default 시크릿 그룹에서 kv 시크릿을 회전합니다. 자세히 보기

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/{secret_id}/rotate' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "payload": {
            "key7":"value7"
            }
    }'

기존 시크릿 그룹에서 kv 시크릿을 회전합니다.

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/groups/{group_id}/{secret_id}/rotate' \
    -H 'Accept: application/json'
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "payload": {
            "key7":"value7"
            }
    }'

default 시크릿 그룹에서 username_password 시크릿을 회전합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/{secret_id}/rotate" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -d '{
        "password": "new-password"
    }'

default 시크릿 그룹에서 imported_cert 시크릿을 회전합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/imported_cert/secrets/{secret_id}/rotate" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -d '{
        "certificate": "new-certificate",
    "private_key": "new-private-key",
    "intermediate": "new-intermediate-certificate"
    }'

응답 예

default 시크릿 그룹에서 kv 시크릿을 회전하는 요청은 다음 응답을 리턴합니다.

{
    "request_id": "e00000b-0000-0ad1-beb0-00000d0000",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-9ca2000007-f0000d-400000e-8b02-ed6b000000",
        "creation_date": "2022-01-25T19:22:04Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/00000a6bbea644a6be000000001f5:5f1a000000-5f000-4000-8bfc-5eef00000:secret:00000ea8e-7d00-00ce-c00a-0a0000f000ee",
        "description": "Extended description for my secret.",
        "downloaded": false,
        "id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
        "labels": [],
        "last_update_date": "2022-01-27T21:05:25Z",
        "name": "test-kv-secret",
        "secret_data": {
            "payload": {
                "key7": "value7"
            }
        },
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions": [
            {
                "created_by": "iam-ServiceId-9ca2000007-f0000d-400000e-8b02-ed6b000000",
                "creation_date": "2022-01-25T19:22:04Z",
                "downloaded": true,
                "id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "payload_available": false
            },
            {
                "created_by": "iam-ServiceId-9ca2000007-f0000d-400000e-8b02-ed6b000000",
                "creation_date": "2022-01-27T21:05:25Z",
                "downloaded": false,
                "id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "payload_available": true
            }
        ],
        "versions_total": 2
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

기존 시크릿 그룹에서 kv 시크릿을 회전하는 요청은 다음 응답을 리턴합니다.

{
    "request_id": "e00000b-0000-0ad1-beb0-00000d0000",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "IBMid-662001YC6X",
        "creation_date": "2022-01-26T20:11:29Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/4b85ea6bbea644a6be376647f5f961f5:5f1a3554-5f59-4164-8bfc-5eef0a20cf66:secret:e006e8bc-f497-dc93-4102-9d9cf2051a41",
        "description": "Test secret in test secret group.",
        "downloaded": false,
        "id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
        "labels": [],
        "last_update_date": "2022-01-27T21:00:27Z",
        "name": "test-kv-secret-from-group",
        "secret_data": {
            "payload": {
                "key7": "value7"
            }
        },
        "secret_group_id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions": [
            {
                "created_by": "iam-ServiceId-00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "creation_date": "2022-01-26T20:11:29Z",
                "downloaded": true,
                "id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "payload_available": false
            },
            {
                "created_by": "iam-ServiceId-00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "creation_date": "2022-01-27T21:00:03Z",
                "downloaded": false,
                "id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "payload_available": false
            },
            {
                "created_by": "iam-ServiceId-00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "creation_date": "2022-01-27T21:00:27Z",
                "downloaded": false,
                "id":  "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "payload_available": true
            }
        ],
        "versions_total": 3
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 삭제

Secrets Manager 시크릿 엔진에서 시크릿을 삭제합니다.

요청 예

default 시크릿 그룹에서 임의 시크릿을 삭제합니다.

curl -X DELETE "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/{secret_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

기존 시크릿 그룹에서 임의 시크릿을 삭제하십시오.

curl -X DELETE "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}/{secret_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

응답 예

{
    "request_id": "e48436e3-23d3-ab4a-7642-535cab8935a8",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": null,
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

잠금

시크릿 잠금 나열

지정된 비밀과 연결된 잠금을 나열합니다.

비밀 요청 매개변수 잠금
조회 매개변수 설명
limit 검색할 잠금의 개수입니다. 기본값은 25입니다. 다른 항목 세트를 검색하려면 사용 가능한 리소스가 있는 페이지 이동하도록 limit과 함께 offset를 사용하십시오.
offset 건너뛸 잠금의 수. 기본값은 0입니다. 오프셋을 지정하면 오프셋 값으로 시작하는 잠금의 하위 집합을 검색합니다. 제한으로 오프셋을 사용하여 사용 가능한 비밀 잠금을 페이지로 이동합니다.
search 이름에 지정된 문자열이 포함된 잠금을 필터링합니다.

요청 예제

임의의 시크릿에 대한 잠금을 나열합니다.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/locks/{secret_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

기존 시크릿 그룹에서 사용자 신임 정보 시크릿에 대한 잠금을 나열합니다.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/locks/groups/{group_id}/{secret_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

limitoffset 를 사용하여 사용 가능한 잠금 페이지를 넘기십시오.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/locks/groups/{group_id}/{secret_id}?limit={limit}&offset={offset}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

이름에 book 가 포함된 잠금을 필터링합니다.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/locks/groups/{group_id}/{secret_id}?search=book" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

응답 예

{
    "request_id": "ba51140d-31a8-0a51-dd5b-1ca59838e881",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "locks": [
            {
                "attributes": {
                    "key": "value"
                },
                "created_by": "iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8",
                "creation_date": "2022-06-30T21:41:36.616174Z",
                "description": "Test lock for secret in the default secret group.",
                "last_update_date": "2022-06-30T21:41:36.616174Z",
                "name": "lock-for-app-2",
                "secret_group_id": "default",
                "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
                "secret_version_alias": "current",
                "secret_version_id": "f2b68dbb-c291-87df-6026-7611c324c823"
            },
            {
                "attributes": {
                    "key": "value"
                },
                "created_by": "iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8",
                "creation_date": "2022-06-30T20:56:33.138337Z",
                "description": "Test lock for secret in the default secret group.",
                "last_update_date": "2022-06-30T21:14:14.903163Z",
                "name": "lock-for-app-1",
                "secret_group_id": "default",
                "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
                "secret_version_alias": "previous",
                "secret_version_id": "09d9718b-b411-4111-a8f4-b1397d22d11b"
            }
        ],
        "locks_total": 2
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 잠금

시크릿의 현재 버전에서 하나 이상의 잠금을 작성 하십시오.

애플리케이션에서 사용 중인 동안 시크릿이 삭제되거나 수정되지 않도록 하기 위해 잠금을 사용할 수 있습니다. 성공적인 요청은 시크릿에 새 잠금을 첨부하거나 동일한 이름의 잠금이 이미 있는 경우 이를 대체합니다. 또한 이 방법을 사용하면 선택적 잠금 모드를 사용하여 시크릿에서 일치하는 잠금을 지울 수 있습니다.

  • lock_exclusive: 이전 버전의 비밀에서 이름이 일치하는 다른 잠금이 발견되면 제거합니다.
  • lock_exclusive_delete: lock_exclusive 와 동일하지만 잠금을 찾을 수 없는 경우 이전 시크릿 버전의 데이터를 영구적으로 삭제합니다.
비밀 요청 매개변수 잠금
요청 매개변수 설명
name 비밀 잠금에 지정할 사람이 읽을 수 있는 이름입니다. 이름은 시크릿 버전마다 고유합니다. /n 주: 기존 이름으로 잠금을 작성하면 잠금이 대체되고 해당 속성이 대체됩니다.
description 비밀 잠금에 대한 자세한 설명입니다.
attributes 잠금과 연관시킬 선택적 정보입니다 (예: 자동화에서 사용할 자원 CRN).

요청 예제

기본 시크릿 그룹에서 시크릿에 대한 잠금을 작성하십시오.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/{secret_id}/lock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in the default secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

기존 시크릿 그룹에서 시크릿의 현재 버전에 대해 두 개의 잠금을 작성하십시오.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/groups/{group_id}/{secret_id}/lock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in a custom secret group.",
                "attributes": {
                    "key": "value"
                }
            },
            {
                "name": "lock-for-app-2",
                "description": "Test lock for secret in a custom secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

비밀 버전을 독점적으로 잠급니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/{secret_id}/lock_exclusive" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in the default secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

시크릿 버전을 독점적으로 잠그고 이전 버전 데이터를 삭제합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/{secret_id}/lock_exclusive_delete" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in the default secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

응답 예

기본 시크릿 그룹에 있는 시크릿의 현재 버전을 잠그기 위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "cad3f223-ec90-1e8e-9408-7fc3c9c50b86",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "default",
        "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
        "versions": [
            {
                "alias": "current",
                "id": "f2b68dbb-c291-87df-6026-7611c324c823",
                "locks": [
                    "lock-for-app-1"
                ],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

사용자 정의 시크릿 그룹인 시크릿의 현재 버전을 잠그는 요청은 다음 응답을 리턴합니다.

{
    "request_id": "a717fba0-275d-36d2-49e6-ae54fc820ca4",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "d2e98a96-18ed-f13c-8dee-db955fb94122",
        "secret_id": "c86946e6-b392-2613-159d-aff5a3f095b3",
        "versions": [
            {
                "alias": "current",
                "id": "ad6aa6d9-b43c-4bc3-597d-15c376622e64",
                "locks": [
                    "lock-for-app-1"
                ],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 잠금 해제

시크릿의 현재 버전과 연관된 하나 이상의 잠금을 삭제합니다.

성공적인 요청은 사용자가 지정하는 잠금을 삭제합니다. 모든 잠금을 제거하기 위해 요청 본문에서 {"locks": ["*"]} 를 전달할 수 있습니다. 그렇지 않으면, 삭제하려는 잠금의 이름을 지정하십시오. 예를 들어, {"locks": ["lock1", "lock2"]}입니다.

비밀은 잠금 해제된 것으로 간주되며 모든 잠금이 제거된 후에만 취소하거나 삭제할 수 있습니다. 시크릿에 잠금이 포함되어 있는지 여부를 이해하려면 시크릿 메타데이터의 일부로 리턴되는 locks_total 필드를 확인하십시오.

요청 예제

비밀과 관련된 모든 잠금을 제거합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/{secret_id}/unlock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": ["*"]
    }'

기존 시크릿 그룹의 시크릿에서 두 개의 잠금을 제거합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/groups/{group_id}/{secret_id}/unlock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": ["lock-name-1", "lock-name-2"]
    }'

응답 예

모든 잠금을 제거하기 위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "4708ebbf-eab0-e68a-9e72-d1c67a209fdc",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "default",
        "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
        "versions": [
            {
                "alias": "current",
                "id": "f2b68dbb-c291-87df-6026-7611c324c823",
                "locks": [],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

특정 잠금만 제거하는 요청은 응답에 남아 있는 잠금을 나열합니다.

{
    "request_id": "4d954026-68b3-6506-dc1d-5e77574fd2f0",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "default",
        "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
        "versions": [
            {
                "alias": "current",
                "id": "f2b68dbb-c291-87df-6026-7611c324c823",
                "locks": [
                    "lock-for-app-1"
                ],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 버전 잠금 나열

지정된 시크릿 버전과 연관된 잠금을 나열합니다.

URL 경로에 {version_id} 을 사용하여 버전을 지정합니다. 별명 current 또는 previous 도 허용됩니다.

비밀 요청 매개변수 잠금
조회 매개변수 설명
limit 검색할 잠금의 개수입니다. 기본값은 25입니다. 다른 항목 세트를 검색하려면 사용 가능한 리소스가 있는 페이지 이동하도록 limit과 함께 offset를 사용하십시오.
offset 건너뛸 잠금의 수. 기본값은 0입니다. 오프셋을 지정하면 오프셋 값으로 시작하는 잠금의 하위 집합을 검색합니다. 제한으로 오프셋을 사용하여 사용 가능한 비밀 잠금을 페이지로 이동합니다.
search 이름에 지정된 문자열이 포함된 잠금을 필터링합니다.

요청 예제

임의의 시크릿의 특정 버전에 대한 잠금을 나열합니다.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/locks/{secret_id}/versions/{version_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

기존 시크릿 그룹에 있는 사용자 신임 정보 시크릿의 현재 버전에 대한 잠금을 나열합니다.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/locks/groups/{group_id}/{secret_id}/versions/current" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

limitoffset 를 사용하여 사용 가능한 잠금 페이지를 넘기십시오.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/locks/groups/{group_id}/{secret_id}/versions/current?limit={limit}&offset={offset}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

이름에 book 가 포함된 잠금을 필터링합니다.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/locks/groups/{group_id}/{secret_id}/versions/current?search=book" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

응답 예

시크릿의 현재 버전에 대한 잠금 세부사항을 가져오기 위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "ba51140d-31a8-0a51-dd5b-1ca59838e881",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "locks": [
            {
                "attributes": {
                    "key": "value"
                },
                "created_by": "iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8",
                "creation_date": "2022-06-30T21:41:36.616174Z",
                "description": "Test lock for secret in the default secret group.",
                "last_update_date": "2022-06-30T21:41:36.616174Z",
                "name": "lock-for-app-2",
                "secret_group_id": "default",
                "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
                "secret_version_alias": "current",
                "secret_version_id": "f2b68dbb-c291-87df-6026-7611c324c823"
            },
            {
                "attributes": {
                    "key": "value"
                },
                "created_by": "iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8",
                "creation_date": "2022-06-30T20:56:33.138337Z",
                "description": "Test lock for secret in the default secret group.",
                "last_update_date": "2022-06-30T21:14:14.903163Z",
                "name": "lock-for-app-1",
                "secret_group_id": "default",
                "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
                "secret_version_alias": "current",
                "secret_version_id": "f2b68dbb-c291-87df-6026-7611c324c823"
            }
        ],
        "locks_total": 2
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 버전 잠금

시크릿의 지정된 버전에서 하나 이상의 잠금을 작성 하십시오. 버전을 지정하려면 {version_id} 경로 매개변수를 사용하여 시크릿의 현재 또는 이전 버전의 고유 ID를 제공하십시오. 별명 current 또는 previous 도 허용됩니다.

애플리케이션에서 사용 중인 동안 시크릿이 삭제되거나 수정되지 않도록 하기 위해 잠금을 사용할 수 있습니다. 성공적인 요청은 시크릿에 새 잠금을 첨부하거나 동일한 이름의 잠금이 이미 있는 경우 이를 대체합니다. 또한 이 방법을 사용하면 선택적 잠금 모드를 사용하여 시크릿에서 일치하는 잠금을 지울 수 있습니다.

  • lock_exclusive: 이전 버전의 비밀에서 이름이 일치하는 다른 잠금이 발견되면 제거합니다.
  • lock_exclusive_delete: lock_exclusive 와 동일하지만 잠금을 찾을 수 없는 경우 이전 시크릿 버전의 데이터를 영구적으로 삭제합니다.
비밀 요청 매개변수 잠금
요청 매개변수 설명
name 비밀 잠금에 지정할 사람이 읽을 수 있는 이름입니다. 이름은 시크릿 버전마다 고유합니다. /n 주: 기존 이름으로 잠금을 작성하면 잠금이 대체되고 해당 속성이 대체됩니다.
description 비밀 잠금에 대한 자세한 설명입니다.
attributes 잠금과 연관시킬 선택적 정보입니다 (예: 자동화에서 사용할 자원 CRN).

요청 예제

기본 시크릿 그룹에서 시크릿의 지정된 버전에 대한 잠금을 작성합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/{secret_id}/versions/{version_id}/lock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in the default secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

URL 경로에서 {version_id}current 별칭으로 바꾸어 현재 비밀 버전에 잠금을 설정합니다. current 또는 previous 별명이 허용됩니다.

기존 시크릿 그룹에서 시크릿의 현재 버전에 대해 두 개의 잠금을 작성하십시오.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/groups/{group_id}/{secret_id}/versions/current/lock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in a custom secret group.",
                "attributes": {
                    "key": "value"
                }
            },
            {
                "name": "lock-for-app-2",
                "description": "Test lock for secret in a custom secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

기존 시크릿 그룹에서 시크릿의 이전 버전에 대한 잠금을 작성하십시오.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/groups/{group_id}/{secret_id}/versions/previous/lock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in a custom secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

응답 예

사용자 정의 시크릿 그룹에서 시크릿의 이전 버전을 잠그기 위한 요청

{
    "request_id": "97a3d1fb-c137-9c1c-16fb-7aebf05a0eae",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "d2e98a96-18ed-f13c-8dee-db955fb94122",
        "secret_id": "c86946e6-b392-2613-159d-aff5a3f095b3",
        "versions": [
            {
                "alias": "current",
                "id": "3993c39b-3ef5-f6f3-5e20-f6f9c6f8d053",
                "locks": [],
                "payload_available": true
            },
            {
                "alias": "previous",
                "id": "ad6aa6d9-b43c-4bc3-597d-15c376622e64",
                "locks": [
                    "lock-for-app-1"
                ],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 버전 잠금 해제

지정된 비밀 버전과 연결된 하나 이상의 잠금을 삭제합니다.

성공적인 요청은 사용자가 지정하는 잠금을 삭제합니다. 모든 잠금을 제거하기 위해 요청 본문에서 {"locks": ["*"]} 를 전달할 수 있습니다. 그렇지 않으면, 삭제하려는 잠금의 이름을 지정하십시오. 예를 들어, {"locks": ["lock-1", "lock-2"]}입니다.

비밀은 잠금 해제된 것으로 간주되며 모든 잠금이 제거된 후에만 취소하거나 삭제할 수 있습니다. 시크릿에 잠금이 포함되어 있는지 여부를 이해하려면 시크릿 메타데이터의 일부로 리턴되는 locks_total 필드를 확인하십시오.

요청 예제

시크릿 버전의 모든 잠금을 제거합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/{secret_id}/versions/{version_id}/unlock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": ["*"]
    }'

URL 경로에서 {version_id}current 별칭으로 바꾸면 현재 비밀 버전에서 잠금을 제거할 수 있습니다. current 또는 previous 별명이 허용됩니다.

기존 시크릿 그룹에서 시크릿의 현재 버전에 대한 두 개의 잠금을 제거합니다.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/groups/{group_id}/{secret_id}/versions/current/unlock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": ["lock-name-1", "lock-name-2"]
    }'

응답 예

모든 잠금을 제거하기 위한 요청은 다음 응답을 리턴합니다.

{
    "request_id": "4708ebbf-eab0-e68a-9e72-d1c67a209fdc",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "default",
        "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
        "versions": [
            {
                "alias": "current",
                "id": "f2b68dbb-c291-87df-6026-7611c324c823",
                "locks": [],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

특정 잠금만 제거하는 요청은 응답에 남아 있는 잠금을 나열합니다.

{
    "request_id": "4d954026-68b3-6506-dc1d-5e77574fd2f0",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "default",
        "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
        "versions": [
            {
                "alias": "current",
                "id": "f2b68dbb-c291-87df-6026-7611c324c823",
                "locks": [
                    "lock-for-app-1"
                ],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

정책

시크릿 정책 설정

시크릿에 대한 자동 순환 정책을 작성하거나 업데이트합니다. 지원되는 시크릿 유형은 다음과 같습니다. username_password

비밀 정책 요청 매개변수 설정
요청 매개변수 설명
interval 시크릿 순환 시간 간격의 길이입니다.
unit 시크릿 순환 시간 간격의 단위입니다. 허용되는 값은 day, month입니다.

요청 예제

default 시크릿 그룹에서 username_password 시크릿에 대한 회전 정책을 설정합니다.

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/{secret_id}/policies" \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    --data-raw '{
        "policies": [
          {
              "rotation": {
                  "interval": 10,
                  "unit": "day"
              },
              "type": "application/vnd.ibm.secrets-manager.secret.policy+json"
          }
        ]
    }'

기존 시크릿 그룹의 username_password 시크릿에 대한 회전 정책을 설정합니다.

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/groups/{group_id}/{secret_id}/policies" \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "policies": [
          {
              "rotation": {
                  "interval": 10,
                  "unit": "day"
              },
              "type": "application/vnd.ibm.secrets-manager.secret.policy+json"
          }
        ]
    }'

응답 예

{
    "request_id": "89698bdc-d787-4a74-eb2f-53e055ddc7f3",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "policies": [
            {
                "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
                "creation_date": "2021-06-21T14:30:17Z",
                "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:policy:ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
                "id": "ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
                "last_update_date": "2021-06-21T14:33:41Z",
                "rotation": {
                    "interval": 10,
                    "unit": "day"
                },
                "type": "application/vnd.ibm.secrets-manager.secret.policy+json",
                "updated_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0"
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 정책 나열

시크릿과 연관된 정책 목록을 검색합니다.

요청 예제

username_password 시크릿에 대한 정책을 나열하십시오.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/{secret_id}/policies" \
    -H 'X-Vault-Token: {Vault-Token}'

기존 시크릿 그룹의 username_password 시크릿에 대한 정책을 나열합니다.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/groups/{group_id}/{secret_id}/policies" \
    -H 'X-Vault-Token: {Vault-Token}'

응답 예

{
    "request_id": "89698bdc-d787-4a74-eb2f-53e055ddc7f3",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "policies": [
            {
                "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
                "creation_date": "2021-06-21T14:30:17Z",
                "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:policy:ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
                "id": "ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
                "last_update_date": "2021-06-21T14:33:41Z",
                "rotation": {
                    "interval": 10,
                    "unit": "day"
                },
                "type": "application/vnd.ibm.secrets-manager.secret.policy+json",
                "updated_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0"
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Config

시크릿 유형의 구성 설정

특정 시크릿 유형의 백엔드 역할을 하는 시크릿 엔진을 구성합니다. 다음 시크릿 유형에 대한 구성을 설정할 수 있습니다. iam_credentials

IAM 시크릿 엔진 요청 매개변수
요청 매개변수 설명
api_key 서비스 ID를 생성하고 관리할 수 있는 IBM Cloud API 키입니다. API 키에는 액세스 그룹 서비스의 편집자 플랫폼 역할과 IAM ID 서비스의 운영자 플랫폼 역할이 지정되어야 합니다.

요청 예제

iam_credentials 시크릿 엔진을 구성합니다.

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/iam_credentials/config/root" \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "api_key": "<API_KEY>"
    }'

응답 예

iam_credentials 시크릿 엔진을 구성하는 요청은 다음 응답을 리턴합니다.

{
    "request_id": "f7ac2068-6b07-7602-76af-093e354a444a",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": null,
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

시크릿 유형의 구성 가져오기

시크릿 엔진의 구성을 검색합니다.

요청 예제

iam_credentials 시크릿 엔진의 구성을 가져옵니다.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/iam_credentials/config/root" \
    -H 'X-Vault-Token: {Vault-Token}'

응답 예

iam_credentials 시크릿 엔진의 구성을 가져오는 요청은 다음 응답을 리턴합니다.

{
    "request_id": "12f0a38d-93a5-6a9a-1997-79928f15c5ea",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "api_key_hash": "caf9eabec3c6dcc7f91cb6ea295eb97c8e34e70b0cf5942d6351d8746d9cc2da"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

구성 추가

시크릿 엔진에 구성 요소를 추가합니다. 이 방법은 더 복잡한 엔진(예: public_certprivate_cert 엔진)에 사용됩니다.

인스턴스에 대해 다중 구성을 추가할 수 있습니다.

  • 최대 10개의 공용 인증 기관 구성
  • 최대 10개의 DNS 제공자 구성
  • 최대 10개의 개인 루트 인증 기관 구성
  • 최대 10개의 개인 중간 인증 기관 구성
  • 최대 10개의 인증서 템플리트
공인 인증서 엔진 요청 매개 변수
요청 매개변수 설명
name 인증 기관 구성에 지정할 사용자가 읽을 수 있는 이름입니다.
type 환경 유형(예: Let's Encrypt 스테이징 또는 프로덕션 환경)은 공개 인증서를 주문할 대상( URL )에 해당합니다. 허용되는 값은 letsencrypt-stage, letsencrypt입니다.
private_key 등록된 ACME 계정과 연관된 개인 키입니다.
공인 인증서 엔진 요청 매개 변수
요청 매개변수 설명
name DNS 제공자 구성에 지정할 사용자가 읽을 수 있는 이름입니다.
type 사용할 DNS 제공자의 이름입니다. 허용되는 값은 cis입니다.
cis_crn 사용할 CIS(Cloud Internet Services) 인스턴스의 CRN입니다.
cis_apikey CIS 인스턴스 및 Secrets Manager 인스턴스 둘 다에 액세스할 수 있는 API 키입니다. 또는 IAM을 사용하여 두 서비스 간에 권한을 작성할 수도 있습니다.
비공개 인증서 엔진 요청 매개 변수
요청 매개변수 설명
name 인증 기관 구성에 지정할 사용자가 읽을 수 있는 이름입니다.
type 작성하려는 인증 기관의 유형입니다. 허용되는 값은 root_certificate_authority, intermediate_certificate_authority입니다.
[params..] 매개변수의 전체 목록은 구성 추가를 참조하십시오.
비공개 인증서 엔진 요청 매개 변수
요청 매개변수 설명
name 인증서 템플리트에 지정할 사용자가 읽을 수 있는 이름입니다.
type 추가하려는 구성의 유형입니다. 인증서 템플리트의 경우 certificate_templates을(를) 사용하십시오.
[params..] 매개변수의 전체 목록은 구성 추가를 참조하십시오.

요청 예

공용 인증 기관 구성을 추가합니다.

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/public_cert/config/certificate_authorities" \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-certificate-authority",
        "type": "letsencrypt-stage",
        "config": {
          "private_key": "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANB...(redacted)"
        }
    }'

개인 루트 인증 기관 구성을 추가합니다.

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/private_cert/config/root_certificate_authorities' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -H '{
        "name": "my-configured-root-ca",
        "type": "root_certificate_authority",
        "config": {
            "max_ttl": "43830h",
            "common_name": "example.com",
            "crl_disable": false,
            "crl_distribution_points_encoded": true,
            "issuing_certificates_urls_encoded": true
        }
    }'

중간 인증 기관 구성을 추가합니다.

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/private_cert/config/intermediate_certificate_authorities' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -H '{
        "name": "my-configured-intermediate-ca",
        "type": "intermediate_certificate_authority",
        "config": {
            "max_ttl": "26300h",
            "common_name": "example.com",
            "signing_method": "internal|external",
            "issuer": "my-configured-root-ca",
            "crl_expiry": "72h",
            "crl_disable": false,
            "crl_distribution_points_encoded": true,
            "issuing_certificates_urls_encoded": true
        }
    }

인증서 템플리트를 추가합니다.

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/private_cert/config/certificate_templates' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -H '{
        "name": "my-configured-certificate-template",
        "type": "certificate_template",
        "config": {
            "certificate_authority": "my-configured-intermediate-ca",
            "max_ttl": "8760h",
            "allow_any_name": true,
            "enforce_hostnames": false,
            "allowed_uri_sans": [
            "https://www.example.com/test"
            ]
        }
    }'

응답 예

공용 인증 기관 구성을 추가하는 요청은 다음 응답을 리턴합니다.

{
    "request_id": "af1a900d-3cec-7f6d-8878-fa43d1587d90",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "config": {
            "private_key": "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANB...(redacted)"
        },
        "name": "test-certificate-authority",
        "type": "letsencrypt-stage"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

개인 인증 기관 구성을 추가하는 요청은 다음 응답을 리턴합니다.

{
    "request_id": "0b221b39-1cd8-fa92-62e5-361c5e1b5d92",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "config": {
            "common_name": "example.com",
            "country": [],
            "crl_disable": false,
            "crl_distribution_points_encoded": true,
            "crl_expiry": 259200,
            "data": {
                "certificate": "-----BEGIN CERTIFICATE-----\nMIIGZjCCBU6gAwIBAgIUFsqE2...(redacted",
                "expiration": 1808862713,
                "issuing_ca": "-----BEGIN CERTIFICATE-----\nMIIGZjCCBU6gAwIBAgIUFsqE2...(redacted)",
                "serial_number": "16:ca:84:d8:4f:e5:b0:6c:5c:06:db:51:52:58:c1:3e:0b:96:ce:4f"
            },
            "exclude_cn_from_sans": false,
            "expiration_date": "2027-04-27T21:51:53Z",
            "format": "pem",
            "issuing_certificates_urls_encoded": true,
            "key_bits": 2048,
            "key_type": "rsa",
            "locality": [],
            "max_path_length": -1,
            "max_ttl": 157788000,
            "organization": [],
            "other_sans": [],
            "ou": [],
            "permitted_dns_domains": [],
            "postal_code": [],
            "private_key_format": "der",
            "province": [],
            "status": "configured",
            "street_address": [],
            "ttl": 157788000
        },
        "name": "my-configured-root-ca",
        "type": "root_certificate_authority"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

구성 업데이트

특정 시크릿 유형의 백엔드 역할을 하는 시크릿 엔진의 구성을 업데이트합니다. 다음 시크릿 유형에 대한 구성을 업데이트할 수 있습니다. iam_credentials, private_cert, public_cert

요청 예

public_cert 시크릿 엔진의 DNS 제공자 구성을 업데이트합니다.

curl -X PUT 'https://https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/public_cert/config/dns_providers' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d'{
        "name": "my-cis-instance",
        "type": "cis",
        "config": {
          "cis_crn": "crn:v1:bluemix:public:internet-svcs:global:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0::",
          "cis_apikey": "<API_KEY>"
        }
    }'

응답 예

public_cert 시크릿 엔진의 DNS 제공자 구성을 추가하는 요청은 다음 응답을 리턴합니다.

{
    "request_id": "3c891ae8-18d3-f38e-5b98-dc1db2874f16",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "config": {
            "cis_apikey": "mGjiCelas...(redacted)",
            "cis_crn": "crn:v1:bluemix:public:internet-svcs:global:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0::"
        },
        "name": "my-cis-instance",
        "type": "cis"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

구성 삭제

특정 시크릿 유형의 백엔드 역할을 하는 시크릿 엔진의 구성을 제거합니다. 다음 시크릿 유형에 대한 구성을 삭제할 수 있습니다. public_cert, private_cert

요청 예

공용 인증 기관 구성을 삭제합니다.

curl -X DELETE 'https://https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/public_cert/config/certificate_authorities/my-lets-encrypt' \
    -H 'X-Vault-Token: {Vault-Token}' \

DNS 제공자 구성을 삭제합니다.

curl -X DELETE 'https://https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/public_cert/config/dns_providers/my-cis-instance' \
    -H 'X-Vault-Token: {Vault-Token}' \

개인 인증 기관 구성을 삭제합니다.

curl -X DELETE 'https://https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/private_cert/config/root_certificate_authorities/my-root-ca' \
    -H 'X-Vault-Token: {Vault-Token}' \

응답 예

성공적인 요청은 HTTP 204 No Content 응답을 리턴합니다.