Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
John Deutscher committed Mar 23, 2018
2 parents b8cca1c + 883bf0c commit e470aa2
Show file tree
Hide file tree
Showing 66 changed files with 698 additions and 92 deletions.
5 changes: 0 additions & 5 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,3 @@
# articles/virtual-machines/windows/ @iainfoulds @cynthn
# articles/application-insights/ @SergeyKanzhelev
# articles/cosmos-db/ @mimig1

articles/service-fabric/TOC.yml @tysonn
articles/service-fabric/toc.yml @tysonn
articles/service-fabric/TOC.md @tysonn
articles/service-fabric/toc.md @tysonn
239 changes: 239 additions & 0 deletions articles/active-directory/active-directory-saas-safetynet-tutorial.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,239 @@
---
title: 'Tutorial: Azure Active Directory integration with SafetyNet | Microsoft Docs'
description: Learn how to configure single sign-on between Azure Active Directory and SafetyNet.
services: active-directory
documentationCenter: na
author: jeevansd
manager: femila
ms.reviewer: joflore

ms.assetid: caa96ea2-da21-4529-8fab-0e06367beb40
ms.service: active-directory
ms.workload: identity
ms.tgt_pltfrm: na
ms.devlang: na
ms.topic: article
ms.date: 03/23/2018
ms.author: jeedes

---
# Tutorial: Azure Active Directory integration with SafetyNet

In this tutorial, you learn how to integrate SafetyNet with Azure Active Directory (Azure AD).

Integrating SafetyNet with Azure AD provides you with the following benefits:

- You can control in Azure AD who has access to SafetyNet.
- You can enable your users to automatically get signed-on to SafetyNet (Single Sign-On) with their Azure AD accounts.
- You can manage your accounts in one central location - the Azure portal.

If you want to know more details about SaaS app integration with Azure AD, see [what is application access and single sign-on with Azure Active Directory](active-directory-appssoaccess-whatis.md).

## Prerequisites

To configure Azure AD integration with SafetyNet, you need the following items:

- An Azure AD subscription
- A SafetyNet single-sign on enabled subscription

> [!NOTE]
> To test the steps in this tutorial, we do not recommend using a production environment.
To test the steps in this tutorial, you should follow these recommendations:

- Do not use your production environment, unless it is necessary.
- If you don't have an Azure AD trial environment, you can [get a one-month trial](https://azure.microsoft.com/pricing/free-trial/).

## Scenario description
In this tutorial, you test Azure AD single sign-on in a test environment.
The scenario outlined in this tutorial consists of two main building blocks:

1. Adding SafetyNet from the gallery
2. Configuring and testing Azure AD single sign-on

## Adding SafetyNet from the gallery
To configure the integration of SafetyNet into Azure AD, you need to add SafetyNet from the gallery to your list of managed SaaS apps.

**To add SafetyNet from the gallery, perform the following steps:**

1. In the **[Azure portal](https://portal.azure.com)**, on the left navigation panel, click **Azure Active Directory** icon.

![The Azure Active Directory button][1]

2. Navigate to **Enterprise applications**. Then go to **All applications**.

![The Enterprise applications blade][2]

3. To add new application, click **New application** button on the top of dialog.

![The New application button][3]

4. In the search box, type **SafetyNet**, select **SafetyNet** from result panel then click **Add** button to add the application.

![SafetyNet in the results list](./media/active-directory-saas-safetynet-tutorial/tutorial_safetynet_addfromgallery.png)

## Configure and test Azure AD single sign-on

In this section, you configure and test Azure AD single sign-on with SafetyNet based on a test user called "Britta Simon".

For single sign-on to work, Azure AD needs to know what the counterpart user in SafetyNet is to a user in Azure AD. In other words, a link relationship between an Azure AD user and the related user in SafetyNet needs to be established.

To configure and test Azure AD single sign-on with SafetyNet, you need to complete the following building blocks:

1. **[Configure Azure AD Single Sign-On](#configure-azure-ad-single-sign-on)** - to enable your users to use this feature.
2. **[Create an Azure AD test user](#create-an-azure-ad-test-user)** - to test Azure AD single sign-on with Britta Simon.
3. **[Create a SafetyNet test user](#create-a-safetynet-test-user)** - to have a counterpart of Britta Simon in SafetyNet that is linked to the Azure AD representation of user.
4. **[Assign the Azure AD test user](#assign-the-azure-ad-test-user)** - to enable Britta Simon to use Azure AD single sign-on.
5. **[Test single sign-on](#test-single-sign-on)** - to verify whether the configuration works.

### Configure Azure AD single sign-on

In this section, you enable Azure AD single sign-on in the Azure portal and configure single sign-on in your SafetyNet application.

**To configure Azure AD single sign-on with SafetyNet, perform the following steps:**

1. In the Azure portal, on the **SafetyNet** application integration page, click **Single sign-on**.

![Configure single sign-on link][4]

2. On the **Single sign-on** dialog, select **Mode** as **SAML-based Sign-on** to enable single sign-on.

![Single sign-on dialog box](./media/active-directory-saas-safetynet-tutorial/tutorial_safetynet_samlbase.png)

3. On the **SafetyNet Domain and URLs** section, perform the following steps if you wish to configure the application in **IDP** initiated mode:

![SafetyNet Domain and URLs single sign-on information](./media/active-directory-saas-safetynet-tutorial/tutorial_safetynet_url.png)

a. In the **Identifier** textbox, type a URL using the following pattern: `https://<subdomain>.predictivesolutions.com/sp`

b. In the **Reply URL** textbox, type a URL using the following pattern: `https://<subdomain>.predictivesolutions.com/CRMApp/saml/SSO`

4. Check **Show advanced URL settings** and perform the following step if you wish to configure the application in **SP** initiated mode:

![SafetyNet Domain and URLs single sign-on information](./media/active-directory-saas-safetynet-tutorial/tutorial_safetynet_url1.png)

In the **Sign-on URL** textbox, type a URL using the following pattern: `https://<subdomain>.predictivesolutions.com`
> [!NOTE]
> These values are not real. Update these values with the actual Identifier, Reply URL, and Sign-On URL. Contact [SafetyNet Client support team](mailto:[email protected]) to get these values.

5. Click **Save** button.

![Configure Single Sign-On Save button](./media/active-directory-saas-safetynet-tutorial/tutorial_general_400.png)

6. To generate the **Metadata URL**, perform the following steps:

a. Click **App registrations**.

![Configure Single Sign-On](./media/active-directory-saas-safetynet-tutorial/tutorial_safetynet_appregistrations.png)

b. Click **Endpoints** to open **Endpoints** dialog box.

![Configure Single Sign-On](./media/active-directory-saas-safetynet-tutorial/tutorial_safetynet_endpointicon.png)

c. Click the copy button to copy **FEDERATION METADATA DOCUMENT** url and paste it into notepad.

![Configure Single Sign-On](./media/active-directory-saas-safetynet-tutorial/tutorial_safetynet_endpoint.png)

d. Now go to the property page of **SafetyNet** and copy the **Application Id** using **Copy** button and paste it into notepad.

![Configure Single Sign-On](./media/active-directory-saas-safetynet-tutorial/tutorial_safetynet_appid.png)

e. Generate the **Metadata URL** using the following pattern:`<FEDERATION METADATA DOCUMENT url>?appid=<application id>`

7. To configure single sign-on on **SafetyNet** side, you need to send the generated **Metadata URL** to [SafetyNet support team](mailto:[email protected]). They set this setting to have the SAML SSO connection set properly on both sides.

### Create an Azure AD test user

The objective of this section is to create a test user in the Azure portal called Britta Simon.

![Create an Azure AD test user][100]

**To create a test user in Azure AD, perform the following steps:**

1. In the Azure portal, in the left pane, click the **Azure Active Directory** button.

![The Azure Active Directory button](./media/active-directory-saas-safetynet-tutorial/create_aaduser_01.png)

2. To display the list of users, go to **Users and groups**, and then click **All users**.

![The "Users and groups" and "All users" links](./media/active-directory-saas-safetynet-tutorial/create_aaduser_02.png)

3. To open the **User** dialog box, click **Add** at the top of the **All Users** dialog box.

![The Add button](./media/active-directory-saas-safetynet-tutorial/create_aaduser_03.png)

4. In the **User** dialog box, perform the following steps:

![The User dialog box](./media/active-directory-saas-safetynet-tutorial/create_aaduser_04.png)

a. In the **Name** box, type **BrittaSimon**.

b. In the **User name** box, type the email address of user Britta Simon.

c. Select the **Show Password** check box, and then write down the value that's displayed in the **Password** box.

d. Click **Create**.

### Create a SafetyNet test user

In this section, you create a user called Britta Simon in SafetyNet. Work with [SafetyNet support team](mailto:[email protected]) to add the users in the SafetyNet platform. Users must be created and activated before you use single sign-on

### Assign the Azure AD test user

In this section, you enable Britta Simon to use Azure single sign-on by granting access to SafetyNet.

![Assign the user role][200]

**To assign Britta Simon to SafetyNet, perform the following steps:**

1. In the Azure portal, open the applications view, and then navigate to the directory view and go to **Enterprise applications** then click **All applications**.

![Assign User][201]

2. In the applications list, select **SafetyNet**.

![The SafetyNet link in the Applications list](./media/active-directory-saas-safetynet-tutorial/tutorial_safetynet_app.png)

3. In the menu on the left, click **Users and groups**.

![The "Users and groups" link][202]

4. Click **Add** button. Then select **Users and groups** on **Add Assignment** dialog.

![The Add Assignment pane][203]

5. On **Users and groups** dialog, select **Britta Simon** in the Users list.

6. Click **Select** button on **Users and groups** dialog.

7. Click **Assign** button on **Add Assignment** dialog.

### Test single sign-on

In this section, you test your Azure AD single sign-on configuration using the Access Panel.

When you click the SafetyNet tile in the Access Panel, you should get automatically signed-on to your SafetyNet application.
For more information about the Access Panel, see [Introduction to the Access Panel](active-directory-saas-access-panel-introduction.md).

## Additional resources

* [List of Tutorials on How to Integrate SaaS Apps with Azure Active Directory](active-directory-saas-tutorial-list.md)
* [What is application access and single sign-on with Azure Active Directory?](active-directory-appssoaccess-whatis.md)



<!--Image references-->

[1]: ./media/active-directory-saas-safetynet-tutorial/tutorial_general_01.png
[2]: ./media/active-directory-saas-safetynet-tutorial/tutorial_general_02.png
[3]: ./media/active-directory-saas-safetynet-tutorial/tutorial_general_03.png
[4]: ./media/active-directory-saas-safetynet-tutorial/tutorial_general_04.png

[100]: ./media/active-directory-saas-safetynet-tutorial/tutorial_general_100.png

[200]: ./media/active-directory-saas-safetynet-tutorial/tutorial_general_200.png
[201]: ./media/active-directory-saas-safetynet-tutorial/tutorial_general_201.png
[202]: ./media/active-directory-saas-safetynet-tutorial/tutorial_general_202.png
[203]: ./media/active-directory-saas-safetynet-tutorial/tutorial_general_203.png

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.
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.
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.
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.
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.
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.
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.
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.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
31 changes: 31 additions & 0 deletions articles/aks/azure-files-dynamic-pv.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,37 @@ kubectl create -f azure-pvc-files.yaml

You now have a running pod with your Azure disk mounted in the `/mnt/azure` directory. You can see the volume mount when inspecting your pod via `kubectl describe pod mypod`.

## Mount options

Default fileMode and dirMode values differ between Kubernetes versions as described in the following table.

| version | value |
| ---- | ---- |
| v1.6.x, v1.7.x | 0777 |
| v1.8.0-v1.8.5 | 0700 |
| v1.8.6 or above | 0755 |
| v1.9.0 | 0700 |
| v1.9.1 or above | 0755 |

If using a cluster of version 1.8.5 or greater, mount options can be specified on the storage class object. The following example sets `0777`.

```yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: azurefile
provisioner: kubernetes.io/azure-file
mountOptions:
- dir_mode=0777
- file_mode=0777
- uid=1000
- gid=1000
parameters:
skuName: Standard_LRS
```
If using a cluster of version 1.8.0 - 1.8.4, a security context can be specified with the `runAsUser` value set to `0`. For more information on Pod security context, see [Configure a Security Context][kubernetes-security-context].

## Next steps

Learn more about Kubernetes persistent volumes using Azure Files.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,16 @@ ms.devlang: na
ms.topic: tutorial
ms.tgt_pltfrm: na
ms.workload: "Active"
ms.date: 03/19/2018
ms.date: 03/23/2018
ms.author: nitinme

---

# Tutorial: Extract, transform, and load data using Azure Databricks

In this tutorial, you perform an ETL (extract, transform, and load data) operation using Azure Databricks. You extract data from Azure Data Lake Store into Azure Databricks, run transformations on the data in Azure Databricks, and then load the transformed data into Azure SQL Data Warehouse. The steps in this tutorial use the SQL Data Warehouse connector for Azure Databricks to transfer data to Azure Databricks. This connector, in turn, uses Azure Blob Storage as temporary storage for the data being transferred between an Azure Databricks cluster and Azure SQL Data Warehouse.
In this tutorial, you perform an ETL (extract, transform, and load data) operation using Azure Databricks. You extract data from Azure Data Lake Store into Azure Databricks, run transformations on the data in Azure Databricks, and then load the transformed data into Azure SQL Data Warehouse.

The steps in this tutorial use the SQL Data Warehouse connector for Azure Databricks to transfer data to Azure Databricks. This connector, in turn, uses Azure Blob Storage as temporary storage for the data being transferred between an Azure Databricks cluster and Azure SQL Data Warehouse.

The following illustration shows the application flow:

Expand Down
8 changes: 5 additions & 3 deletions articles/azure-databricks/databricks-stream-from-eventhubs.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,18 @@ ms.devlang: na
ms.topic: tutorial
ms.tgt_pltfrm: na
ms.workload: "Active"
ms.date: 03/20/2018
ms.date: 03/23/2018
ms.author: alehall

---

# Tutorial: Stream data into Azure Databricks using Event Hubs

In this tutorial, you connect a data ingestion system with Azure Databricks to stream data into an Apache Spark cluster in near real-time . You set up data ingestion system using Azure Event Hubs and then connect it to Azure Databricks to process the messages coming through. To access a stream of data, you use Twitter APIs to ingest tweets into Event Hubs. Once you have the data in Azure Databricks, you can run analytical jobs to further analyze the data. In this tutorial, you extract the tweets that have the term "Azure" in them.
In this tutorial, you connect a data ingestion system with Azure Databricks to stream data into an Apache Spark cluster in near real-time. You set up data ingestion system using Azure Event Hubs and then connect it to Azure Databricks to process the messages coming through. To access a stream of data, you use Twitter APIs to ingest tweets into Event Hubs. Once you have the data in Azure Databricks, you can run analytical jobs to further analyze the data.

The following screenshot shows the application flow:
By the end of this tutorial, you would have streamed tweets from Twitter (that have the term "Azure" in them) and read the tweets in Azure Databricks.

The following illustration shows the application flow:

![Azure Databricks with Event Hubs](./media/databricks-stream-from-eventhubs/databricks-eventhubs-tutorial.png "Azure Databricks with Event Hubs")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ ms.workload: big-data
ms.tgt_pltfrm: na
ms.devlang: na
ms.topic: quickstart
ms.date: 03/19/2018
ms.date: 03/23/2018
ms.author: nitinme
ms.custom: mvc

Expand All @@ -22,6 +22,8 @@ ms.custom: mvc

This quickstart shows how to create an Azure Databricks workspace and an Apache Spark cluster within that workspace. Finally, you learn how to run a Spark job on the Databricks cluster. For more information on Azure Databricks, see [What is Azure Databricks?](what-is-azure-databricks.md)

In this quickstart, as part of the Spark job, you analyze a radio channel subscription data to gain insights into free/paid usage based on demographics.

If you don't have an Azure subscription, [create a free account](https://azure.microsoft.com/free/) before you begin.

## Log in to the Azure portal
Expand Down Expand Up @@ -82,9 +84,9 @@ For more information on creating clusters, see [Create a Spark cluster in Azure

Before you begin with this section, you must complete the following prerequisites:

* [Create an Azure storage account](../storage/common/storage-create-storage-account.md#create-a-storage-account).
* [Create an Azure Blob storage account](../storage/common/storage-create-storage-account.md#create-a-storage-account).
* Download a sample JSON file [from Github](https://github.com/Azure/usql/blob/master/Examples/Samples/Data/json/radiowebsite/small_radio_json.json).
* Upload the sample JSON file to the Azure storage account you created. You can use [Microsoft Azure Storage Explorer](../vs-azure-tools-storage-manage-with-storage-explorer.md) to upload files.
* Upload the sample JSON file to the Azure Blob storage account you created. You can use [Microsoft Azure Storage Explorer](../vs-azure-tools-storage-manage-with-storage-explorer.md) to upload files.

Perform the following tasks to create a notebook in Databricks, configure the notebook to read data from an Azure Blob storage account, and then run a Spark SQL job on the data.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ ms.workload: big-data
ms.tgt_pltfrm: na
ms.devlang: na
ms.topic: quickstart
ms.date: 03/19/2018
ms.date: 03/23/2018
ms.author: nitinme
ms.custom: mvc

Expand All @@ -22,6 +22,8 @@ ms.custom: mvc

This quickstart shows how to create an Azure Databricks workspace using Azure Resource Manager template. You use the workspace to create an Apache Spark cluster and run a Spark job on the Databricks cluster. For more information on Azure Databricks, see [What is Azure Databricks?](what-is-azure-databricks.md)

In this quickstart, as part of the Spark job, you analyze a radio channel subscription data to gain insights into free/paid usage based on demographics.

If you don't have an Azure subscription, [create a free account](https://azure.microsoft.com/free/) before you begin.

## Create an Azure Databricks workspace
Expand Down Expand Up @@ -78,9 +80,9 @@ For more information on creating clusters, see [Create a Spark cluster in Azure

Before you begin with this section, you must complete the following prerequisites:

* [Create an Azure storage account](../storage/common/storage-create-storage-account.md#create-a-storage-account).
* [Create an Azure Blob storage account](../storage/common/storage-create-storage-account.md#create-a-storage-account).
* Download a sample JSON file [from Github](https://github.com/Azure/usql/blob/master/Examples/Samples/Data/json/radiowebsite/small_radio_json.json).
* Upload the sample JSON file to the Azure storage account you created. You can use [Microsoft Azure Storage Explorer](../vs-azure-tools-storage-manage-with-storage-explorer.md) to upload files.
* Upload the sample JSON file to the Azure Blob storage account you created. You can use [Microsoft Azure Storage Explorer](../vs-azure-tools-storage-manage-with-storage-explorer.md) to upload files.

Perform the following tasks to create a notebook in Databricks, configure the notebook to read data from an Azure Blob storage account, and then run a Spark SQL job on the data.

Expand Down
Loading

0 comments on commit e470aa2

Please sign in to comment.