Azure Media Services announces support for AAD and deprecation of ACS authentication

This month we are announcing the release of support for Azure Active Directory (AAD) authentication in Azure Media Services. Customers of our REST API and .NET client libraries can now use AAD authentication to authorize requests. In addition, we are releasing a new management blade in the Azure Portal to simplify the usage of User and Service Principal authentication with AAD. With the release of this update to our REST API, we are now able to provide the same role-based access management (RBAC) as provided by the Azure Resource Management (ARM) service. By moving to AAD authentication you will also now be able to track and audit all changes made by specific users or an application connected to your Media Services account. The new Azure Media REST API requires that the user or application making REST API requests must have either contributor or owner level access to the resources it is attempting to manage. More details on how role-based access control works for Azure resources is available at Azure Role-based Access Control. IMPORTANT! 12-month deprecation notice of ACS authentication support in Azure Media Services Because Azure Active Directory provides powerful role-based access control features and support for more fine-grained access to resources in your account compared to the ACS token authentication model (“account keys”), we strongly recommend that you update your code and migrate from ACS to AAD-based authentication by June 22, 2018. Also, a key reason for the rapid migration is the upcoming announced deprecation of the ACS key based authentication system. What does this mean for you? Microsoft Azure Media Services will end support for Microsoft Azure Access Control Service (ACS)-based authentication on June 22, 2018. To provide customers sufficient time to update their application code, we are providing 12 months’ notice to manage the necessary transition. What actions should you take? We recommend that you take the following actions prior to June 22, 2018 to ensure that your applications continue to work as expected: Update the code for your applications authored for Media Services. Migrate from ACS-based authentication. Begin using AAD-based authentication. Mitigation steps must be taken on or before June 22, 2018 to ensure your applications authored for Media Services using ACS authentication tokens will continue to function as expected without failures in production. Please review each of the new authentication scenarios below closely and take the appropriate action to update to using AAD authentication in your source code. The Azure Media Services REST API supports authentication for both interactive users and web API, middle-tier, or daemon applications. The following sections provide details on how to use AAD authentication when working directly with the REST API or through the .NET client library. User Authentication with AAD in Media Services If you are looking to build a management application for your Azure Media Services account like the Azure Media Services Explorer tool, you can simply login with a User’s credentials that has been granted access to the Media Services Resource in the portal via the Access Control (IAM) blade. This type of solution is very useful when you want human interaction with the service that fits one of the following scenarios: Monitoring dashboard for your Encoding jobs Monitoring dashboard for your Live Streams Management application for desktop or mobile users to administer resources in a Media services account. A native application would first acquire an access token from Azure Active Directory and then use that access token to make all REST API calls. The following diagram shows a typical interactive application authentication flow. For a RESTAPI request to succeed, the calling user must be a “Contributor” or “Owner” of the Azure Media Services account it is trying to access. Unauthorized requests would fail with status code 401. If you see this failure, please double check that you have configured your user as “Contributor” or “Owner” on the Media Services account. You can check this through the Azure portal by searching for your media account and clicking on “Access control” tab. Users of the .NET client SDK for Media Services must upgrade to the latest version on Nuget (windowsazure.mediaservices version 4.0.0.4 or greater) to use AAD authentication for communicating with REST requests. The following example shows the differences between how to authenticate with the .NET client SDK previously using ACS and the new way that uses AAD credentials. NOTE: Applications will also need to update their references to include a new assembly “Microsoft.WindowsAzure.MediaServices.Client.Common.Authentication.dll” and add references to that namespace as well as reference to the “Microsoft.IdentityModel.Clients.ActiveDirectory” assembly to get access to the ITokenProvider interface. For more information and a detailed sample on using the .NET SDK with AAD see this overview and the available environment settings and constants.   DEPRECATED method of authenticating using ACS credentials // Create and cache Media Services credentials in a static class variable.
_cachedCredentials = new MediaServicesCredentials(
_mediaServicesAccountName,
_mediaServicesAccountKey,
“urn:windowsazuremediaservices”,
“https://wamsprodglobal001acs.accesscontrol.windows.net”);

// Used the cached credentials to create CloudMediaContext.
var mediaContext = new CloudMediaContext(_cachedCredentials);
mediaContext.Assets.FirstOrDefault();
New method of authenticating using AAD credentials and User authenticationvar tokenCredentials = new AzureAdTokenCredentials(“{YOUR AAD TENANT DOMAIN HERE}”, AzureEnvironments.AzureCloudEnvironment);
var tokenProvider = new AzureAdTokenProvider(tokenCredentials);
var mediaContext = new CloudMediaContext(new Uri(“YOUR REST API ENDPOINT HERE”), tokenProvider);
mediaContext.Assets.FirstOrDefault() // This would return a 401 unauthorized if you are not set up as an authorized user

The “AzureEnvironments.AzureCloudEnvironment” constant is a helper in the .NET SDK to get the right environment variable settings for a public Azure Data Center. It contains pre-defined environment settings for accessing Media Services in the public data centers only. For sovereign or government cloud regions, you can use the ” AzureChinaCloudEnvironment”, “AzureUsGovernmentEnvrionment”, or “AzureGermanCloudEnvironment” respectively.
A lot of the details regarding acquiring an AAD access token has been wrapped and simplified for you in the AzureAdTokenProvider and AzureAdTokenCredentials classes. For example, you do not need to provide the AAD authority, Media services Resource URI or native AAD application details. These are well known values that are already configured by the AAD access token provider class. If you are not using our .NET client SDK, it is recommended to use the ADAL Library to simplify the creation of the access token request using these parameters. The following values are used by default in the AzureAdTokenProvider and AzureAdTokenCredentials classes.
You also have the option of replacing the default implementation of the AzureAdTokenProvider with your own implementation.
AAD Service Principal Authentication in Media Services
For non-human interaction through daemon services, Web APIs, Consumer (mobile or desktop), and Web application, where interactive login or direct user management/monitoring of resources in the Media Services account is not required, you will need to first create an Azure Active Directory application in its own tenant.
Once it is created, you will have to give this application “Contributor” or “Owner” level access to the Media Services account in the Access Control (IAM) blade. Both steps can easily be done through the Azure Portal or through the Azure CLI, or PowerShell script. Note that for AAD resources, “Contributor” has the same access to the resource as “Owner” but only the “Owner” role can grant access to other users. Currently this version of the Media Services REST API does not provide RBAC at the entity level, but that is something we have on the roadmap for our future API update in the Fall. We have also provided the new “API Access” blade in your Media Services account to make it easy to generate the required application or select from an existing one.  If you would like to use x509 certificates instead or ClientID and ClientKey, you can reference the documentation for details on how to configure the SDK
The following examples show how a daemon application may use AAD web application credentials to authenticate requests with the REST service.

Deprecated way of authenticating using ACS credentials // Create and cache Media Services credentials in a static class variable.
_cachedCredentials = new MediaServicesCredentials(
_mediaServicesAccountName,
_mediaServicesAccountKey,
“urn:windowsazuremediaservices”,
“https://wamsprodglobal001acs.accesscontrol.windows.net”);

// Used the cached credentials to create CloudMediaContext.
var mediaContext = new CloudMediaContext(_cachedCredentials);

New way of authenticating with an AAD Service Principal and client symmetric keyvar tokenCredentials = new AzureAdTokenCredentials(“{YOUR AAD TENANT DOMAIN HERE}”, new AzureAdClientSymmetricKey(“{YOUR CLIENT ID HERE}”, “{YOUR CLIENT SECRET}”), AzureEnvironments.AzureCloudEnvironment);
var tokenProvider = new AzureAdTokenProvider(tokenCredentials);

var mediaContext = new CloudMediaContext(_mediaServicesApiServerUri, tokenProvider);mediaContext.Assets.FirstOrDefault();

Making it easy to get started with the new API Access Blade for Media Services
Azure Active Directory authentication could be complex for users unfamiliar with the details of AAD, so we wanted to make it very easy to get started with very little knowledge of AAD. For that reason, we are introducing a new “API Access” blade for Media Services accounts in the portal that will replace the previous ACS “Account keys” blade. We are also disabling the ability to rotate the ACS keys to promote users to update their code and move to AAD support.
The new API Access blade makes the process of connecting to Azure Media Services with AAD much simpler. When you first select the API Access blade, you will be presented with a choice of using either user authentication for human interactive management applications, or creating a Service Principal and AAD application for non-human interaction with the Media Services API.
 
When selecting the user based authentication option, you will see a new panel that contains all the Active Directory information needed to authenticate with the API. This includes the API endpoint that you need to call, along with the ClientID, Domain, and Resource.
 
For Service Principal authentication, you will see additional values and the ability to select from an existing AAD Application or create a new one directly in the panel.

When the Service Principal blade opens, it selects the first AAD application that meets the following criteria:

It is a registered AAD application
It has “Contributor” or “Owner” RBAC permissions on the account
After creating or selecting an AAD app, you will be able to create and copy a Key (Client Secret) and copy the Client ID (Application ID) which are required to get the access token in this scenario. In the blade, you can choose to “Create New” AAD Application, or select from an Existing one in your Subscription.  When selecting an existing one, you will see a new blade listing your existing applications to choose from.

Once you select from an existing application or create a new one, you will see additional buttons to “Manage Permissions” or “Manage Application”.  You can use these settings to open the AAD application management blade directly to perform management tasks such as changing keys or reply URL, or customizing the applications manifest.
Clicking on the Manage Application button will bring up the AAD application management blade which allow you to create Keys for use with the API using this application.

If you do not have permissions to create AAD apps in your Domain, the AAD app controls of the blade are not shown and a warning message is shown instead.
  Next Steps and Actions for Media Services Customers
We are very excited to be making the transition from the older ACS key based authentication to the more secure, flexible, and role-based Azure Active Directory service. All Azure Media Services customers should begin immediately to migrate to use the new AAD based authentication model by downloading the latest .NET SDK, or updating their existing REST based API calls.
In addition, we are working on a new version of our REST APIs with support for more client SDK languages with AAD authentication. More details on that updated API will come in a later blog post.
The key actions you should be taking today:

If you are using .NET, update to the latest SDK and migrate to AAD authentication.
Plan early for the deprecation of ACS authentication support in Media Services API. The older ACS authentication support will be shutting off officially on June 22, 2018.
Note on Java SDK and Open Source and Community driven client SDKs
If you are currently using the Java SDK or one of the many community or open source generated client SDKs for Media Services, you have a couple of options at this time.  The existing Java SDK for Media Services will be updated in the coming months to support AAD authentication for customers to immediately begin migration to.  For the open source libraries, since these are not supported directly by the Media Services team, you would need to work with the community SDK developer to prioritize updating the SDK to support AAD for your scenario. We also recommend that you stick with the community SDK a little longer, as we reach out to the developers and work with them to update their libraries.  In addition, we are working hard on an updated REST API (v3) that is coming out later this Fall with support for AutoRest generated client SDKs across PHP, Java, Python, and more which will support AAD authentication. We will be following up with more blog posts on migrating to the new v3 API and client SDKs when they are ready for preview.
Resources and Additional Documentation
For more details, sample code and specific scenario documentation, please refer to the following articles:

Use AAD auth to access the API
Use the Azure Portal to Manage AAD Auth
Access the Media Services API with .NET and AAD
Use the Azure CLI 2.0 to create and configure an AAD app
Use PowerShell to create and configure an AAD app 
Contact Us with Questions
As always, if you have any questions, comments, or feedback, please post a message or question to our MSDN Forum or use Stack Overflow. For direct support, please submit a support request through the Azure Portal. We are also available on Twitter via @MSFTAzureMedia.
Quelle: Azure

Trump Plays With A Drone And Meets With Emerging Tech Leaders

Pool / Getty Images

President Donald Trump met with a disparate group of startup founders, venture capitalists and public company executives on Thursday in a gathering that was meant to showcase how his administration will promote emerging technologies and entrepreneurship. In the final event of the White House’s “tech week,” the president cradled a four-propeller flying robot, engaged in a demonstration on 5G internet, and discussed how the government can better regulate and encourage investments in drones, web-connected devices, and 5G internet.

Fresh from an invigorating 70-minute speech in Cedar Rapids, Iowa, the night before, the president promised that his administration would give the US-based entrepreneurs assembled in the East Room “the competitive advantage” that they needed.

There have been “too many years of excessive government regulation,” said Trump. “We have had some regulation that has been so bad, so out of line, that it has really hurt our country.”

While Trump met with the leaders of Apple, Amazon, and other tech behemoths on Monday to discuss topics such as immigration and modernizing government infrastructure, Thursday’s gathering — organized by the Office of Science and Technology Policy and the US deputy chief technology officer, Michael Kratsios — was intended to be more forward-looking. “[There will be] technological revolutions that could improve every aspect of our lives and create vast new wealth for american workers and families and open up new frontiers in science, medicine and communication,” Trump said.

The attendees of Thursday’s meeting had convened earlier in the day in three separate discussions — one on commercial drones, one on web-connected devices and 5G internet, and a third on financing emerging tech. After closed-door discussions, attendees met with the president for about an hour before he departed — to tweet that he didn’t tape former FBI director James Comey, and to watch over the unveiling of the much-anticipated Senate health care bill.

No drones were flown in the White House.

Participants from the drone industry included Airspace CEO Jaz Banga, PrecisionHawk’s Michael Chasen, AirMap CEO Ben Marcus, and Kespry CEO George Mathew, who showed off one of his company’s robots and an accompanying video to the president. No drones were flown in the White House.

A notable pair of absentees from the drone discussion were Amazon, and Google's parent company Alphabet — two firms that have spent heavily on drone delivery research and development. While both companies were invited, neither sent a representative to Thursday’s emerging tech summit, two people in position to know told BuzzFeed News. Amazon CEO Jeff Bezos and Alphabet Chairman Eric Schmidt did attend Monday’s American Technology Council meeting.

One person familiar with the companies’ thinking, but who declined to be named, said that with so many events in Washington some firms did not send people to Thursday’s OSTP meeting because it felt like “too many senior execs are being pulled away from their day jobs.”

Spokespeople for Amazon and Google did not return a request for comment.

While venture capital firms including Lightspeed Ventures and New Enterprise Associates attended today’s event at the White House, a number of other prominent names from Silicon Valley did not. Sequoia Capital, Accel, Kleiner Perkins and Y Combinator all skipped out on the event despite getting invites. Spokespeople for all four firms declined comment, though one person close to Accel noted that the firm had “scheduling conflicts” for the day. Kleiner sent chairman John Doerr to Monday’s meeting with Trump and other tech CEOs.

Getty Images

Also in attendance was 500 Startup’s chief operating officer Aman Verjee, who came to the White House despite his colleague’s vocal opposition to the Trump administration. 500 Startups founder Dave McClure, who went on a much-publicized, profanity-laced rant following Trump’s election, explained to BuzzFeed News that the company decided “it would be best to have someone in contact with the administration, even if we generally oppose most of their policies.”

500 Startups “talked it over a lot before we committed,” McClure said in a text message. ”Definitely some strong opinions.”

AT&T Randall Stephenson, who arrived late to the meeting, also gave Trump a demonstration on the advantage of 5G Internet using a small city model complete with lights. Joined by executives from other companies including T-Mobile, Sprint and Verizon, Stephenson preached the importance of government support for wireless infrastructure.

And despite heavily criticizing a proposed merger between AT&T and Time Warner just months ago, Trump commended Stephenson’s work, saying that “most companies would have disappeared” under the regulatory environment of his White House predecessor.

Trump also praised Jeff Immelt, who recently announced that he was stepping down as CEO of General Electric after 16 years.

“That’s a long time,” Trump said. “I’ve done deals with that company when you were there.”

Quelle: <a href="Trump Plays With A Drone And Meets With Emerging Tech Leaders“>BuzzFeed

Uber Employees Are Circulating A Petition To Reinstate Travis Kalanick

Uber employees are circulating a petition to reinstate Travis Kalanick as chief executive, two days after his resigned following months of scrutiny.

Managers are sending the petition to employees, according to sources at the company and a screenshot provided to BuzzFeed News. “Uber is TK and TK is Uber,” the note reads, referring to Kalanick's internal nickname.

“TK, no matter his flaws (everyone has them) was one of the best leaders I have seen,” the email continues.

The email also said employees should contact Uber board members Arianna Huffington and Garrett Camp, as well as former member Bill Gurley, to let them know they are unhappy that Kalanick resigned.

“A lot of people are extremely loyal to and in the cult of personality he had,” one engineer told BuzzFeed News.

Another employee told BuzzFeed News the petition was “ridiculous,” and that “TK knew there were cultural problems and ignored it.” Asked if this employee would sign the petition, the person said “hell no.”

Kalanick's resignation came one week after he said he would take a leave of absence and return as “Travis 2.0 to become the leader that this company needs and that you deserve.”

An Uber spokesman did not immediately return a request for comment.

Quelle: <a href="Uber Employees Are Circulating A Petition To Reinstate Travis Kalanick“>BuzzFeed

Building an Azure Analysis Services Model for Azure Blobs — Part 3

The third and final part of the article series “Building an Azure Analysis Services Model on Top of Azure Blob Storage” has been published on the Analysis Services team blog. It shows that an Azure Analysis Services S9 server can successfully ingest more than 1,000 source files in a 1-terabyte TPC-DS data set stored in Azure Blob Storage in less than 12 hours. Among other things, Part 3 demonstrates how to analyze the memory consumption of the model and how to optimize model size and processing times. This part also discusses the advantages of more sophisticated data sources, such as Azure SQL Data Warehouse, over Azure Blob Storage for reducing the data volume that must be transferred to Azure Analysis Services for processing. Thanks to the modern Get Data experience, you can build a flexible data import pipeline directly in a Tabular model and import even very large data sets with reasonable processing times.

 

Read the full article “Building an Azure Analysis Services Model on Top of Azure Blob Storage”.
Quelle: Azure

Profile Picture Robbery Is So Bad In India That Facebook Is Letting People Block Screenshots

That shiny blue shield isn’t going to stop creepy exes, though.

Facebook is rolling out a brand new feature called “profile picture guard” for users in India. Here’s what it looks like when you activate it.

Facebook is rolling out a brand new feature called “profile picture guard” for users in India. Here’s what it looks like when you activate it.

My Facebook profile

In a blog post published on Wednesday, Facebook said it came up with the feature after the company’s research found that some women in India didn’t share profile pictures with faces because they were concerned they might be misused.

In a blog post published on Wednesday, Facebook said it came up with the feature after the company’s research found that some women in India didn't share profile pictures with faces because they were concerned they might be misused.

Facebook

• Other people will no longer be able to download, share or send your profile picture in a message on Facebook
• People you’re not friends with on Facebook won’t be able to tag anyone, including themselves, in your profile picture
• Where possible, we’ll prevent others from taking a screenshot of your profile picture on Facebook, which is currently available only on Android devices
• We’ll display a blue border and shield around your profile picture as a visual cue of protection

The world's largest social network said it may expand the “profile picture guard” to other countries, depending on its experience with the feature in India.

This is what happens when someone with the latest version of the Facebook app on an Android phone tries to sneak-shot your profile picture if you have this feature enabled:

This is what happens when someone with the latest version of the Facebook app on an Android phone tries to sneak-shot your profile picture if you have this feature enabled:

~However~ we tested this with multiple Android phones and found that some people were able to take screenshots of profile pictures, blue shield be damned. A Facebook spokesperson told BuzzFeed News that this was because it was rolling out the feature in phases, and that it should work for everyone in India within a few weeks.

BuzzFeed News


View Entire List ›

Quelle: <a href="Profile Picture Robbery Is So Bad In India That Facebook Is Letting People Block Screenshots“>BuzzFeed