資料目錄範例政策 - Amazon Athena

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

資料目錄範例政策

本節包含可讓您在資料目錄上用來啟用各種動作的政策範例。

資料目錄是由 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 政策

範例
適用於完整存取所有資料目錄的政策範例

以下政策允許完整存取帳戶中可能存在的所有資料目錄資源。對於您的帳戶中必須為所有其他使用者管理資料目錄的那些使用者,我們建議您使用此政策。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "athena:*" ], "Resource":[ "*" ] } ] }
範例
適用於完整存取指定資料目錄的政策範例

以下政策允許完整存取名為 datacatalogA 的單一特定的資料目錄資源。對於能夠完全控制特定資料目錄的使用者,您可以使用此政策。

{ "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 中執行查詢。不允許使用者對資料目錄本身執行管理任務,例如更新或刪除。

{ "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

{ "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" ] } ] }
範例
適用於列出資料目錄的政策範例

以下政策可讓所有使用者列出所有資料目錄:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListDataCatalogs" ], "Resource": "*" } ] }
範例
適用於資料目錄上中繼資料操作的政策範例

下列政策允許對資料目錄進行中繼資料操作:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:GetDatabase", "athena:GetTableMetadata", "athena:ListDatabases", "athena:ListTableMetadata" ], "Resource": "*" } ] }