エクスポート (0) 印刷
すべて展開

ACS でサポートされているトークン形式

発行: 2011年4月

更新日: 2014年2月

適用対象: Azure

Web アプリケーションやサービスで Microsoft Azure Active Directory アクセス制御 (アクセス制御サービスまたは ACS) により認証を処理する場合、クライアントがアプリケーションまたはサービスにログインするには、ACS によって発行されるセキュリティ トークンを取得する必要があります。ACS は、次の形式でセキュリティ トークンを発行できます。

noteメモ
ACS は、次の形式のいずれかでセキュリティ トークンを発行できます。ACS が Web アプリケーションまたはサービスに使用するトークン形式は、証明書利用者アプリケーションの構成によって決定されます。証明書利用者アプリケーションの構成については、「証明書利用者アプリケーション」を参照してください。

SAML (Security Assertion Markup Language) は、シングル サインオン (SSO) および要求ベース ID に今日使用されているトークンの中で最も古く、最も一般的な形式です。SAML では、SAML トークンを使用した Web アプリケーションまたは Web サービス SSO を実行するために、プロトコルだけでなくトークンについても XML 形式を指定します。SAML トークンの詳細については、「SAML の仕様 (http://go.microsoft.com/fwlink/?LinkID=213719)」を参照してください。

noteメモ
SAML 1.1 と SAML 2.0 のトークンは、Windows Identity Foundation (http://go.microsoft.com/fwlink/?LinkID=213729) などのさまざまな開発プラットフォームによって幅広くサポートされています。

次に、SAML トークンの例を示します。


<saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" AssertionID="uuid-fa8f21f6-1f80-4a23-8744-8fe63ad3b56f" IssueInstant="2011-03-10T02:04:26Z" Issuer="uri:WindowsLiveID" MajorVersion="1" MinorVersion="1">
<saml:Conditions NotBefore="2011-03-10T02:04:26Z" NotOnOrAfter="2011-03-10T10:04:26Z">
<saml:AudienceRestrictionCondition>
<saml:Audience>accesscontrol.windows.net</saml:Audience>
</saml:AudienceRestrictionCondition>
</saml:Conditions>
<saml:AuthenticationStatement AuthenticationInstant="2011-03-10T02:04:26Z" AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password">
<saml:Subject>
<saml:NameIdentifier Format="http://schemas.xmlsoap.org/claims/UPN">XXXXXXXXX@Live.com</saml:NameIdentifier></saml:Subject>
</saml:AuthenticationStatement>
<saml:AttributeStatement>
<saml:Subject>
<saml:NameIdentifier Format="http://schemas.xmlsoap.org/claims/UPN">XXXXXXXXX@Live.com</saml:NameIdentifier>
</saml:Subject>
<saml:Attribute AttributeName="Managed" AttributeNamespace="http://schemas.xmlsoap.org/claims">
<saml:AttributeValue>FALSE</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="Child" AttributeNamespace="http://schemas.xmlsoap.org/claims">
<saml:AttributeValue>FALSE</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="TOUAccepted" AttributeNamespace="http://schemas.xmlsoap.org/claims">
<saml:AttributeValue>TRUE</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="CID" AttributeNamespace="http://schemas.xmlsoap.org/claims">
<saml:AttributeValue>d55dea3aae96e63e</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="EmailAddress" AttributeNamespace="http://schemas.xmlsoap.org/claims">
<saml:AttributeValue>example@contoso.com</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="PUID" AttributeNamespace="http://schemas.xmlsoap.org/claims">
<saml:AttributeValue>00000000000000123</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></CanonicalizationMethod>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod>
<Reference URI="#uuid-fa8f21f6-1f80-4a23-8744-8fe63ad3b56e">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></Transform>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></Transform>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod>
<DigestValue>zMqHsRnM6/UG72tqenBM3NWHoFk=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>UlUruV...=</SignatureValue>
<KeyInfo>
<X509Data>
<X509SKI>H1D81qy0njcaeJ3fI6gkn6N/jpA=</X509SKI>
</X509Data>
<KeyName>Windows Live ID</KeyName>
</KeyInfo>
</saml:Assertion>

SWT (Simple Web Token) トークンは、SimpleWebToken 仕様に準拠しています。SWT トークンは、暗号化キーで署名された、フォームエンコード形式のキー/値ペアで表されます。この仕様では、一部のキー/値ペアが存在していることが必須ですが、アプリケーション固有のキー/値ペアを使用する余地もあります。次の表に、ACS によって発行された SWT トークンに常に存在するキーを示します。

 

キー 説明

Issuer

トークンを発行した ACS サービスの名前空間 を表します。この値のパターンは https://<servicenamespace>.accesscontrol.windows.net/ です。

Audience

トークンの要求に使用される applies_to の値です。この値は、HTTP または HTTPS の URI です。

ExpiresOn

トークンの有効期限が切れるエポック時間です。

HMACSHA256

他のすべてのキー/値ペアの HMACSHA256 署名です。このキー/値ペアは、常にトークンの最後のキー/値ペアです。他のキー/値ペアのフォームエンコード形式の表現 (アプリケーション固有の要求など) が署名されます。

これらのキー/値ペアに加えて、ACS により、発行前に 1 つ以上の要求がトークンに追加されます。これらの要求は、トークン要求時に、ACS に存在する規則構成によって駆動されます。このような要求のすべてに、タイプと 1 つ以上の値があります。タイプと値は、いずれも文字列です。要求に 2 つ以上の値が含まれている場合、それらの値はコンマ (,) 文字で区切られます。要求は、先ほどの表で示したキー/値ペアと同じように、キー/値ペアとしてエンコードされます。

キー/値ペアとして表される要求を含む ACS トークンの例を次に示します。

Audience=http%3a%2f%2flocalhost%2fmyservice&ExpiresOn=1255913549Issuer=https%3a%2f%2fmyservice.accesscontrol.windows.net%2f&role=Admin%2cUser&role=Admin%2cUser&&HMACSHA256=sT7Hr9z%2b3t1oDFLpq5GOToVsu6Dyxpq7hHsSAznmwnI%3d

HMACSHA256 キー/値ペアを除き、これらのペアは任意の順序で並べることができます。次の ACS トークンは、署名が異なることを除けば、前の ACS トークンと同じです。

role=Admin%2cUser&customerName=Contoso%20Corporation&Issuer=https%3a%2f%2fmyservice.accesscontrol.windows.net%2f&Audience=http%3a%2f%2flocalhost%2fmyservice&ExpiresOn=1255912922&HMACSHA256=yuVO%2fwc58%2ftYP36%2fDM1mS%2fHr0hswpsGTWwgfvAbpL64%3d

次の表に、トークンの内容を URL デコード値と共に示します。

 

ソース キー URL エンコード値 URL デコード値

ユーザー定義の要求

role

Admin%2cUser

Admin,User

customerName

Contoso%20Corporation

Contoso Corporation

システム定義の要求

Issuer

https%3a%2f%2fmyservice.accesscontrol.windows.net%2f

https://myservice.accesscontrol.windows.net/

Audience

http%3a%2f%2flocalhost%2fmyservice

http://localhost/myservice

ExpiresOn

1255912922

1255912922

HMACSHA256

yuVO%2fwc58%2ftYP36%2fDM1mS%2fHr0hswpsGTWwgfvAbpL64%3d

yuVO/wc58/tYP36/DM1mS/Hr0hswpsGTWwgfvAbpL64=

SAML 2.0、SAML 1.1、または SWT のトークンが発行されると、ACS はさまざまな標準プロトコルを使用して、トークンを Web アプリケーションまたはサービスに返します。ACS は、トークン形式とプロトコルの次の組み合わせをサポートしています。

  • ACS は、トークン要求で使用されているプロトコルに応じて、WS-Trust プロトコルおよび WS-Federation プロトコル上で SAML 2.0 トークンを発行して返すことができます。

  • ACS は、トークン要求で使用されているプロトコルに応じて、WS-Federation プロトコルおよび関連する WS-Trust プロトコル上で SAML 1.1 トークンを発行して返すことができます。

  • ACS は、トークン要求で使用されているプロトコルに応じて、WS-Federation プロトコル、WS-Trust プロトコル、OAuth WRAP プロトコル、または OAuth 2.0 プロトコル上で SWT トークンを発行して返すことができます ()。

関連項目

コミュニティの追加

表示:
© 2014 Microsoft