사용자 지정 자격 증명 비밀 만들기
사용자 지정 자격증명 비밀 유형을 사용하면 IBM Cloud® Secrets Manager 사용자가 Secrets Manager API 및 통합을 통해 외부 시스템(예: Artifactory 또는 PagerDuty )에 대한 자격 증명을 안전하게 관리할 수 있습니다. 이러한 비밀을 만들려면 Secrets Manager 과 외부 서비스 사이의 다리 역할을 하는 IBM Cloud® Code Engine 작업을 배포합니다. 이러한 작업은 고정된 일정에 따라 실행되며 비밀 작업을 사용하여 자격 증명을 비동기적으로 관리합니다.
사용자 지정 자격 증명을 만드는 프로세스는 설계상 비동기식입니다. 새 비밀 번호가 추가되면 처음에는 활성화 전 상태가 됩니다. 외부 자격 증명 공급자에서 비밀이 성공적으로 생성되면 해당 상태는 Secrets Manager 내에서 자동으로 활성화됩니다.
사용자 지정 자격증명 비밀 생성 프로세스는 비동기식입니다. 비밀이 추가되면 pre-activation 상태로 시작되며 자격 증명 공급자에서 성공적으로 생성되면 Secrets Manager 에서 active 로 상태가 변경됩니다.
시작하기 전에
시작하기 전에 다음 사항을 확인하세요:
- 필요한 액세스 수준입니다. 시크릿을 작성하거나 추가하려면 작성자 서비스 역할 이상이 필요합니다.
- Code Engine 작업 및 사용자 지정 자격 증명 엔진 구성을 생성하여 사용자 지정 자격 증명 비밀을 만들도록 인스턴스를 구성했습니다.
콘솔에서 사용자 지정 자격 증명 비밀 만들기
비밀글을 추가하려면:
- 시크릿 표에서 추가를 클릭하십시오.
- 비밀 유형 목록에서 사용자 지정 자격증명 타일을 클릭합니다.
- 다음 을 클릭하십시오.
- 시크릿을 쉽게 식별할 수 있도록 이름 및 설명을 추가하십시오.
- 이전에 생성한 비밀 그룹을인스턴스의 포함 시크릿이 준수해야 하는 환경 및 제한조건입니다. 액세스 및 협업을 사용하기 위해 사용자를 시크릿 그룹과 연관시킬 수 있습니다. 선택합니다.
- 선택사항: 인스턴스에서 유사한 시크릿을 검색하는 데 도움이 되는 레이블을 추가하십시오.
- 선택 사항입니다: 비밀 또는 특정 버전의 비밀에 메타데이터를 추가합니다.
- 파일을 업로드하거나 JSON 형식의 메타데이터와 버전 메타데이터를 입력합니다.
- 다음 을 클릭하십시오.
- 이 비밀 번호에 사용할 사용자 지정 자격 증명 엔진 구성을 선택합니다.
- 매개변수 아래에 필요한 값을 입력합니다.
- 다음 을 클릭하십시오.
- 선택 사항입니다: 최소 기간 및 비밀 자동 로테이션을 사용 설정합니다.
- 다음 을 클릭하십시오.
- 비밀의 세부 정보를 검토하세요.
- 추가 를 클릭하십시오.
나중에 매개변수 값을 변경할 수 있습니다. 변경 사항은 새 비밀 버전이 생성된 후에 적용됩니다. 새 구성을 만들지 않고는 새 매개변수를 추가하거나 뺄 수 없습니다.
콘솔에서 비밀 세부 정보 보기 및 업데이트하기
다른 비밀과 마찬가지로, 작업 메뉴 > 세부 정보를 클릭하여 비밀 세부 정보에 액세스할 수 있습니다. 세부 정보
화면에서 다음에 대해 알아볼 수 있습니다:
CLI에서 사용자 지정 자격증명 비밀 만들기
시작하기 전에 CLI 문서에 따라 API 엔드포인트를 설정하세요.
Secrets Manager CLI 플러그인을 사용하여 사용자 지정 자격증명 비밀을 만들려면 다음과 같이 ibmcloud secrets-manager secret-create 명령을 실행합니다.
ibmcloud secrets-manager secret-create --secret-type custom_credentials --secret-name "example-custom-credential-secret" --secret-description "Description of my custom credential secret" --secret-rotation '{"auto_rotate": true,"interval": 30,"unit": "day"}' --custom-credentials-parameters '{"my_input_parameter":"my_param_value"}' --custom-credentials-configuration '{"my_custom_credential_config"}' --secret-custom-metadata '{"metadata_custom_key": "metadata_custom_value"},"version_custom_metadata": {"custom_version_key": "custom_version_value"}}'
API를 사용하여 사용자 지정 자격증명 비밀 만들기
Secrets Manager API를 호출하여 프로그래밍 방식으로 사용자 지정 자격 증명을 만들 수 있습니다. API를 호출할 때 ID 변수와 IAM 토큰을 Secrets Manager 인스턴스에 고유한 값으로 바꾸십시오.
custom_metadata 및 version_custom_metadata 요청 매개변수를 사용하여 조직의 요구 사항과 관련된 메타데이터를 저장할 수 있습니다. version_custom_metadata 의 값은 시크릿 버전에 대해서만 반환됩니다. 비밀의 사용자 지정 메타데이터는 다른 모든 메타데이터와 마찬가지로 최대 50개 버전까지 저장되며, 기밀 데이터를
포함하지 않아야 합니다.
curl -X POST
-H "Authorization: Bearer {IAM_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "example-custom-credential-secret",
"description": "Description of my custom credential secret",
"secret_type": "custom_credentials",
"secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
"labels": [
"dev",
"us-south"
],
"rotation": {
"auto_rotate": true,
"interval": 30,
"unit": "day"
},
"configuration": "my_custom_credential_config",
"parameters": {
"user_name": "username",
"scope": "admin"
},
"custom_metadata": {
"metadata_custom_key": "metadata_custom_value"
},
"version_custom_metadata": {
"custom_version_key": "custom_version_value"
}
}'
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"
Terraform을 사용하여 사용자 지정 자격 증명 비밀 만들기
Secrets Manager 에 Terraform을 사용하여 프로그래밍 방식으로 사용자 지정 자격 증명 비밀을 만들 수 있습니다. 다음 예에서는 사용자 지정 자격증명 비밀을 만드는 데 사용할 수 있는 구성을 보여 줍니다.
사용자 지정 자격증명 비밀을 만드는 것은 사용 사례에 따라 시간이 오래 걸릴 수 있는 비동기 프로세스이므로 Terraform을 사용할 계획이라면 잠재적인 지연을 고려해야 합니다.
resource "ibm_sm_custom_credentials_secret" "sm_custom_credentials_secret" {
instance_id = ibm_resource_instance.sm_instance.guid
region = "us-south"
name = "secret-name"
secret_group_id = ibm_sm_secret_group.sm_secret_group.secret_group_id
custom_metadata = {"key":"value"}
description = "Extended description for this secret."
labels = ["my-label"]
configuration = "my_custom_credentials_configuration"
parameters {
int_values = {
example_param_1 = 17
}
string_values = {
example_param_2 = "str2"
example_param_3 = "str3"
}
bool_values = {
example_param_4 = false
}
}
rotation {
auto_rotate = true
interval = 3
unit = "day"
}
ttl = "864000"
}
Secrets Manager 사용자 지정 자격 증명 엔진용 Terraform IBM 모듈(TIM)을 활용하여 사용자 지정 자격 증명을 반복 가능한 구성으로 코드로 정의할 수 있습니다. 시작하기 Terraform IBM 모듈 에서 시작하세요.