MySQL에서만 메타데이터 권한을 부여할 수 있습니까?
P粉715274052
P粉715274052 2024-03-21 20:02:42
0
1
419

TLDR;

목표:

테이블의 정확한 데이터가 아닌 MySQL 메타데이터(적어도 스키마, 테이블, 열)에 대해서만 "감사" 사용자 액세스 권한을 부여할 수 있습니까?

버전

MySQL 8+

해 보세요:

이 질문에 앞서

해본 적이 있거나 알고 있는 사항:

  • 권한에 대한 공식 MySQL 문서를 확인하세요. (답변을 놓친 경우 알려주세요.)
  • SOF의 검색 키워드: mysqlprivilegemetadataetc.
  • DBA 친구들과 함께 해결책 찾기
  • 사용자에게 showdatabases 권한을 부여하지만 스키마 목록만 가져올 수 있습니다
  • 우리 모두 알고 있듯이 infomatica_schema에 대한 모든 자금이 낭비되었습니다
  • SELECT ON *.*는 또 다른 답변이지만 내 리더는 이를 통해 데이터가 유출되는 것을 원하지 않습니다

배경:

저희 회사에서는 감사, 보안 모니터링 또는 기타 문제를 위해 MySQL 메타데이터를 수집하도록 devops에 명령합니다(전체 내용은 자세히 모르겠습니다). 나의 리더십은 불필요한 데이터 침해가 발생하지 않을 것으로 예상합니다. 그런데, 나는 그들(아마도 감사 부서)이 메타데이터를 수집하는 구체적인 방법을 모릅니다. 내가 해야 할 일은 승인된 사용자를 생성하는 것뿐입니다.

P粉715274052
P粉715274052

모든 응답(1)
P粉739706089

이 문제에 대한 해결책을 찾은 것 같지만 이는 단지 해킹일 뿐 실제 해결책은 아닙니다.

https://dev.mysql.com/doc /refman/8.0/en/show-tables.html 말:

즉, SHOW TABLES를 사용할 수 없으며 INFORMATION_SCHEMA에 대한 쿼리에서 테이블을 볼 수도 없습니다(SHOW TABLES는 실제로 이러한 시스템 뷰에 대한 쿼리일 뿐이므로).

하지만 "특권 없음"이라는 표현이 저를 생각하게 만들었습니다. 사용자가 가질 수 있지만 데이터를 읽거나 쓸 수는 없는 권한이 있습니까?

https://dev.mysql.com/doc/refman /8.0/en/grant.html 말:

SHOW VIEW어때요? 이렇게 하면 테이블이나 뷰를 쿼리할 수 없고 메타데이터만 볼 수 있습니다.

그래서 시도해 봤습니다:

으아아아

그런 다음 해당 사용자로 로그인하여 다음을 시도했습니다.

으아아아

칼럼 등도 볼 수 있어요.

분명히 말하면 이는 뷰가 아닌 특정 테이블입니다. 그러나 내 감사자 사용자에게는 테이블에 대한 권한이 없으므로(관련 없는 권한도 포함) 테이블에 대한 메타데이터를 볼 수 있도록 하는 목적에 부합합니다.

MySQL 8.0.20에는 저장 프로시저나 함수의 본문을 볼 수 있는 SHOW ROUTINES 权限。在此之前,您需要 SELECT 권한이 추가되었습니다. 그러나 귀하는 귀하의 질문에 감사관 보기 루틴을 언급하지 않았습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿