서비스 주체 키

서비스 주체 키 (Service principal keys)

HCP UI, HCP CLI, 또는 HCP Terraform 프로바이더를 사용해 서비스 주체 키를 생성하고 삭제하는 단계를 설명해 드릴게요. HCP에서 서비스 주체는 Client ID와 Client secret의 쌍 값을 포함하는 인증 키에 연결돼요. 외부 클라이언트는 이 키를 사용해 HCP 공개 API로 인증해요.

단일 서비스 주체에 허용되는 최대 키 개수는 2개예요.

출처: 문서

본문

서비스 주체 키 생성

조직 수준과 프로젝트 수준 서비스 주체 키를 생성할 수 있어요. 서비스 주체 키는 연결되는 서비스 주체와 같은 수준에 있어야 해요.

조직 수준 키

HCP UI / HCP CLI / Terraform

  1. https://portal.cloud.hashicorp.com에 로그인하고 조직을 선택해요.
  2. Access control (IAM) 을 클릭해요.
  3. Service principals를 클릭해요.
  4. 특정 서비스 주체를 클릭해 상세 보기 화면을 열어요.
  5. Keys를 클릭해요.
  6. Generate key를 클릭해요.
  7. Client secret을 복사해 나중에 사용할 수 있도록 안전한 위치에 저장해요.

hcp iam service-principals keys create 명령을 사용해 서비스 주체 키를 만들어요. 다음 예시는 example-sp 서비스 주체에 대한 서비스 주체 키를 만들어요.

$ hcp iam service-principals keys create iam/organization/d3e891e7-35c5-4ffb-a192-567e02ec566f/service-principal/example-sp

hcp_service_principal_key 리소스를 사용해요.

data "hcp_organization" "my_org" {
}

resource "hcp_service_principal" "example" {
  name = "example-sp"
}

resource "hcp_service_principal_key" "key" {
  service_principal = hcp_service_principal.example.resource_name
}

프로젝트 수준 키

HCP UI / HCP CLI / Terraform

  1. https://portal.cloud.hashicorp.com에 로그인하고 조직을 선택해요.
  2. Projects를 클릭하고 서비스 주체를 만들 원하는 프로젝트를 선택해요.
  3. Access control (IAM) 을 클릭해요.
  4. Service principals를 클릭해요.
  5. 특정 서비스 주체를 클릭해 상세 보기 화면을 열어요.
  6. Keys를 클릭해요.
  7. Generate key를 클릭해요.
  8. Client secret을 복사해 나중에 사용할 수 있도록 안전한 위치에 저장해요.

hcp iam service-principals keys create 명령을 사용해 서비스 주체 키를 만들어요. 다음 예시는 example-sp라는 프로젝트 수준 서비스 주체에 대한 키를 만들어요.

$ hcp iam service-principals keys create iam/project/d3e891e7-35c5-4ffb-a192-567e02ec566f/service-principal/example-sp

hcp_service_principal_key 리소스를 사용해요.

resource "hcp_project" "my_proj" {
  name = "platform-dev"
}

resource "hcp_service_principal" "example" {
  name   = "workload-sp"
  parent = hcp_project.my_proj.resource_name
}

resource "hcp_service_principal_key" "key" {
  service_principal = hcp_service_principal.example.resource_name
}

서비스 주체 키 삭제

조직 수준과 프로젝트 수준 서비스 주체 키를 삭제하는 단계는 비슷해요.

조직 수준 키

HCP UI / HCP CLI / Terraform

  1. https://portal.cloud.hashicorp.com에 로그인하고 조직을 선택해요.
  2. Access control (IAM) 을 클릭해요.
  3. Service principals를 클릭해요.
  4. 특정 서비스 주체를 클릭해 상세 보기 화면을 열어요.
  5. Keys를 클릭해요.
  6. 삭제하려는 특정 키 옆의 드롭다운을 클릭해요.
  7. Delete key를 클릭해요.
  8. 표시된 필드에 DELETE를 입력하고 Delete를 클릭해요.

hcp iam service-principals keys delete 명령을 사용해 서비스 주체 키를 삭제해요. 다음 예시는 example-sp 서비스 주체와 연결된 서비스 주체 키를 삭제해요.

$ hcp iam service-principals key delete iam/organization/d3e891e7-35c5-4ffb-a192-567e02ec566f/service-principal/example-sp/key/3KgtSLWTSs

-target 플래그와 함께 terraform destroy 명령을 사용해요.

$ terraform destroy -target "hcp_service_principal_key.key"

프로젝트 수준 서비스 주체

HCP UI / HCP CLI / Terraform

  1. https://portal.cloud.hashicorp.com에 로그인하고 조직을 선택해요.
  2. Projects를 클릭하고 서비스 주체를 만들 원하는 프로젝트를 선택해요.
  3. Access control (IAM) 을 클릭해요.
  4. Service principals를 클릭해요.
  5. 특정 서비스 주체를 클릭해 상세 보기 화면을 열어요.
  6. Keys를 클릭해요.
  7. 삭제하려는 특정 키 옆의 드롭다운을 클릭해요.
  8. Delete key를 클릭해요.
  9. 표시된 필드에 DELETE를 입력하고 Delete를 클릭해요.

hcp iam service-principals delete 명령을 사용해 서비스 주체 키를 삭제해요. 다음 예시는 example-sp 프로젝트 수준 서비스 주체와 연결된 서비스 주체 키를 삭제해요.

$ hcp iam service-principals keys delete iam/project/d3e891e7-35c5-4ffb-a192-567e02ec566f/service-principal/example-sp/key/3KgtSLWTSs

-target 플래그와 함께 terraform destroy 명령을 사용해요.

$ terraform destroy -target "hcp_service_principal_key.key"

더 알아보기 (Learn more)