액세스 제어 권장사항

이 페이지에서는 Identity and Access Management(IAM)액세스 제어 목록(ACL)을 사용하여 데이터에 대한 액세스를 관리하는 방법에 대한 권장사항을 설명합니다.

IAM 정책과 ACL을 효과적으로 관리하려면 능동적인 관리가 필요합니다. 다른 사용자가 버킷이나 객체에 액세스할 수 있게 하기 전에 먼저 버킷이나 객체를 공유할 대상을 확인하고 해당하는 각 사용자에게 어떤 역할을 부여할지 결정해야 합니다. 시간이 경과하면 프로젝트 관리, 사용 패턴, 조직 소유권이 변경되면 버킷과 프로젝트에 대한 IAM 또는 ACL 설정을 수정해야 할 수 있습니다. 특히 대규모 조직이나 대규모 사용자 그룹에서 Cloud Storage를 관리하는 경우라면 더욱 그렇습니다. 액세스 제어 설정을 평가하고 계획할 때 다음과 같은 권장사항을 염두에 두어야 합니다.

  • 버킷이나 객체에 대한 액세스 권한을 부여할 때 최소 권한의 원칙을 사용합니다.

    최소 권한의 원칙은 리소스에 대한 액세스 권한을 부여하기 위한 보안 가이드라인입니다. 최소 권한의 원칙에 따라 액세스 권한을 부여하면 사용자가 할당된 태스크를 수행하는 데 필요한 최소 권한이 부여됩니다. 예를 들어 다른 사용자와 파일을 공유하려면 storage.admin IAM 역할이나 OWNER ACL 권한이 아닌 storage.objectViewer IAM 역할이나 READER ACL 권한을 부여해야 합니다.

  • setIamPolicy 권한을 사용하여 IAM 역할을 부여하거나 ACL OWNER 권한을 모르는 사람에게 부여하지 마세요.

    setIamPolicy IAM 권한이나 OWNER ACL 권한을 부여하면 사용자가 권한을 변경하고 데이터를 제어할 수 있습니다. 객체와 버킷에 대한 관리 제어 권한을 위임하려는 경우에만 이러한 권한이 있는 역할을 사용해야 합니다.

  • 익명 사용자에게 권한 부여 시 주의하세요.

    allUsersallAuthenticatedUsers 주 구성원 유형은 인터넷 상의 모든 사용자가 데이터를 읽고 분석할 수 있도록 허용되는 경우에만 사용해야 합니다. 이러한 범위는 일부 애플리케이션과 상황에 유용하며 일반적으로 모든 사용자에게 IAM 권한 setIamPolicy, update, create 또는 delete 또는 ACL OWNER 권한과 같은 특정 권한을 부여하지 않는 것이 좋습니다.

  • 버킷의 관리 권한을 위임하세요.

    관리 액세스 권한이 있는 개별 사용자가 그룹에서 탈퇴할 경우 다른 팀 구성원이 리소스를 계속 관리할 수 있는지 확인해야 합니다.

    리소스에 액세스하지 못하게 하려면 다음 중 하나를 수행하면 됩니다.

    • 프로젝트의 스토리지 관리자 IAM 역할을 개인이 아닌 그룹에 부여합니다.

    • 프로젝트의 스토리지 관리자 IAM 역할을 최소 2명 이상의 개인에게 부여합니다.

    • 버킷에 대한 OWNER ACL 권한을 최소 2명 이상의 개인에게 부여합니다.

  • Cloud Storage의 상호 운용 가능한 동작을 파악합니다.

    Amazon S3 등의 다른 저장소 서비스와 상호 운용 가능한 액세스를 위해 XML API를 사용할 때 서명 식별자가 ACL 구문을 결정합니다. 예를 들어, 사용 중인 도구나 라이브러리가 Cloud Storage에 ACL을 검색하도록 요청하는 경우 요청에서 다른 저장소 제공업체의 서명 식별자를 사용하면 Cloud Storage가 해당 저장소 제공업체의 ACL 구문을 사용하는 XML 문서를 반환합니다. 사용 중인 도구나 라이브러리가 Cloud Storage에 ACL을 적용하도록 요청하고 다른 저장소 제공업체의 서명 식별자가 요청에 사용되는 경우 Cloud Storage는 해당 저장소 제공업체의 ACL 구문을 사용하는 XML 문서를 수신할 것으로 기대합니다.

    Amazon S3와 상호 운용할 수 있도록 XML API를 사용하는 방법에 대한 자세한 내용은 Amazon S3에서 Cloud Storage로 단순 마이그레이션을 참조하세요.

다음 단계