diff --git a/docs/getting-started/create-a-feature-repository.md b/docs/getting-started/create-a-feature-repository.md index 9c50b74c41..4047062d0a 100644 --- a/docs/getting-started/create-a-feature-repository.md +++ b/docs/getting-started/create-a-feature-repository.md @@ -24,13 +24,13 @@ Creating a new Feast repository in /<...>/tiny_pika. {% tab title="AWS template" %} ```text feast init -t aws -[?] AWS Region (e.g. us-west-2): ... -[?] Redshift Cluster ID: ... -[?] Redshift Database Name: ... -[?] Redshift User Name: ... -[?] Redshift S3 Staging Location (s3://*): ... -[?] Redshift IAM Role for S3 (arn:aws:iam::*:role/*): ... -[?] Should I upload example data to Redshift (overwriting 'feast_driver_hourly_stats' table)? (Y/n): +AWS Region (e.g. us-west-2): ... +Redshift Cluster ID: ... +Redshift Database Name: ... +Redshift User Name: ... +Redshift S3 Staging Location (s3://*): ... +Redshift IAM Role for S3 (arn:aws:iam::*:role/*): ... +Should I upload example data to Redshift (overwriting 'feast_driver_hourly_stats' table)? (Y/n): Creating a new Feast repository in /<...>/tiny_pika. ``` diff --git a/docs/reference/data-sources/README.md b/docs/reference/data-sources/README.md index 8435391241..2a130b2943 100644 --- a/docs/reference/data-sources/README.md +++ b/docs/reference/data-sources/README.md @@ -6,3 +6,4 @@ Please see [Data Source](../../concepts/feature-view.md#data-source) for an expl {% page-ref page="bigquery.md" %} +{% page-ref page="redshift.md" %} diff --git a/docs/reference/offline-stores/README.md b/docs/reference/offline-stores/README.md index 5bf7639504..7cd2ee4a47 100644 --- a/docs/reference/offline-stores/README.md +++ b/docs/reference/offline-stores/README.md @@ -6,3 +6,4 @@ Please see [Offline Store](../../concepts/offline-store.md) for an explanation o {% page-ref page="bigquery.md" %} +{% page-ref page="redshift.md" %} diff --git a/docs/reference/offline-stores/redshift.md b/docs/reference/offline-stores/redshift.md index 029bd2b4f0..5ac1bba96e 100644 --- a/docs/reference/offline-stores/redshift.md +++ b/docs/reference/offline-stores/redshift.md @@ -29,3 +29,166 @@ offline_store: Configuration options are available [here](https://github.com/feast-dev/feast/blob/bf557bcb72c7878a16dccb48443bbbe9dc3efa49/sdk/python/feast/infra/offline_stores/redshift.py#L22). +### Permissions + +Feast requires the following permissions in order to execute commands for Redshift offline store: + +
Command | +Permissions | +Resources | +
---|---|---|
Apply | +
+ redshift-data:DescribeTable +redshift:GetClusterCredentials + |
+
+ arn:aws:redshift:<region>:<account_id>:dbuser:<redshift_cluster_id>/<redshift_username> +arn:aws:redshift:<region>:<account_id>:dbname:<redshift_cluster_id>/<redshift_database_name> +arn:aws:redshift:<region>:<account_id>:cluster:<redshift_cluster_id> + |
+
Materialize | +
+ redshift-data:ExecuteStatement + |
+
+ arn:aws:redshift:<region>:<account_id>:cluster:<redshift_cluster_id> + |
+
+ redshift-data:DescribeStatement + |
+ * | +|
+ s3:ListBucket +s3:GetObject +s3:DeleteObject + |
+
+ arn:aws:s3:::<bucket_name> +arn:aws:s3:::<bucket_name>/* + |
+ |
Get Historical Features | +
+ redshift-data:ExecuteStatement +redshift:GetClusterCredentials + |
+
+ arn:aws:redshift:<region>:<account_id>:dbuser:<redshift_cluster_id>/<redshift_username> +arn:aws:redshift:<region>:<account_id>:dbname:<redshift_cluster_id>/<redshift_database_name> +arn:aws:redshift:<region>:<account_id>:cluster:<redshift_cluster_id> + |
+
+ redshift-data:DescribeStatement + |
+ * | +|
+ s3:ListBucket +s3:GetObject +s3:PutObject +s3:DeleteObject + |
+
+ arn:aws:s3:::<bucket_name> +arn:aws:s3:::<bucket_name>/* + |
+
Command | +Permissions | +Resources | +
---|---|---|
Apply | +
+ dynamodb:CreateTable +dynamodb:DescribeTable +dynamodb:DeleteTable + |
+ arn:aws:dynamodb:<region>:<account_id>:table/* | +
Materialize | +
+ dynamodb.BatchWriteItem + |
+ arn:aws:dynamodb:<region>:<account_id>:table/* | +
Get Online Features | +dynamodb.GetItem | +arn:aws:dynamodb:<region>:<account_id>:table/* | +