-
Notifications
You must be signed in to change notification settings - Fork 55
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: Add setup instructions for Azure AD storage mappings
- Loading branch information
Showing
16 changed files
with
147 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
{ | ||
"label": "Storage Mappings", | ||
"position": 4 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
--- | ||
sidebar_position: 2 | ||
title: Azure Blob Storage | ||
--- | ||
|
||
Setting up a Flow account to store data in your Azure Blob storage account requires you to grant our application access to your storage account and container, as well as providing us with some identifying information. At the moment storage mappings are not self-service, so once you have granted access and gathered the required information, reach out to your account manager who will configure your account. | ||
|
||
### Gathering information | ||
|
||
In order to complete this process, you will need to gather the following data: | ||
|
||
- Your **Azure AD tenant ID**. This can be found in the "Azure Active Directory" page here: | ||
![](Azure_AD_Tenant_ID.png) | ||
- Your **Azure Blob Storage account ID**. This can be found in the "Storage Accounts" page here: | ||
![](Azure_Storage_Account_Name.png) | ||
- Your **Azure Blob Storage container ID**. This can be found inside your storage account here: | ||
![](Azure_Container_ID.png) | ||
|
||
### Granting Access | ||
|
||
We use an [Azure Application](https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/what-is-application-management) to allow granting access to storage resources between your tenant and ours. In order for Flow to write to your storage account, it needs the [`Storage Blob Data Owner`](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#storage-blob-data-owner) IAM role for the storage account in question. In order to grant this role, you must first add our application to your tenant. | ||
|
||
#### Add application to your tenant | ||
|
||
import { AzureAuthorizeComponent } from "./azureAuthorize"; | ||
import BrowserOnly from "@docusaurus/BrowserOnly"; | ||
|
||
<BrowserOnly>{() => <AzureAuthorizeComponent />}</BrowserOnly> | ||
|
||
#### Authorize application to your storage account | ||
|
||
Once the application has been added, you must grant it the [`Storage Blob Data Owner`](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#storage-blob-data-owner) IAM role for your storage account. | ||
|
||
- Inside your storage account's "Access Control (IAM)" tab, click "Add Role Assignment" | ||
- Search for the string `Storage Blob Data Owner` and select it | ||
- On the next page, make sure `User, group, or service principal` is selected, then click "+ Select Members" | ||
- You must search for the exact name of the application, otherwise it won't show up: `Estuary Storage Mappings Prod` | ||
- Once you've selected the application, finish granting the role and you should be all set | ||
|
||
### Give us a ring | ||
|
||
Once you've finished the above steps, the next part is to contact us. Self-service storage mapping configuration is on our roadmap, but for the moment we're happy to configure your account by hand. Send [email protected] an email containing all of the information you gathered above, as well as whether you want the storage mapping to apply to your whole Flow account, or just a subset of it. We'll get back to you letting you know when it's done, and that's it! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
import React from "react"; | ||
|
||
export const AzureAuthorizeComponent = () => { | ||
const ourAppId = "42cb0c6c-dab0-411f-9c21-16d5a2b1b025"; | ||
const redirectUri = window.location.href; | ||
const resourceId = "https://storage.azure.com"; | ||
|
||
const generateAuthorizeUrl = (theirTenant) => | ||
`https://login.microsoftonline.com/${theirTenant}/oauth2/authorize?client_id=${ourAppId}&response_type=code&redirect_uri=${encodeURIComponent( | ||
redirectUri | ||
)}&resource_id=${encodeURIComponent(resourceId)}`; | ||
|
||
const [tenant, setTenant] = React.useState(""); | ||
|
||
const authCode = React.useMemo(() => { | ||
return new URLSearchParams(window.location.search.slice(1)).get("code"); | ||
}, []); | ||
|
||
if (authCode) { | ||
return ( | ||
<span style={{ color: "green" }}> | ||
You have successfully added the application to your tenant | ||
</span> | ||
); | ||
} else { | ||
return ( | ||
<> | ||
<span> | ||
Input your <b>Tenant ID</b> and follow the prompts to add | ||
our application to your tenant: | ||
</span> | ||
<br /> | ||
<br /> | ||
<input | ||
placeholder="Tenant ID" | ||
value={tenant} | ||
onChange={(e) => setTenant(e.target.value)} | ||
/> | ||
<a | ||
style={{ | ||
marginLeft: 8, | ||
color: tenant.length < 1 ? "inherit" : undefined, | ||
}} | ||
href={ | ||
tenant.length > 0 ? generateAuthorizeUrl(tenant) : null | ||
} | ||
> | ||
Authorize | ||
</a> | ||
</> | ||
); | ||
} | ||
}; |
6 changes: 3 additions & 3 deletions
6
site/docs/concepts/storage-mappings.md → site/docs/concepts/storage-mappings/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters