서비스 주체 키
서비스 주체 키 (Service principal keys)
HCP UI, HCP CLI, 또는 HCP Terraform 프로바이더를 사용해 서비스 주체 키를 생성하고 삭제하는 단계를 설명해 드릴게요. HCP에서 서비스 주체는 Client ID와 Client secret의 쌍 값을 포함하는 인증 키에 연결돼요. 외부 클라이언트는 이 키를 사용해 HCP 공개 API로 인증해요.
단일 서비스 주체에 허용되는 최대 키 개수는 2개예요.
출처: 문서
본문
서비스 주체 키 생성
조직 수준과 프로젝트 수준 서비스 주체 키를 생성할 수 있어요. 서비스 주체 키는 연결되는 서비스 주체와 같은 수준에 있어야 해요.
조직 수준 키
HCP UI / HCP CLI / Terraform
- https://portal.cloud.hashicorp.com에 로그인하고 조직을 선택해요.
- Access control (IAM) 을 클릭해요.
- Service principals를 클릭해요.
- 특정 서비스 주체를 클릭해 상세 보기 화면을 열어요.
- Keys를 클릭해요.
- Generate key를 클릭해요.
- 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
- https://portal.cloud.hashicorp.com에 로그인하고 조직을 선택해요.
- Projects를 클릭하고 서비스 주체를 만들 원하는 프로젝트를 선택해요.
- Access control (IAM) 을 클릭해요.
- Service principals를 클릭해요.
- 특정 서비스 주체를 클릭해 상세 보기 화면을 열어요.
- Keys를 클릭해요.
- Generate key를 클릭해요.
- 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
- https://portal.cloud.hashicorp.com에 로그인하고 조직을 선택해요.
- Access control (IAM) 을 클릭해요.
- Service principals를 클릭해요.
- 특정 서비스 주체를 클릭해 상세 보기 화면을 열어요.
- Keys를 클릭해요.
- 삭제하려는 특정 키 옆의 드롭다운을 클릭해요.
- Delete key를 클릭해요.
- 표시된 필드에
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
- https://portal.cloud.hashicorp.com에 로그인하고 조직을 선택해요.
- Projects를 클릭하고 서비스 주체를 만들 원하는 프로젝트를 선택해요.
- Access control (IAM) 을 클릭해요.
- Service principals를 클릭해요.
- 특정 서비스 주체를 클릭해 상세 보기 화면을 열어요.
- Keys를 클릭해요.
- 삭제하려는 특정 키 옆의 드롭다운을 클릭해요.
- Delete key를 클릭해요.
- 표시된 필드에
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)
- 서비스 주체 (Service principal) — 서비스 주체를 만들고 관리하는 방법을 확인해 보세요.
- 워크로드 아이덴티티 페더레이션 — 키를 저장하지 않고 외부 워크로드를 인증하는 방법을 알아보세요.
- 접근 관리 (Access Management) — 역할과 권한 체계를 자세히 살펴보세요.