Google Cloud Storage에서 Google Compute Engine을 사용하는 방법을 배우면서 ACL 문제가 발생했습니다. 내 자신의 컴퓨터에서 SSH 자격 증명을 사용하여 버킷으로 원하는 모든 것을 할 수 있습니다. 그러나 웹 기반 SSH 클라이언트를 사용하여 계산 인스턴스에 로그인하면 버킷에서만 읽을 수 있습니다. 버킷으로 데이터를 다시 복사하면 'AccessDeniedException : 403 불충분 한 권한'오류가 발생합니다. (나는이 모든 복사 실험을 gsutil로하고있다.)Google Cloud Storage에 대한 액세스 제어 문제를 어떻게 디버그하나요?
이것은 나에게 의미가 없다. 유일하고 유일한 서비스 계정에 프로젝트 편집기 역할이 부여되었으며, 버킷 ACL 목록은 소유자에게 프로젝트 편집기 역할과 서비스 계정 모두에 대한 액세스 권한을 제공함을 확인했습니다. 나는 또한 버킷에서 "OWNER"대신 "WRITE"권한을 갖도록 서비스 계정을 변경하려고 시도했지만 도움이되지 않습니다. 마지막으로, 로컬 컴퓨터에서이 모든 작업을 수행 할 때 동일한 기본 서비스 계정에 대해 다운로드 한 ssh 키를 사용하므로 변경 이유를 알 수 없습니다.
문제의 일부는 고무가 도로를 만나는 곳을 볼 수 없다는 것입니다. 더 이상 정보가없는 403이 나옵니다. 나는 gsutil이 무엇을하는지 볼 수 없다. (사실, gsutil이 자격 증명을 얻는 방법을 모르겠다. 콘솔을 통해 ssh로 로그인 할 때 자동으로 수행되기 때문에 - 나는 서비스 계정 아래에서 로깅한다고 가정하고있다.).
분명히이 직접적인 문제를 해결하고 싶지만, 미래에 발생할 때 이러한 문제를 디버깅하는 방법에 대한 조언을 주시면 감사하겠습니다.
감사 브랜든 :
구글의 사이트에서이 작업을 수행하는 방법에 대한 좋은 지침이 있습니다. GCE 인스턴스의 잘못된 범위가 문제였습니다. 필자는 아무리 많은 문서를 읽었더라도이 보안 모델을 감싸 안을 수는 없다고 말해야합니다. 나는 나를 던지려는 것이 보통 보안은 (1) 행동이 (2) 자원에 대해 (3) 신원에 대해 허용되는지 여부이다. 그러나이 모델에는 (4) "범위"가 있습니다. 범위는 특정 리소스와 관련이 없지만 일반적으로 GCE 인스턴스에서 액세스하는 모든 리소스에 적용됩니다 (1) 및 (3)과 비슷합니다. 그것이 올바른 정신 모델입니까? –
성격. 범위의 배경은 응용 프로그램에 권한을 부여하고 권한을 부여하려는 것이지만 모든 기능을 부여하지 않으려는 것입니다. 제 3 자 GCS 브라우저를 사용하고 싶다고 상상해보십시오.GCS 사용 목적을 위해 귀하의 역할을 할 수있는 권한을 부여 할 수도 있지만 GCS 인스턴스를 시작하거나 이메일을 읽는 것을 의미하지는 않습니다. 액세스를 제한하고 제어하는 또 하나의 방법 일뿐입니다. –