앱에 서비스 연결하기
새로운 서비스 자격 증명 세트를 생성하여 앱 또는 타사 도구를 IBM Cloud 서비스에 연결하십시오. 이 자격 증명은 IBM Cloud® 또는 AWS 와 같은 외부 플랫폼에서 호스팅되는 앱과 사용하려는 IBM Cloud® 서비스 사이의 다리 역할을 합니다. 예를 들어, AWS 에서 호스팅하는 앱을 watsonx Assistant 에 통합하는 경우, 필요한 액세스를 제공하는 서비스 자격 증명을 생성합니다. 그런 다음, 앱의 구성에 추가하여 연결을 설정할 수 있습니다.
앱에 자격 증명을 추가하려면 사용 중인 앱 유형 또는 컴퓨팅 옵션에 대한 설명서를 참조하세요.
서비스 자격 증명 만들기
한 번만 볼 수 있는 자격 증명은 나중에 다시 불러와야 하는 경우 안전하게 저장해야 합니다. 기존 자격 증명은 이 속성의 영향을 받지 않습니다. 자세한 내용은 일회성 자격 증명을 참조하세요.
IBM Cloud Identity and Access Management(IAM)에서 관리하는 서비스는 인증 정보라고 알려진 리소스 키를 생성할 수 있습니다. 인증 정보는 서비스에 특정하며 각 서비스에서 생성해야 하는 인증 정보를 정의하는 방법에 따라 달라집니다. 자격 증명에는 사용자 이름, 비밀번호, 호스트 이름, 포트, 인증서( URL )가 포함될 수 있지만, 각 자격 증명의 내용은 이를 생성하는 서비스에 따라 고유합니다.
일부 서비스에서는 매개변수가 전달되어야 하는 추가 데이터를 생성할 수 있습니다. 예를 들어, 서비스는 생성된 서비스 키에서 리턴된 기본 언어를 설정하기 위한 언어 매개변수를 입력하도록 요구할 수 있습니다.
서비스 자격 증명(리소스 키라고도 함)을 지원하는 모든 서비스에서 일회성 자격 증명은 기본적으로 비활성화되어 있습니다. 서비스 자격 증명을 지원하는 서비스에 대한 자세한 내용은 지원되는 IBM Cloud 서비스를 참조하세요.
서비스에 자격 증명을 추가하려면 다음과 같이 하세요:
서비스에 자격 증명을 추가하려면 다음 단계를 완료하십시오
-
리소스 목록에서 서비스 이름을 선택하여 서비스 세부정보 페이지를 엽니다.
-
서비스 인증 정보를 클릭하십시오.
-
나중에 리소스 키 값을 검색할 수 있는지 여부를 결정하는 일회성 보기 설정을 확인합니다.
-
사용 사례에 따라 켜기 또는 끄기로 설정합니다. 리소스 인스턴스에서 관리자 역할이 있는 사용자는 리소스 컨트롤러 API를 사용하여 이 설정을 관리할 수 있습니다.
켜짐으로 설정하면 자격 증명에 대한 공유 액세스를 방지하여 PCI DSS와 같은 보안 모범 사례 및 규정을 준수할 수 있습니다.
-
-
자격증명 생성을 클릭합니다.
-
이름을 입력합니다.
-
IAM 서비스 액세스 역할을 할당합니다. 역할에 대한 자세한 정보는 IBM Cloud IAM roles를 참조하십시오.
None를 지정하여 새로운 서비스 ID를 서비스 자격 증명과 연결하여 액세스를 관리하려는 경우, 새로운 자격 증명에 역할을 할당하지 않도록 하십시오.
-
(선택 사항) 기존 서비스 ID를 선택하거나 새 서비스 ID를 만들어 자격 증명과 연결합니다. 이 방법으로, 관리 > 접근(IAM) > 서비스 ID 로 이동하여 IAM 내에서 직접 접근을 관리할 수 있습니다. 자세한 정보는 서비스 ID 작성 및 관련 작업 수행을 참조하십시오.
더 세분화된 리소스에 액세스할 수 있는 서비스의 경우 서비스 ID를 사용하여 Object Storage 버킷과 같은 하위 리소스에만 액세스 권한을 부여할 수 있습니다.
-
고급 옵션을 클릭하여 인라인 또는 파일로 제공되는 서비스별 구성 매개변수가 포함된 유효한 JSON 개체로 더 많은 매개변수를 제공하세요.
대부분의 서비스에는 추가 매개변수가 필요하지 않으며, 추가 매개변수가 필요한 서비스에 대해서는 각 서비스가 자체적으로 매개변수의 고유 목록을 정의합니다. 지원되는 구성 매개변수 목록은 특정 서비스에 대한 설명서를 참조하세요.
-
만들기를 클릭하여 새 서비스 자격 증명을 생성합니다.
서비스 자격 증명은 읽기 전용입니다. 사용자는 자격 증명을 복사하거나 다운로드할 수 있습니다.
-
자격 증명이 일회성 보기로 설정되어 있으면 다시 볼 수 없습니다.
-
새로운 서비스 자격증의 세부 사항을 확장합니다. 앱이나 외부 소비자가 필요로 하는 자격 증명 속성을 복사합니다. 예를 들어, API 키나 비밀번호, URL 등이 있습니다.
API를 사용하여 서비스 자격 증명 만들기
한 번만 볼 수 있는 자격 증명은 나중에 다시 불러와야 하는 경우 안전하게 저장해야 합니다. 기존 자격 증명은 이 속성의 영향을 받지 않습니다. 자세한 내용은 일회성 자격 증명을 참조하세요.
IBM Cloud 서비스는 자격 증명이라고도 하는 리소스 키를 생성할 수 있습니다. 인증 정보는 서비스에 특정하며 각 서비스에서 생성해야 하는 인증 정보를 정의하는 방법에 따라 달라집니다. 자격 증명에는 사용자 이름, 비밀번호, 호스트 이름, 포트, 인증서( URL )가 포함될 수 있지만, 각 자격 증명의 내용은 이를 생성하는 서비스에 따라 고유합니다.
일부 서비스에서는 매개변수가 전달되어야 하는 추가 데이터를 생성할 수 있습니다. 예를 들어, 서비스는 생성된 서비스 키에서 리턴된 기본 언어를 설정하기 위한 언어 매개변수를 입력하도록 요구할 수 있습니다.
IBM Cloud 서비스에 대해 생성하는 새 자격 증명에 IAM 서비스 액세스 역할을 할당할 수 있습니다. 이 역할은 특정 자원이 아닌 전체 서비스 인스턴스에 대한 액세스 권한을 부여합니다. 더 세분화된 리소스 액세스 권한이 있는 서비스의 경우 Object Storage 버킷과 같은 하위 리소스에만 액세스 권한을 부여할 수 있습니다. 이 경우, 새로운 자격증명에 어떤 역할도 할당하지 마십시오. 이렇게 하면 자격 증명을 서비스 ID와 연결하여 세분화된 액세스를 관리하고, 버킷과 같은 특정 리소스에 적용되는 IAM 정책을 만들 수 있습니다. 그렇게 하려면 관리 > 접근(IAM) > 서비스 ID 로 이동하세요. 서비스 인증 키와 같은 이름의 서비스 ID를 선택하고 액세스 할당을 클릭합니다.
리소스 키를 작성하려면 다음 예에 표시된 대로 리소스 제어기 API를 호출하십시오.
curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_keys -H 'Authorization: Bearer <IAM_TOKEN>' -H 'Content-Type: application/json' -d '{
"name": "my-instance-key-1",
"source": "267bf377-7fa2-43f6-94ec-09103a8e89d4",
"role": "Writer"
}'
ResourceKeyPostParameters parameters = new ResourceKeyPostParameters.Builder()
.add("exampleParameter", "exampleValue")
.build();
CreateResourceKeyOptions createResourceKeyOptions = new CreateResourceKeyOptions.Builder()
.name(keyName)
.source(instanceGuid)
.parameters(parameters)
.build();
Response<ResourceKey> response = service.createResourceKey(createResourceKeyOptions).execute();
ResourceKey resourceKey = response.getResult();
System.out.printf("createResourceKey() response:\n%s\n", resourceKey.toString());
const parameters = {
'exampleParameter': 'exampleValue'
};
const params = {
name: keyName,
source: instanceGuid,
parameters: parameters,
};
resourceControllerService.createResourceKey(params)
.then(res => {
instanceKeyGuid = res.result.guid;
console.log('createResourceKey() response:\n' + JSON.stringify(res.result, null, 2));
})
.catch(err => {
console.warn(err)
});
parameters = {
'exampleParameter': 'exampleValue'
}
resource_key = resource_controller_service.create_resource_key(
name=key_name,
source=instance_guid,
parameters=parameters
).get_result()
print('\ncreate_resource_key() response:\n',
json.dumps(resource_key, indent=2))
createResourceKeyOptions := resourceControllerService.NewCreateResourceKeyOptions(
keyName,
instanceGUID,
)
parameters := &resourcecontrollerv2.ResourceKeyPostParameters{}
parameters.SetProperty("exampleParameter", "exampleValue")
createResourceKeyOptions.SetParameters(parameters)
resourceKey, response, err := resourceControllerService.CreateResourceKey(createResourceKeyOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(resourceKey, "", " ")
fmt.Printf("\nCreateResourceKey() response:\n%s\n", string(b))
API 키나 다른 자격 증명 속성을 사용하여 서비스 인스턴스를 앱이나 다른 외부 소비자와 연결합니다.
Terraform을 사용하여 서비스 자격 증명 만들기
한 번만 볼 수 있는 자격 증명은 나중에 다시 불러와야 하는 경우 안전하게 저장해야 합니다. 기존 자격 증명은 이 속성의 영향을 받지 않습니다. 자세한 내용은 일회성 자격 증명을 참조하세요.
자격 증명에는 사용자 이름, 비밀번호, 호스트 이름, 포트 및 URL 이 포함될 수 있지만 각 자격 증명의 내용은 생성하는 서비스마다 고유합니다. it.Before 앱 또는 외부 소비자를 IBM Cloud 서비스에 연결하기 위한 자격 증명을 만들려면 Terraform을 사용하여 다음을 완료했는지 확인합니다:
- Terraform CLI를 설치하고 Terraform에 대한 IBM Cloud 제공자 플러그인을 구성하십시오. 자세한 정보는 IBM Cloud® 에 대한 튜토리얼을 참조하십시오. 플러그인은 이 태스크를 완료하는 데 사용되는 IBM Cloud API를 요약합니다.
- 이름이
main.tf인 Terraform 구성 파일을 작성하십시오. 이 파일에서 HashiCorp 구성 언어를 사용하여 자원을 정의합니다. 자세한 내용은 테라폼 문서를 참조하세요.
IBM Cloud 서비스에 앱이나 외부 소비자를 연결하기 위한 자격 증명을 생성하려면 다음 단계를 따르십시오
-
main.tf파일에서 인수를 작성하십시오. 다음 예제에서는ibm_resource_instance리소스를 사용하여 서비스 ID 없이 리소스에 대한 인증 정보를 작성합니다. 여기서name은 인증 정보를 식별하는 고유한 이름입니다.data "ibm_resource_instance" "resource_instance" { name = "myobjectsotrage" } resource "ibm_resource_key" "resourceKey" { name = "myobjectkey" role = "Viewer" resource_instance_id = data.ibm_resource_instance.resource_instance.id //User can increase timeouts timeouts { create = "15m" delete = "15m" } }기본적으로
ibm_resource_key리소스는 서비스의 공용 서비스 엔드포인트를 사용하는 서비스 인증 정보를 작성합니다.자원 그룹 인스턴스와 연관된
tags를 지정할 수 있습니다. 자세한 내용은 테라폼 리소스 관리 페이지의 인수 참조 세부 정보를 참조하세요. -
구성 파일 빌드를 완료한 후 Terraform CLI를 초기화하십시오. 자세한 정보는 작업 디렉토리 초기화를 참조하십시오.
terraform init -
main.tf파일에서 자원을 프로비저닝하십시오. 자세한 정보는 Terraform을 사용하여 인프라 프로비저닝을 참조하십시오.-
terraform plan를 실행하여 제안된 조치를 미리보기 위한 Terraform 실행 플랜을 생성하십시오.terraform plan -
terraform apply를 실행하여 계획에 정의된 자원을 작성하십시오.terraform apply
-
API 키나 다른 자격 증명 속성을 사용하여 서비스 인스턴스를 앱이나 다른 외부 소비자와 연결합니다.
Terraform을 사용하여 자격 증명 보기
해당 자격 증명에 대해 onetime_credentials 이 false 인 경우에만 생성 후 자격 증명 꼬리를 검색할 수 있습니다. 리소스 인스턴스에 대해 다음 액세스 권한이 있는 사용자는 onetime_credentials 이 false 으로 구성된 자격 증명의 서비스 키 값을 볼 수 있습니다.
- 서비스 인스턴스에 대한 액세스 권한이 서비스 자격 증명의 액세스 권한과 같거나 더 큰 사용자입니다. 자세한 내용은 자격 증명 수준 액세스를 참조하세요.
- 서비스 인스턴스에서 관리자 역할을 가진 사용자
- IAM 동작이 있는 사용자
resource-controller.credential.retrieve_all. 이 작업은 관리자 역할로 제공됩니다.
서비스에 대한 기존 서비스 인증 정보를 보려면 다음 단계를 완료하십시오.
-
main.tf파일에서 인수를 작성하십시오. 다음 예는 리소스에 대한 기존 자격 증명을 검색하는 예입니다. 자세한 내용은 ibm_resource_key 테라폼 문서를 참조하세요.data "ibm_resource_key" "resourceKeydata" { name = "myobjectKey" resource_instance_id = ibm_resource_instance.resource.id } -
구성 파일 빌드를 완료한 후 Terraform CLI를 초기화하십시오. 자세한 정보는 작업 디렉토리 초기화를 참조하십시오.
terraform init -
main.tf파일에서 자원을 프로비저닝하십시오. 자세한 정보는 Terraform을 사용하여 인프라 프로비저닝을 참조하십시오.-
terraform plan를 실행하여 제안된 조치를 미리보기 위한 Terraform 실행 플랜을 생성하십시오.terraform plan -
terraform apply를 실행하여 계획에 정의된 자원을 작성하십시오.terraform apply
-
일회성 자격 증명
리소스 인스턴스에는 해당 인스턴스에 대해 생성하는 자격 증명이 일회성 보기인지 여부를 결정하는 onetime_credentials 속성이 있습니다. 작성 시점의 인스턴스 설정에 따라 각 신임 정보의 특성이 설정되며, 이후에는 변경할 수 없습니다.
-
이 속성을
false으로 설정하면 액세스 권한이 있는 사용자가 언제든지 자격 증명을 검색할 수 있습니다. 자격 증명 검색에 대한 자세한 내용은 ibm_resource_key Terraform 문서를 참조하세요. -
이 속성이
true로 설정되어 있으면 생성 시에만 자격 증명을 볼 수 있습니다애플리케이션에서 비밀 관리자, 비밀번호 관리자 또는 보안 저장소( Object Storage )를 사용하여 일회용 보기 자격 증명을 안전하게 저장하여 분실을 방지하세요.
서비스 인스턴스에서 일회성 보기를 사용 설정하여 최소 권한 모델에 맞게 조정하고 자격 증명에 대한 공유 액세스를 방지하세요. 공유 키를 사용하면 계정의 ID가 리소스에 액세스하는 방식을 감사하기 어려울 수 있습니다.
리소스 인스턴스에 대한 일회성 보기 설정 관리하기
서비스 인스턴스에서 관리자 역할 또는 IAM 작업 resource-controller.instance.update_onetime_credential_off 을 가진 사용자는 리소스 인스턴스에 대한 일회성 보기 설정을 관리할 수 있습니다.
{
"displayName": {
"default": "Resource Instance Update Onetime Credential Off"
},
"description": {
"default": "The ability to change onetime_credential from On to Off for existing instances."
},
"id": "resource-controller.instance.update_onetime_credential_off",
"roles": [
"crn:v1:bluemix:public:iam::::role:Administrator"
],
"apiTypes": [
"crn:v1:bluemix:public:context-based-restrictions::::platform-api-type:resource-management"
]
}
자세한 내용은 ibm_resource_instance 테라폼 문서에서 onetime_credentials 속성을 업데이트하는 방법을 참조하세요. 인스턴스에 대한 설정을 변경하면 기존 자격 증명은 생성 당시의 설정을 그대로 유지합니다.
인증 정보 레벨 액세스 권한
사용자의 액세스 권한은 서비스 인증 정보의 액세스 권한 이상이어야 합니다. 예를 들어 인증 정보가 작성자 IAM 서비스 역할 Writer을(를) 가진 경우, 인증 정보를 보려고 시도하는 사용자에게는 지정된 해당 서비스에 대한 IAM 서비스 역할 Writer 또는 Manager이(가) 있어야 합니다. 사용자에게 올바른 액세스 권한이 없는 경우에는 API 키
값과 같은 세부사항이 검열 삭제됩니다.
"credentials": {
"REDACTED": "REDACTED"
},
IAM 레벨 액세스 권한
사용자와 인증 정보의 액세스 권한을 비교하여 인증 정보 레벨 액세스 권한을 판별할 수 없는 경우에는 인증 정보가 검열 삭제됩니다.
"credentials": {
"REDACTED": "REDACTED_EXPLICIT"
},
인증 정보 보기
onetime_credentials 이 false 로 구성된 서비스에 대한 자격 증명을 만든 후에는 자격 증명 값이 필요한 사용자가 언제든지 볼 수 있습니다. 단, 모든 사용자는 올바른 레벨의 액세스 권한이 있어야 API 키 값을 비롯한 인증 정보의 세부사항을 볼 수 있습니다. 해당 자격 증명에 대해 일회성 보기가 꺼져 있는 경우에만 생성 후 자격 증명 꼬리를 검색할 수 있습니다.
리소스 인스턴스에 대한 다음 액세스 권한이 있는 사용자는 일회성 보기가 꺼진 상태에서 자격 증명의 서비스 키 값을 볼 수 있습니다.
- 서비스 인스턴스에 대한 액세스 권한이 서비스 자격 증명의 액세스 권한과 같거나 더 큰 사용자입니다. 자세한 내용은 자격 증명 수준 액세스를 참조하세요.
- 서비스 인스턴스에서 관리자 역할을 가진 사용자.
- IAM 동작이 있는 사용자
resource-controller.credential.retrieve_all. 이 작업은 관리자 역할로 제공됩니다.
서비스에 대한 기존 서비스 인증 정보를 보려면 다음 단계를 완료하십시오.
- 리소스 목록 페이지에서 서비스의 이름을 선택하여 서비스 세부사항 페이지를 여십시오.
- 서비스 인증 정보를 클릭하십시오.
- 기존 인증 정보에 대한 행에서 인증 정보 보기를 펼치십시오.
일회성 자격 증명
자격 증명에는 최초 생성 후 자격 증명을 검색하고 볼 수 있는지 여부를 결정하는 onetime_credentials 속성이 있습니다. 속성이 false 이면, 액세스 권한이 있는 사용자는 언제든지 자격 증명 값을 볼 수 있습니다. 리소스 인스턴스에는 해당 인스턴스에 대해 작성한 신임 정보가 일회성 보기인지 여부를 판별하는 "일회성 보기" 설정이 있습니다. 일회성
보기 신임 정보는 작성 시에만 확인 및 저장할 수 있습니다. 작성 시점의 인스턴스 설정에 따라 각 신임 정보의 특성이 설정되며, 이후에는 변경할 수 없습니다.
-
일회성 보기가 '꺼짐'인 경우 액세스 권한이 있는 사용자는 언제든지 자격 증명을 검색할 수 있습니다.
-
일회성 보기가 "켜짐"인 경우, 자격 증명을 만들 때만 볼 수 있습니다.
애플리케이션에서 비밀 관리자, 비밀번호 관리자 또는 보안 저장소( Object Storage )를 사용하여 일회용 보기 자격 증명을 안전하게 저장하여 분실을 방지하세요.
서비스 인스턴스에서 일회성 보기를 사용 설정하여 최소 권한 모델에 맞게 조정하고 자격 증명에 대한 공유 액세스를 방지하세요. 공유 키를 사용하면 계정의 ID가 리소스에 액세스하는 방식을 감사하기 어려울 수 있습니다.
리소스 인스턴스에 대한 일회성 보기 설정 관리하기
서비스 인스턴스에서 관리자 역할 또는 IAM 작업 resource-controller.instance.update_onetime_credential_off 을 가진 사용자는 해당 인스턴스에 대한 일회성 보기 설정을 관리할 수 있습니다.
{
"displayName": {
"default": "Resource Instance Update Onetime Credential Off"
},
"description": {
"default": "The ability to change onetime_credential from On to Off for existing instances."
},
"id": "resource-controller.instance.update_onetime_credential_off",
"roles": [
"crn:v1:bluemix:public:iam::::role:Administrator"
],
"apiTypes": [
"crn:v1:bluemix:public:context-based-restrictions::::platform-api-type:resource-management"
]
}
자세한 내용은 인스턴스에서 onetime_credentials 속성을 업데이트하는 리소스 컨트롤러 API를 참조하세요. 인스턴스에 대한 설정을 변경하면 기존 자격 증명은 생성 당시의 설정을 그대로 유지합니다.
이 속성 변경 전에 생성된 기존 자격 증명은 영향을 받지 않습니다.
인증 정보 레벨 액세스 권한
사용자의 액세스 권한은 서비스 인증 정보의 액세스 권한 이상이어야 합니다. 예를 들어, 인증 정보가 Writer IAM 서비스 역할을 가진 경우, 인증 정보를 보려고 시도하는 사용자에게 지정된 특정 서비스에 대해 IAM 서비스 역할 중 Writer 또는 Manager 권한이 있어야 합니다. 사용자에게 올바른 액세스 권한이 없는 경우에는 API 키 값과 같은
세부사항이 검열 삭제됩니다.
"credentials": {
"REDACTED": "REDACTED"
},
IAM 레벨 액세스 권한
사용자와 인증 정보의 액세스 권한을 비교하여 인증 정보 레벨 액세스 권한을 판별할 수 없는 경우에는 인증 정보가 검열 삭제됩니다.
"credentials": {
"REDACTED": "REDACTED_EXPLICIT"
},
인증 정보를 보려면 사용자에게 IAM 레벨 액세스 조치 resource-controller.credential.retrieve_all이(가) 있어야 합니다. 이 조치는 관리자 역할과 함께 제공되며, 사용자가 신임 정보를 볼 수 있도록 하는 모든 인증 정보 레벨 액세스 권한을 재정의합니다.
API를 사용하여 인증 정보 보기
onetime_credentials 이 false 로 구성된 서비스에 대한 자격 증명을 만든 후에는 자격 증명 값이 필요한 사용자가 언제든지 볼 수 있습니다. 단, 모든 사용자는 올바른 레벨의 액세스 권한이 있어야 API 키 값을 비롯한 인증 정보의 세부사항을 볼 수 있습니다. 사용자의 액세스 권한이 서비스 인증 정보의 액세스 권한 이상이어야 합니다. 예를 들어 자격 증명에 IAM
서비스 역할이 Writer 인 경우 자격 증명을 보려는 사용자에게 해당 특정 서비스에 대한 IAM 서비스 역할이 Writer 또는 Manager 이 할당되어 있어야 합니다. 해당 자격 증명에 대해 onetime_credentials 이 false 인 경우에만 생성 후 자격 증명 꼬리를 검색할 수 있습니다. 리소스
인스턴스에 대해 다음 액세스 권한이 있는 사용자는 onetime_credentials 이 false 으로 구성된 자격 증명의 서비스 키 값을 볼 수 있습니다.
- 서비스 인스턴스에 대한 액세스 권한이 서비스 자격 증명의 액세스 권한과 같거나 더 큰 사용자입니다. 자세한 내용은 자격 증명 수준 액세스를 참조하세요.
- 서비스 인스턴스에서 관리자 역할을 가진 사용자.
- IAM 동작이 있는 사용자
resource-controller.credential.retrieve_all. 이 작업은 관리자 역할로 제공됩니다.
모든 리소스 키의 목록을 가져오려면 다음 예에 표시된 대로 리소스 제어기 API를 호출하십시오.
curl -X GET https://resource-controller.cloud.ibm.com/v2/resource_keys -H 'Authorization: Bearer <IAM_TOKEN>'
ListResourceKeysOptions listResourceKeysOptions = new ListResourceKeysOptions.Builder()
.name(keyName)
.build();
Response<ResourceKeysList> response = service.listResourceKeys(listResourceKeysOptions).execute();
ResourceKeysList resourceKeysList = response.getResult();
System.out.printf("listResourceKeys() response:\n%s\n", resourceKeysList.toString());
const params = {
name: keyName,
};
resourceControllerService.listResourceKeys(params)
.then(res => {
console.log('listResourceKeys() response:\n' + JSON.stringify(res.result, null, 2));
})
.catch(err => {
console.warn(err)
});
resource_keys_list = resource_controller_service.list_resource_keys(
name=key_name
).get_result()
print('\nlist_resource_keys() response:\n',
json.dumps(resource_keys_list, indent=2))
listResourceKeysOptions := resourceControllerService.NewListResourceKeysOptions()
listResourceKeysOptions = listResourceKeysOptions.SetName(keyName)
resourceKeysList, response, err := resourceControllerService.ListResourceKeys(listResourceKeysOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(resourceKeysList, "", " ")
fmt.Printf("\nListResourceKeys() response:\n%s\n", string(b))
리소스 예:
{
"rows_count": 1,
"next_url": null,
"resources": [
{
"id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-key:23693f48-aaa2-4079-b0c7-334846eff8d0",
"guid": "23693f48-aaa2-4079-b0c7-334846eff8d0",
"url": "/v2/resource_keys/23693f48-aaa2-4079-b0c7-334846eff8d0",
"created_at": "2018-07-02T22:03:43.837979455Z",
"updated_at": "2018-07-02T22:03:43.837979455Z",
"deleted_at": null,
"created_by": "IBMid-5500093BHN",
"updated_by": "IBMid-5500093BHN",
"deleted_by": "",
"source_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
"role": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
"name": "my-instance-key-1",
"parameters": {
"role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer"
},
"crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-key:23693f48-aaa2-4079-b0c7-334846eff8d0",
"state": "active",
"account_id": "4329073d16d2f3663f74bfa955259139",
"resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
"resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
"onetime_credentials": false,
"credentials": {
"apikey": "XXXX-YYYY-ZZZZ\"",
"endpoints": "https://cos-service-armada-s.us-south.containers.mybluemix.net/endpoints",
"iam_apikey_description": "Auto generated apikey during resource-key operation for Instance - crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
"iam_apikey_name": "auto-generated-apikey-23693f48-aaa2-4079-b0c7-334846eff8d0",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
"iam_serviceid_crn": "crn:v1:bluemix:public:iam-identity::a/4329073d16d2f3663f74bfa955259139::serviceid:ServiceId-64c29e4f-422d-468c-a11b-1a8f671b5c89",
"resource_instance_id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::"
},
"iam_compatible": true,
"migrated": false,
"resource_instance_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
"resource_alias_url": null
}
]
}
일회성 자격 증명
리소스 인스턴스에는 해당 인스턴스에 대해 생성하는 자격 증명이 일회성 보기인지 여부를 결정하는 onetime_credentials 속성이 있습니다. 작성 시점의 인스턴스 설정에 따라 각 신임 정보의 특성이 설정되며, 이후에는 변경할 수 없습니다.
-
이 속성을
false으로 설정하면 액세스 권한이 있는 사용자가 언제든지 자격 증명을 검색할 수 있습니다. 자격 증명 검색에 대한 자세한 내용은 리소스 키 가져오기 작업을 참조하세요. -
이 속성이
true로 설정되어 있으면 자격 증명을 생성할 때만 볼 수 있으므로 안전하게 저장해야 합니다.애플리케이션에서 비밀 관리자, 비밀번호 관리자 또는 보안 저장소( Object Storage )를 사용하여 일회용 보기 자격 증명을 안전하게 저장하여 분실을 방지하세요.
서비스 인스턴스에서 일회성 보기를 사용 설정하여 최소 권한 모델에 맞게 조정하고 자격 증명에 대한 공유 액세스를 방지하세요. 공유 키를 사용하면 계정의 ID가 리소스에 액세스하는 방식을 감사하기 어려울 수 있습니다.
리소스 인스턴스에 대한 일회성 보기 설정 관리하기
서비스 인스턴스에서 관리자 역할 또는 IAM 작업 resource-controller.instance.update_onetime_credential_off 을 가진 사용자는 해당 인스턴스에 대한 일회성 보기 설정을 관리할 수 있습니다.
{
"displayName": {
"default": "Resource Instance Update Onetime Credential Off"
},
"description": {
"default": "The ability to change onetime_credential from On to Off for existing instances."
},
"id": "resource-controller.instance.update_onetime_credential_off",
"roles": [
"crn:v1:bluemix:public:iam::::role:Administrator"
],
"apiTypes": [
"crn:v1:bluemix:public:context-based-restrictions::::platform-api-type:resource-management"
]
}
자세한 내용은 인스턴스에서 onetime_credentials 속성을 업데이트하는 리소스 컨트롤러 API를 참조하세요. 인스턴스에 대한 설정을 변경하면 기존 자격 증명은 생성 당시의 설정을 그대로 유지합니다.
인증 정보 레벨 액세스 권한
사용자의 액세스 권한은 서비스 인증 정보의 액세스 권한 이상이어야 합니다. 예를 들어 인증 정보가 작성자 IAM 서비스 역할 Writer을(를) 가진 경우, 인증 정보를 보려고 시도하는 사용자에게는 지정된 해당 서비스에 대한 IAM 서비스 역할 Writer 또는 Manager이(가) 있어야 합니다. 사용자에게 올바른 액세스 권한이 없는 경우에는 API 키
값과 같은 세부사항이 검열 삭제됩니다.
"credentials": {
"REDACTED": "REDACTED"
},
IAM 레벨 액세스 권한
사용자와 인증 정보의 액세스 권한을 비교하여 인증 정보 레벨 액세스 권한을 판별할 수 없는 경우에는 인증 정보가 검열 삭제됩니다.
"credentials": {
"REDACTED": "REDACTED_EXPLICIT"
},
인증 정보를 보려면 사용자에게 IAM 레벨 액세스 조치 resource-controller.credential.retrieve_all이(가) 있어야 합니다. 이 조치는 관리자 역할과 함께 제공되며, 사용자가 신임 정보를 볼 수 있도록 하는 모든 인증 정보 레벨 액세스 권한을 재정의합니다.