本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
資料目錄範例政策
本節包含可讓您在資料目錄上用來啟用各種動作的政策範例。
資料目錄是由 Athena 管理的 IAM 資源。因此,如果您的資料目錄政策使用 datacatalog
做為輸入的動作,您必須指定資料目錄的 ARN,如下所示:
"Resource": [arn:aws:athena:<region>
:<user-account>
:datacatalog/<datacatalog-name>
]
<datacatalog-name>
是資料目錄的名稱。例如,對於名為 test_datacatalog
的資料目錄,將其指定為資源,如下所示:
"Resource": ["arn:aws:athena:us-east-1:123456789012:datacatalog/test_datacatalog"]
如需 Amazon Athena 動作的完整清單,請參閱《Amazon Athena API 參考》中的 API 動作名稱。如需有關 IAM 政策的詳細資訊,請參閱《IAM 使用者指南》中的使用視覺化編輯器來建立政策。如需有關為工作群組建立 IAM 政策的詳細資訊,請參閱使用 IAM 政策控制對資料目錄的存取。
範例
適用於完整存取所有資料目錄的政策範例以下政策允許完整存取帳戶中可能存在的所有資料目錄資源。對於您的帳戶中必須為所有其他使用者管理資料目錄的那些使用者,我們建議您使用此政策。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"athena:*"
],
"Resource":[
"*"
]
}
]
}
範例
適用於完整存取指定資料目錄的政策範例以下政策允許完整存取名為 datacatalogA
的單一特定的資料目錄資源。對於能夠完全控制特定資料目錄的使用者,您可以使用此政策。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"athena:ListDataCatalogs",
"athena:ListWorkGroups",
"athena:GetDatabase",
"athena:ListDatabases",
"athena:ListTableMetadata",
"athena:GetTableMetadata"
],
"Resource":"*"
},
{
"Effect":"Allow",
"Action":[
"athena:StartQueryExecution",
"athena:GetQueryResults",
"athena:DeleteNamedQuery",
"athena:GetNamedQuery",
"athena:ListQueryExecutions",
"athena:StopQueryExecution",
"athena:GetQueryResultsStream",
"athena:ListNamedQueries",
"athena:CreateNamedQuery",
"athena:GetQueryExecution",
"athena:BatchGetNamedQuery",
"athena:BatchGetQueryExecution",
"athena:DeleteWorkGroup",
"athena:UpdateWorkGroup",
"athena:GetWorkGroup",
"athena:CreateWorkGroup"
],
"Resource":[
"arn:aws:athena:us-east-1:123456789012:workgroup/*"
]
},
{
"Effect":"Allow",
"Action":[
"athena:CreateDataCatalog",
"athena:DeleteDataCatalog",
"athena:GetDataCatalog",
"athena:GetDatabase",
"athena:GetTableMetadata",
"athena:ListDatabases",
"athena:ListTableMetadata",
"athena:UpdateDataCatalog"
],
"Resource":"arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA"
}
]
}
範例
適用於查詢指定資料目錄的政策範例在以下政策中,允許使用者在指定的 datacatalogA
中執行查詢。不允許使用者對資料目錄本身執行管理任務,例如更新或刪除。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"athena:StartQueryExecution"
],
"Resource":[
"arn:aws:athena:us-east-1:123456789012:workgroup/*"
]
},
{
"Effect":"Allow",
"Action":[
"athena:GetDataCatalog"
],
"Resource":[
"arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA"
]
}
]
}
範例
適用於指定資料目錄上管理操作的政策範例在以下政策中,允許使用者建立、刪除、取得詳細資訊和更新資料目錄 datacatalogA
。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"athena:CreateDataCatalog",
"athena:GetDataCatalog",
"athena:DeleteDataCatalog",
"athena:UpdateDataCatalog"
],
"Resource": [
"arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA"
]
}
]
}
範例
適用於列出資料目錄的政策範例以下政策可讓所有使用者列出所有資料目錄:
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"athena:ListDataCatalogs"
],
"Resource": "*"
}
]
}
範例
適用於資料目錄上中繼資料操作的政策範例下列政策允許對資料目錄進行中繼資料操作:
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"athena:GetDatabase",
"athena:GetTableMetadata",
"athena:ListDatabases",
"athena:ListTableMetadata"
],
"Resource": "*"
}
]
}