IAM 정책 구성
이 페이지에서는 구성원이 Certificate Authority Service 리소스를 만들고 관리할 수 있게 해주는 Identity and Access Management(IAM) 정책을 구성하는 방법을 설명합니다. IAM에 대한 자세한 내용은 IAM 개요를 참조하세요.
일반 IAM 정책
CA Service에서는 CA Service 리소스를 만들고 관리할 수 있도록 사용자 또는 서비스 계정에 IAM 역할을 부여합니다. 이러한 역할 바인딩은 다음 수준에서 추가할 수 있습니다.
- 특정 CA 풀 및 해당 CA 풀의 CA에 대한 액세스를 관리하는 CA 풀 수준
- 해당 범위의 모든 CA 풀에 대한 액세스 권한을 부여할 프로젝트 수준 또는 조직 수준
역할은 상위 리소스 수준에서 부여되는 경우 상속됩니다. 예를 들어 프로젝트 수준에서 감사자(roles/privateca.auditor
) 역할을 부여받은 사용자는 프로젝트의 모든 리소스를 볼 수 있습니다. 인증 기관(CA) 풀에 설정된 IAM 정책은 해당 CA 풀에 있는 모든 CA에 상속됩니다.
인증서와 CA 리소스에는 IAM 역할을 부여할 수 없습니다.
조건부 IAM 정책
여러 유형의 인증서를 요청하도록 승인된 여러 사용자가 사용할 수 있는 공유 CA 풀이 있는 경우 IAM 조건을 정의하여 CA 풀에서 특정 작업을 수행하도록 속성 기반 액세스를 적용할 수 있습니다.
IAM 조건부 역할 바인딩을 사용하면 지정된 조건이 충족되는 경우에만 주 구성원에 액세스 권한을 부여할 수 있습니다. 예를 들어 인증서 요청자 역할이 요청한 DNS SAN이 ['alice@example.com', 'bob@example.com']
의 하위 집합이라는 조건으로 CA 풀의 사용자 alice@example.com
에 바인딩된 경우, 해당 사용자는 요청된 SAN이 허용된 두 값 중 하나인 경우에만 동일한 CA 풀에서 인증서를 요청할 수 있습니다. Common Expression Language(CEL) 표현식을 사용하여 IAM 바인딩에 조건을 설정할 수 있습니다. 이러한 조건은 사용자가 요청할 수 있는 인증서 유형을 추가로 제한하는 데 도움이 될 수 있습니다. IAM 조건에 CEL 표현식을 사용하는 방법에 대한 자세한 내용은 IAM 정책의 Common Expression Language(CEL) 언어를 참조하세요.
시작하기 전에
- API를 사용 설정합니다.
- 빠른 시작 중 하나의 안내를 따라 CA 및 CA 풀을 만듭니다.
- Certificate Authority Service에 사용할 수 있는 IAM 역할에 대해 알아봅니다.
프로젝트 수준에서 IAM 정책 바인딩 구성
다음 시나리오에서는 사용자에게 프로젝트 수준에서 CA Service 리소스에 대한 액세스 권한을 부여하는 방법을 설명합니다.
리소스 관리
CA Service 관리자(roles/privateca.admin
)에게는 모든 CA Service 리소스를 관리하고, CA 풀 및 인증서 템플릿에 대해 IAM 정책을 설정하기 위한 권한이 있습니다.
프로젝트 수준에서 사용자에게 CA Service 관리자(roles/privateca.admin
) 역할을 할당하려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
프로젝트를 선택합니다.
액세스 권한 부여를 클릭합니다.
새 주 구성원 필드에 주 구성원의 이메일 주소 또는 다른 식별자를 입력합니다.
역할 선택 목록에서 CA Service 관리자 역할을 선택합니다.
저장을 클릭합니다.
gcloud
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=MEMBER \
--role=roles/privateca.admin
다음을 바꿉니다.
- PROJECT_ID: 프로젝트의 고유 식별자입니다.
- MEMBER: CA Service 관리자 역할을 할당할 사용자 또는 서비스 계정입니다.
--role
플래그는 구성원에게 할당하려는 IAM 역할을 사용합니다.
리소스 만들기
CA Service 작업 관리자(roles/privateca.caManager
)는 CA 풀과 CA를 만들고 업데이트하고 삭제할 수 있습니다. 이 역할을 통해 호출자는 CA 풀의 CA가 발급한 인증서를 취소할 수 있습니다.
프로젝트 수준에서 사용자에게 CA Service 작업 관리자(roles/privateca.caManager
) 역할을 할당하려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
프로젝트를 선택합니다.
액세스 권한 부여를 클릭합니다.
새 주 구성원 필드에 주 구성원의 이메일 주소 또는 다른 식별자를 입력합니다.
역할 선택 목록에서 CA Service 작업 관리자 역할을 선택합니다.
저장을 클릭합니다.
gcloud
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=MEMBER \
--role=roles/privateca.caManager
다음을 바꿉니다.
- PROJECT_ID: 프로젝트의 고유 식별자입니다.
- MEMBER: IAM 역할을 추가하려는 사용자 또는 서비스 계정입니다.
--role
플래그는 구성원에게 할당하려는 IAM 역할을 사용합니다.
gcloud projects add-iam-policy-binding
명령어에 대한 자세한 내용은 gcloud projects add-iam-policy-binding을 참조하세요.
선택적으로 기존 Cloud KMS 키를 사용해서 CA를 만들려면 호출자가 Cloud KMS 키의 관리자여야 합니다.
Cloud KMS 관리자(roles/cloudkms.admin
)는 암호화 및 복호화 작업을 제외하고 모든 Cloud KMS 리소스에 대한 전체 액세스 권한을 갖습니다. Cloud KMS의 IAM 역할에 대한 자세한 내용은 Cloud KMS: 권한과 역할을 참조하세요.
사용자에게 Cloud KMS 관리자(roles/cloudkms.admin
) 역할을 부여하려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서 Cloud Key Management Service 페이지로 이동합니다.
키링에서 CA 서명 키가 포함된 키링을 클릭합니다.
CA 서명 키인 키를 클릭합니다.
정보 패널이 표시되지 않았으면 정보 패널 표시를 클릭합니다. 그런 후 권한을 클릭합니다.
주 구성원 추가를 클릭합니다.
새 주 구성원 필드에 주 구성원의 이메일 주소 또는 다른 식별자를 입력합니다.
역할 선택 목록에서 Cloud KMS 관리자 역할을 선택합니다.
저장을 클릭합니다.
gcloud
gcloud kms keys add-iam-policy-binding KEY \
--keyring=KEYRING --location=LOCATION \
--member=MEMBER \
--role=roles/cloudkms.admin
다음을 바꿉니다.
- KEY: 키의 고유 식별자입니다.
- KEYRING: 키가 포함된 키링입니다. 키링에 대한 자세한 내용은 키링을 참조하세요.
- MEMBER: IAM 바인딩을 추가하려는 사용자 또는 서비스 계정입니다.
--role
플래그는 구성원에게 할당하려는 IAM 역할을 사용합니다.
gcloud kms keys add-iam-policy-binding
명령어에 대한 자세한 내용은 gcloud kms keys add-iam-policy-binding을 참조하세요.
리소스 감사
CA Service 감사자(roles/privateca.auditor
)는 CA Service의 모든 리소스에 대해 읽기 액세스 권한을 갖습니다. 특정 CA 풀에 대해 권한이 부여된 경우 해당 CA 풀에 대한 읽기 액세스 권한을 부여합니다. 또한 CA 풀이 엔터프라이즈 등급에 있으면 이 역할을 지닌 사용자가 CA 풀의 CA로 발급된 인증서 및 CRL을 볼 수 있습니다. CA 풀의 보안 및 운영을 검증해야 하는 개별 사용자에게 이 역할을 할당합니다.
프로젝트 수준에서 사용자에게 CA Service 감사자(roles/privateca.auditor
) 역할을 할당하려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
프로젝트를 선택합니다.
액세스 권한 부여를 클릭합니다.
새 주 구성원 필드에 주 구성원의 이메일 주소 또는 다른 식별자를 입력합니다.
역할 선택 목록에서 CA Service 감사자 역할을 선택합니다.
저장을 클릭합니다.
gcloud
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=MEMBER \
--role=roles/privateca.auditor
다음을 바꿉니다.
- PROJECT_ID: 프로젝트의 고유 식별자입니다.
- MEMBER: CA Service 감사자(
roles/privateca.auditor
) 역할을 할당하려는 사용자의 고유 식별자입니다.
--role
플래그는 구성원에게 할당하려는 IAM 역할을 사용합니다.
리소스 수준에서 IAM 정책 바인딩 구성
이 섹션에서는 CA Service의 특정 리소스에 대해 IAM 정책 바인딩을 구성하는 방법을 설명합니다.
CA 풀 관리
또한 특정 CA 풀 또는 인증서 템플릿을 관리하도록 리소스 수준에서 CA Service 관리자(roles/privateca.admin
) 역할을 부여할 수 있습니다.
콘솔
Google Cloud 콘솔에서 Certificate Authority Service 페이지로 이동합니다.
CA 풀 관리자 탭을 클릭한 다음 권한을 부여할 CA 풀을 선택합니다.
정보 패널이 표시되지 않았으면 정보 패널 표시를 클릭합니다. 그런 후 권한을 클릭합니다.
주 구성원 추가를 클릭합니다.
새 주 구성원 필드에 주 구성원의 이메일 주소 또는 다른 식별자를 입력합니다.
역할 선택 목록에서 CA Service 관리자 역할을 선택합니다.
저장을 클릭합니다. CA 풀 리소스에서 주 구성원에게 선택한 역할이 부여됩니다.
gcloud
다음 명령어를 실행하여 IAM 정책을 설정합니다.
gcloud privateca pools add-iam-policy-binding POOL_ID \
--location LOCATION \
--member MEMBER \
--role roles/privateca.admin
다음을 바꿉니다.
- POOL_ID: IAM 정책을 설정하려는 CA 풀의 고유 식별자입니다.
- LOCATION: CA 풀의 위치입니다. 전체 위치 목록은 위치를 참조하세요.
- MEMBER: IAM 역할을 할당하려는 사용자 또는 서비스 계정입니다.
--role
플래그는 구성원에게 할당하려는 IAM 역할을 사용합니다.
gcloud privateca pools add-iam-policy-binding
명령어에 대한 자세한 내용은 gcloud privateca pools add-iam-policy-binding을 참조하세요.
동일한 단계를 따라 인증서 템플릿에 대한 CA Service 관리자 역할을 부여합니다.
특정 CA 풀에서 CA Service 작업 관리자(roles/privateca.caManager
) 역할을 부여할 수도 있습니다. 이 역할을 통해 호출자는 해당 CA 풀의 CA에서 발급한 인증서를 취소할 수 있습니다.
콘솔
Google Cloud 콘솔에서 Certificate Authority Service 페이지로 이동합니다.
CA 풀 관리자 탭을 클릭한 다음 권한을 부여할 CA 풀을 선택합니다.
정보 패널이 표시되지 않았으면 정보 패널 표시를 클릭합니다. 그런 후 권한을 클릭합니다.
주 구성원 추가를 클릭합니다.
새 주 구성원 필드에 주 구성원의 이메일 주소 또는 다른 식별자를 입력합니다.
역할 선택 목록에서 CA Service 작업 관리자 역할을 선택합니다.
저장을 클릭합니다. 주 구성원에게 CA가 속한 CA 풀 리소스에서 선택한 역할이 부여됩니다.
gcloud
특정 CA 풀에 대해 역할을 부여하려면 다음 gcloud
명령어를 실행합니다.
gcloud privateca pools add-iam-policy-binding POOL_ID \
--location LOCATION \
--member MEMBER \
--role roles/privateca.caManager
다음을 바꿉니다.
- POOL_ID: CA 풀의 고유 식별자입니다.
- LOCATION: CA 풀의 위치입니다. 전체 위치 목록은 위치를 참조하세요.
- MEMBER: CA Service 작업 관리자(
roles/privateca.caManager
) 역할을 할당하려는 사용자의 고유 식별자입니다.
--role
플래그는 구성원에게 할당하려는 IAM 역할을 사용합니다.
gcloud privateca pools add-iam-policy-binding
명령어에 대한 자세한 내용은 gcloud privateca pools add-iam-policy-binding을 참조하세요.
인증서 생성
사용자에게 CA 풀에 인증서 발급 요청을 제출할 수 있도록 CA Service 인증서 관리자(roles/privateca.certificateManager
) 역할을 부여합니다. 이 역할은 또한 CA Service 리소스에 대해 읽기 액세스 권한을 부여합니다. 읽기 액세스 권한 없이 인증서 만들기만 허용하려면 CA Service 인증서 요청자(roles/privateca.certificateRequester
) 역할을 부여합니다. CA Service의 IAM역할에 대한 자세한 내용은 IAM으로 액세스 제어를 참조하세요.
특정 CA에 대해 인증서 만들기 액세스 권한을 사용자에게 부여하려면 다음 안내를 따릅니다.
콘솔
Google Cloud 콘솔에서 Certificate Authority Service 페이지로 이동합니다.
CA 풀 관리자를 클릭한 다음 권한을 부여할 CA 풀을 선택합니다.
정보 패널이 표시되지 않았으면 정보 패널 표시를 클릭합니다. 그런 후 권한을 클릭합니다.
주 구성원 추가를 클릭합니다.
새 주 구성원 필드에 주 구성원의 이메일 주소 또는 다른 식별자를 입력합니다.
역할 선택 목록에서 CA Service 인증서 관리자 역할을 선택합니다.
저장을 클릭합니다. 주 구성원에게 CA가 속한 CA 풀 리소스에서 선택한 역할이 부여됩니다.
gcloud
gcloud privateca pools add-iam-policy-binding 'POOL_ID' \
--location LOCATION \
--member MEMBER \
--role roles/privateca.certificateManager
다음을 바꿉니다.
- POOL_ID: CA 풀의 고유 식별자입니다.
- LOCATION: CA 풀의 위치입니다. 전체 위치 목록은 위치를 참조하세요.
- MEMBER: CA Service 인증서 관리자(
roles/privateca.certificateManager
) 역할을 할당하려는 사용자의 고유 식별자입니다.
--role
플래그는 구성원에게 할당하려는 IAM 역할을 사용합니다.
인증서 템플릿에 IAM 정책 바인딩 추가
특정 인증서 템플릿에 대해 IAM 정책을 추가하려면 다음 안내를 따릅니다.
콘솔
Google Cloud 콘솔에서 Certificate Authority Service 페이지로 이동합니다.
템플릿 관리자 탭을 클릭한 다음 권한을 부여할 인증서 템플릿을 선택합니다.
정보 패널이 표시되지 않았으면 정보 패널 표시를 클릭합니다. 그런 후 권한을 클릭합니다.
주 구성원 추가를 클릭합니다.
새 주 구성원 필드에 주 구성원의 이메일 주소 또는 다른 식별자를 입력합니다.
역할 선택 드롭다운 목록에서 부여할 역할을 선택합니다.
저장을 클릭합니다.
gcloud
gcloud privateca templates add-iam-policy-binding TEMPLATE_ID \
--location=LOCATION \
--member=MEMBER \
--role=ROLE
다음을 바꿉니다.
- LOCATION: 인증서 템플릿의 위치입니다. 전체 위치 목록은 위치를 참조하세요.
- MEMBER: IAM 정책 바인딩을 추가하려는 사용자 또는 서비스 계정입니다.
- ROLE: 구성원에게 부여할 역할입니다.
gcloud privateca templates add-iam-policy-binding
명령어에 대한 자세한 내용은 gcloud privateca templates add-iam-policy-binding을 참조하세요.
사용자의 IAM 역할 수정에 대한 자세한 내용은 액세스 권한 부여를 참조하세요.
IAM 정책 바인딩 삭제
Google Cloud CLI의 remove-iam-policy-binding
명령어를 사용해서 기존 IAM 정책 바인딩을 삭제할 수 있습니다.
특정 CA 풀에 대해 IAM 정책을 삭제하려면 다음 gcloud
명령어를 사용합니다.
gcloud
gcloud privateca pools remove-iam-policy-binding POOL_ID \
--location=LOCATION \
--member=MEMBER \
--role=ROLE
다음을 바꿉니다.
- LOCATION: CA 풀의 위치입니다. 전체 위치 목록은 위치를 참조하세요.
- MEMBER: IAM 정책 바인딩을 삭제하려는 사용자 또는 서비스 계정입니다.
- ROLE: 구성원에 대해 삭제할 역할입니다.
gcloud privateca pools remove-iam-policy-binding
명령어에 대한 자세한 내용은 gcloud privateca pools remove-iam-policy-binding을 참조하세요.
특정 인증서 템플릿에 대해 IAM 정책을 삭제하려면 다음 gcloud
명령어를 사용합니다.
gcloud
gcloud privateca templates remove-iam-policy-binding TEMPLATE_ID \
--location=LOCATION \
--member=MEMBER \
--role=ROLE
다음을 바꿉니다.
- LOCATION: 인증서 템플릿의 위치입니다. 전체 위치 목록은 위치를 참조하세요.
- MEMBER: IAM 정책 바인딩을 삭제하려는 사용자 또는 서비스 계정입니다.
- ROLE: 구성원에 대해 삭제할 역할입니다.
gcloud privateca templates remove-iam-policy-binding
명령어에 대한 자세한 내용은 gcloud privateca templates remove-iam-policy-binding을 참조하세요.
사용자의 IAM 역할 삭제에 대한 자세한 내용은 액세스 취소를 참조하세요.
다음 단계
- CA Service에 대한 IAM 역할 및 관련 권한 읽어보기
- 템플릿 및 발급 정책 알아보기
- 정책 제어 관리 방법 알아보기