hcp organizations iam set-policy

hcp organizations iam set-policy

hcp organizations iam set-policy 명령은 조직의 IAM 정책을 설정할 때 사용해요. 이 글에서는 정책 파일 형식과 etag 전달 방식, 그리고 주의사항을 설명해 드릴게요.

출처: 문서

본문

명령: hcp organizations iam set-policy

hcp organizations iam set-policy 명령은 조직의 IAM 정책을 설정해요. 전체 정책을 설정하는 작업은 매우 신중하게 수행해야 해요. 정책에서 주체 하나만 추가하거나 제거한다면 hcp organizations iam add-binding과 관련된 hcp organizations iam delete-binding을 사용하는 것이 더 좋아요.

정책 파일은 IAM 정책을 담고 있는 JSON으로 인코딩된 파일이어야 해요.

정책 JSON 파일의 형식은 다음 형식의 객체예요.

{
{
  "bindings": [
    {
      "role_id": "ROLE_ID",
      "members": [
        {
          "member_id": "PRINCIPAL_ID",
          "member_type": "USER" | "GROUP" | "SERVICE_PRINCIPAL"
        }
      ]
    }
  ],
  "etag": "ETAG"
}

설정된 경우 정책의 etag는 기존 정책의 etag와 같아야 해요. 기존 정책과 etag를 보려면 hcp organizations iam read-policy --format=json을 실행해요. 설정되지 않은 경우 기존 정책의 etag를 가져와 사용해요.

사용법 (Usage)

$ hcp organizations iam set-policy --policy-file=PATH [Optional Flags]

예시 (Examples)

조직의 IAM 정책을 설정해요.

$ cat >policy.json <<EOF
{
  "bindings": [
    {
      "role_id": "roles/viewer",
      "members": [
      {
        "member_id": "97e2c752-4285-419e-a5cc-bf05ce811d7d",
        "member_type": "USER"
      },
      {
        "member_id": "334514c1-4650-4699-891a-a7261fba9607",
        "member_type": "GROUP"
      }
    ]
  },
  {
    "role_id": "roles/admin",
    "members": [
      {
        "member_id": "efa07942-17e8-4ef4-ae2d-ec51d32a0767",
        "member_type": "SERVICE_PRINCIPAL"
      }
    ]
  }
  ],
  "etag": "14124142"
}
EOF
$ hcp organizations iam set-policy --policy-file=policy.json

필수 플래그 (Required flags)

  • --policy-file=PATH - IAM 정책 객체를 담고 있는 파일의 경로예요.

더 알아보기 (Learn more)