vault AppRole 인증

00_8_3·2022년 9월 28일
0

vault

목록 보기
2/3

AppRole 인증이란?

AppRole 인증 방법은 볼트에서 시스템 인증을 위해 제공합니다. AppRole은 유연하게 설계되었기 때문에 구성 방법이 다양합니다. 보안 책임은 다른 볼트 인증 방법의 경우와 같이 신뢰할 수 있는 서드파티가 아니라 구성자에게 있습니다.

AppRole은 신뢰할 수 있는 서드파티 인증자가 아니라 신뢰할 수 있는 브로커 방식입니다. 차이점은 인증에서 신뢰의 책임은 클라이언트와 볼트 간의 인증을 중개하는 안전하게 관리되는 브로커 시스템에 있다는 것입니다.

이 보안의 핵심 원칙은 볼트와의 인증 중계 중에 RoleID와 SecretID가 비밀을 소비해야하는 최종 사용자 시스템에만 항상 함께 있다는 것입니다.

AppRole 인증에는 세 명의 플레이어가 있습니다.

볼트 - 볼트 서비스
브로커 - 인증을 중개하는 신뢰할 수 있고 안전한 시스템
비밀 소비자 - 비밀의 최종 소비자

AppRole 적용하기

  • approle 생성.
$ vault auth enable approle

$ vault write auth/approle/role/my-role \
    secret_id_ttl=10m \
    token_num_uses=10 \
    token_ttl=20m \
    token_max_ttl=30m \
    secret_id_num_uses=40
  • list 확인
$ vault list auth/approle/role
  • RoleId 가져오기
$ vault read auth/approle/role/my-role/role-id

  • SecretId 가져오기
$ vault write -f auth/approle/role/my-role/secret-id

AppRole과 Policy 연결

Policy 생성 및 삭제

$ cat > my-policy2.hcl
path "secret/data/mysql/webapp" {
  capabilities = [ "read" ]
}

path "test/*"  {        // 주의 
	capabilities = [ "read" ]
}

$ vault policy write my-policy ./my-policy.hcl

$ vault policy delete my-policy

주의사항.
secret의 path가 test인 경우
/secret/test/가 아닌 /test 이다.

참고 : https://www.vaultproject.io/docs/commands/policy

연결

vault write auth/approle/role/<Role> token_policies=<my-policy>
  • Role : 연결할 role 이름 입력
  • my-policy : 연결할 policy 입력

참고

https://velog.io/@limsubin/Vault-AppRole-%EC%9D%B8%EC%A6%9D%EC%9D%84-%ED%99%9C%EC%84%B1%ED%99%94-%ED%95%B4%EB%B3%B4%EC%9E%90

vault write auth/approle/role/my-role token_policies="my-role"

0개의 댓글