시크릿 구성 및 액세스 지정에 대한 우수 사례
IBM Cloud® Secrets Manager를 사용하면 시크릿과 중요한 데이터에 대한 액세스 권한을 구성하고 지정하기 위한 전략을 설계할 수 있습니다. 시크릿 관리에 대한 우수 사례를 구현하기 위해 다음 제안된 가이드라인을 검토합니다.
비밀 정보에 대한 접근 제한
Secrets Manager 저장된 조직의 비밀번호를 안전하게 보호하려면 관리자가 아닌 사용자 및 애플리케이션의 액세스를 제한하세요.
- IAM 설정을 검토하여 Secrets Manager 서비스에 대한 허용 액세스가 허용되지 않는지 확인합니다.
- 관리자가 아닌 사용자 및 애플리케이션에 대해 작업을 완료하는 데 필요한 기간 동안만 비밀에 대한 액세스 권한을 부여하고, 더 이상 필요하지 않은 경우 즉시 액세스 권한을 취소하세요.
- 액세스 권한을 할당할 때는 최소 권한 원칙을 준수하세요. 특정 Secrets Manager 인스턴스 또는 비밀 그룹에 대한 액세스를 제한하고 필요한 작업에 필요한 최소한의 서비스 역할만 할당하세요. 또한 워크로드의 필요에 맞게 특정 Secrets Manager 작업 집합에 대한 액세스를 제한하도록 사용자 지정 IAM 역할을 구성할 수도 있습니다.
계정의 리소스 계층 구조 검토
Secrets Manager를 사용하여 시크릿 관리 전략을 설계할 때 IBM Cloud 계정의 리소스 계층 구조 및 사용자가 지정한 액세스 정책을 상속하는 방법을 고려하십시오. 시크릿 관리를 위한 액세스 권한이 필요한 사용자 또는 서비스 ID를 미리 판별하십시오. 신뢰 서클을 정의하면 인증 정보 손상의 위험을 줄일 수 있습니다.
-
리소스 그룹을 사용하여 계정의 개발자 그룹이 사용할 Secrets Manager 인스턴스를 구성하십시오. 리소스 그룹을 작성하려면 관리 > 계정 > 계정 리소스 > 리소스 그룹으로 이동하십시오.
계정의 리소스 그룹이 프로젝트 환경 레벨(예: 개발, 테스트 및 프로덕션)로 구성된 경우, 각 개발 단계에 따라 시크릿을 분리할 수 있도록 리소스 그룹마다 Secrets Manager 인스턴스를 작성하십시오. 리소스 그룹 사용에 대한 자세한 정보는 우수한 리소스 그룹 전략의 요인은 무엇입니까?를 참조하십시오.
-
액세스 그룹을 사용하여 Secrets Manager 인스턴스에 대해 동일한 레벨의 액세스 권한이 필요한 사용자와 서비스 ID를 구성하십시오. 액세스 그룹을 작성하려면 관리 > 액세스(IAM) > 액세스 그룹으로 이동하십시오.
예를 들어, Secrets Manager 인스턴스를 포함하여 자원 그룹의 자원에 대한 관리자 액세스 권한이 필요한 사용자 또는 서비스 ID에 대해 단일 액세스 그룹(예:
Admin-Group)을 작성할 수 있습니다. 이와 같이 각 사용자 또는 서비스 ID에 대해 개별 정책을 지정하는 것이 아니라 액세스 그룹에 하나의 정책을 지정할 수 있습니다. 액세스 그룹 사용에 대한 자세한 정보는 우수한 액세스 그룹 전략의 요인은 무엇입니까?를 참조하십시오.
시크릿 그룹을 사용하여 Secrets Manager 인스턴스의 시크릿 구성
인스턴스 레벨에서 특정 시크릿에 대한 액세스 범위를 좁히려면 시크릿 그룹을 사용하십시오.
-
특정 애플리케이션에 맵핑되는 시크릿 그룹과 같이 시크릿 그룹에 더 세분화된 액세스를 지정하도록 시크릿 그룹을 작성하십시오. 시크릿 그룹을 작성하려면 Secrets Manager UI > 시크릿 그룹 > 작성으로 이동하십시오.
리소스 그룹 사용에 익숙한 경우, 리소스 그룹에서 리소스를 구성하는 방법과 유사하게 시크릿 그룹에서 시크릿을 구성하는 것을 고려하십시오. 관리자는 시크릿 그룹을 작성하여 인스턴스의 시크릿에 대한 액세스를 제어합니다. 예를 들어, 특정 리소스 또는 시스템에 인증하는 데 사용되는 시크릿만 포함하는 시크릿 그룹을 작성할 수 있습니다. 그런 다음, 선택한 사용자 또는 서비스 ID만 해당 시크릿에 액세스할 수 있도록 시크릿 그룹을 IAM 액세스 그룹에 지정합니다. 시크릿 그룹 관리에 대한 자세한 정보는 시크릿 구성을 참조하십시오.
Secrets Manager 인스턴스를 작성할 때 기본 시크릿 그룹이 작성됩니다. 시크릿을 작성한 후에는 시크릿 지정을 변경할 수 없으므로 먼저 시크릿 그룹을 작성해야 합니다. 실수로 잘못된 시크릿 그룹에 시크릿을 지정하거나 시크릿이 기본 시크릿 그룹에 속하지 않게 하려면 시크릿을 삭제하고 새로 작성하십시오
-
선택적으로, 시크릿 그룹을 사용하여 계정의 특정 리소스에 대한 권한 부여된 액세스를 허용합니다.
시크릿 그룹은 IAM을 통해 그렇지 않으면 가능하지 않은 리소스에 대한 직접 액세스 권한을 부여하는 데 사용할 수 있습니다. 예를 들어,
User A에 IAM의Service A에 대한 액세스 권한이 없다고 가정합니다.User A을(를)Secret Group A에 할당하는 IAM 액세스 정책을 작성하고Secret Group A에Service A에 대한 액세스 권한을 부여하는 서비스 ID가 있는 IAM 인증 정보가 포함된 경우User A에Service A에 대한 액세스 권한을 부여합니다. 이 시나리오에서Secret Group A은(는) IAM에 제한사항이 있는 경우에도Service A(으)로의 게이트웨이가 됩니다. 이 시나리오에서는 의도하지 않게 리소스에 대한 액세스 권한을 부여할 수 있음을 유념하십시오. 시크릿 그룹 지정이 실수로 IAM 액세스 정책을 대체하지 않도록 구성을 주의하여 검토하십시오. -
시크릿 그룹을 정기적으로 감사하고 더 이상 필요하지 않을 때 이를 제거하십시오.
필요한 최소 액세스 권한만 부여하고 더 이상 필요하지 않은 시크릿 그룹을 삭제하십시오.
시크릿 그룹을 삭제하려면 이 그룹이 비어 있어야 합니다. 시크릿을 포함하는 시크릿 그룹을 제거해야 하는 경우 먼저 그룹의 일부인 시크릿을 삭제해야 합니다.
레이블을 추가하여 관련 시크릿 추적
인스턴스에서 시크릿을 검색하고 분류할 수 있도록 레이블을 추가하십시오. 일관된 레이블 지정 스키마를 사용하는 경우 유사한 시크릿을 쉽게 그룹화할 수 있습니다.
- 특정 용도로 사용되는 시크릿을 구분하기 위해 레이블 작성과 같은 일관된 스키마를 사용하여 시크릿에 레이블을 지정하십시오. Secrets Manager UI를 사용하여 레이블을 추가하려면 시크릿 페이지로 이동한 후 시크릿을 선택하여 해당 세부사항을 편집하십시오.
Vault Dedicated에서 비밀 정보 정리하기
[Vault 전용] ‘{: tag-green} ’ 요금제는 고급 조직 관리 및 접근 제어 기능을 갖춘 관리형 HashiCorp Vault 엔터프라이즈 클러스터를 제공합니다. Vault Enterprise에서 시크릿을 구성하고 액세스 권한을 관리하는 데 대한 포괄적인 모범 사례는 HashiCorp's 의 공식 문서를 참조하십시오:
- 네임스페이스 구성: 네임스페이스를 사용하여 서로 다른 팀, 프로젝트 또는 애플리케이션을 위한 독립적인 환경을 구축합니다. 자세한 지침은 ‘ HashiCorp's 네임스페이스 구성 모범 사례’를 참조하십시오.
- 액세스 제어 정책: Vault의 정책 시스템을 활용하여 세분화된 액세스 제어를 구현함으로써, 사용자와 애플리케이션이 필요한 권한만 갖도록 보장합니다. 자세한 내용은 ‘ HashiCorp's ’의 액세스 제어 모범 사례를 참조하십시오.