Athena의 API 작업을 IAM으로 제어
Athena의 API는 현재 이것입니다.
pioho $ aws athena help
:
AVAILABLE COMMANDS
o batch-get-named-query
o batch-get-query-execution
o create-named-query
o delete-named-query
o get-named-query
o get-query-execution
o get-query-results
o help
o list-named-queries
o list-query-executions
o start-query-execution
o stop-query-execution
쿼리를 실행하여 쿼리의 상태를보고 결과를 얻습니다.
start-query-execution
※덧붙여 OutputLocation에서 쿼리 결과가 S3에 출력됩니다만, 이것 필수입니다. 붙이지 않으면 오류입니다. 지금까지 그런 사양입니다.
pioho $ aws athena start-query-execution --query-string "select * from sampledb.elb_logs limit 10" --result-configuration OutputLocation=s3://aws-athena-query-results
{
"QueryExecutionId": "0ec3a09e-144b-4a6c-b2f4-a2fb790e4141"
}
get-query-execution
pioho $ aws athena get-query-execution --query-execution-id 0ec3a09e-144b-4a6c-b2f4-a2fb790e4141
{
"QueryExecution": {
"Status": {
"SubmissionDateTime": 1499483900.008,
"State": "SUCCEEDED",
"CompletionDateTime": 1499483901.083
},
"Query": "select * from sampledb.elb_logs limit 10",
"Statistics": {
"DataScannedInBytes": 282613,
"EngineExecutionTimeInMillis": 956
},
"ResultConfiguration": {
"OutputLocation": "s3://aws-athena-query-results/0ec3a09e-144b-4a6c-b2f4-a2fb790e4141.csv"
},
"QueryExecutionId": "0ec3a09e-144b-4a6c-b2f4-a2fb790e4141"
}
}
get-query-results
pioho $ aws athena get-query-results --query-execution-id 0ec3a09e-144b-4a6c-b2f4-a2fb790e4141
{
"ResultSet": {
"Rows": [
{
"Data": [
{
"VarCharValue": "request_timestamp"
},
{
"VarCharValue": "elb_name"
},
{
"VarCharValue": "request_ip"
},
{
"VarCharValue": "request_port"
},
{
"Var
:
:
:
getresult 거부
IAM 정책을 Deny에서 만들고 적용합니다 (이미지는 허용되지만 ..)
Deny get-query-results
pioho $ aws athena get-query-results --query-execution-id 0ec3a09e-144b-4a6c-b2f4-a2fb790e4141
An error occurred (AccessDeniedException) when calling the GetQueryResults operation: User: arn:aws:iam::xxxxxxx:user/piko is not authorized to perform: athena:GetQueryResults
AWS Organizations
여기에서도 제어 할 수 있기 때문에 Athena 만 실행시키고 싶은 계정 일 수도 있습니다.
나머지는
리소스를 좀 더 세밀하게 제어 할 수 있다면 좋을 것입니다.
Reference
이 문제에 관하여(Athena의 API 작업을 IAM으로 제어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/pioho07/items/171d81cf4827f676d2db텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)