メニュー
AWS Identity and Access Management
ユーザーガイド

認証レスポンスの SAML アサーションを設定する

組織内でユーザーの ID が確認されたら、IdP は AWS SAML エンドポイント(https://signin.aws.amazon.com/saml)に認証レスポンスを送信します。このレスポンスは、HTTP POST Binding for SAML 2.0 標準に従った SAML トークンを含み、さらに以下の要素またはクレームを含む POST リクエストでなくてはいけません。これらのクレームを SAML 互換 IdP に設定します。これらのクレームの入力方法については、IdP のドキュメントを参照してください。

IdP が AWS へのクレームを含むレスポンスを送信すると、多くの受信クレームは AWS コンテキストキーにマッピングされます。これらのコンテキストキーは Condition 要素を使用して IAM ポリシーにチェックインすることができます。使用可能なマッピングの一覧は、「SAML 属性の AWS 信頼ポリシーコンテキストキーへのマッピング」に掲載されています。

Subject および NameID

例を以下に示します。マークされた値を独自の値に置き換えます。NotOnOrAfter 属性と Recipient 属性の両方が含まれる SubjectConfirmationData 要素を持つ SubjectConfirmation 要素が 1 つだけ必要です。これらの属性内の値は、以下の例に示すように、AWS エンドポイント (https://signin.aws.amazon.com/saml) と一致している必要があります。シングルサインオンのやり取りでサポートされている名前の識別子の形式については、Oracle Sun OpenSSO エンタープライズ管理リファレンスを参照してください。

<Subject> <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">_cbb88bf52c2510eabe00c1642d4643f41430fe25e3</NameID> <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <SubjectConfirmationData NotOnOrAfter="2013-11-05T02:06:42.876Z" Recipient="https://signin.aws.amazon.com/saml"/> </SubjectConfirmation> </Subject>
AudienceRestriction および Audience

セキュリティ上の理由から、IdP が AWS に送信する SAML アサーションに AWS を対象者として含める必要があります。したがって、Audience 要素の値は、https://signin.aws.amazon.com/saml または urn:amazon:webservices のどちらかと一致する必要があります。次の SAML アサーションからの XML スニペットの例は、このキーを IdP で指定する方法を示しています。どちらかのサンプルがお客様のユースケースに適用されます。

<Conditions> <AudienceRestriction> <Audience>https://signin.aws.amazon.com/saml</Audience> </AudienceRestriction> </Conditions>
<Conditions> <AudienceRestriction> <Audience>urn:amazon:webservices</Audience> </AudienceRestriction> </Conditions>

重要

IdP からの SAML アサーションの SAML AudienceRestriction 値は、IAM ポリシーでテストできる saml:aud コンテキストキーにはマッピングされません。代わりに、SAML の受信者属性から saml:aud コンテキストキーがマッピングされます。これは、accounts.google.com:aud など、OIDC の [audience] フィールドに等しい SAML であるためです。

Name 属性が https://aws.amazon.com/SAML/Attributes/Role に設定された Attribute 要素

この要素は、1 つ以上の AttributeValue 要素を含み、IdP によってユーザーがマッピングされている IAM ロールおよび SAML ID プロバイダーを列挙します。ロールと ID プロバイダーは、カンマ区切りの ARN ペアとして指定します。このときの形式は、AssumeRoleWithSAML に渡す RoleArn および PrincipalArn パラメータで使用する形式と同じです。この要素には、最低 1 つのロールとプロバイダーのペア (最低 1 つの AttributeValue 要素) を含める必要があり、複数のペアを含めることができます。要素に複数のペアを含める場合、ユーザーが WebSSO を使用して AWS マネジメントコンソールにサインインすると、引き受けるロールを選択する画面が表示されます。

重要

Attribute タグの Name 属性の値は大文字と小文字が区別されます。これは厳密に https://aws.amazon.com/SAML/Attributes/Role に設定する必要があります。

<Attribute Name="https://aws.amazon.com/SAML/Attributes/Role"> <AttributeValue>arn:aws:iam::account-number:role/role-name1,arn:aws:iam::account-number:saml-provider/provider-name</AttributeValue> <AttributeValue>arn:aws:iam::account-number:role/role-name2,arn:aws:iam::account-number:saml-provider/provider-name</AttributeValue> <AttributeValue>arn:aws:iam::account-number:role/role-name3,arn:aws:iam::account-number:saml-provider/provider-name</AttributeValue> </Attribute>
Name 属性が https://aws.amazon.com/SAML/Attributes/RoleSessionName に設定された Attribute 要素

この要素には SSO 用に発行される一時的な AWS 認証情報用の識別子を提供する 1 つの AttributeValue 要素が含まれています。この要素は、AWS マネジメントコンソールでユーザー情報を表示するときに使用されます。AttributeValue 要素の値は 2~64 文字で、英数字、アンダースコア、および + (プラス記号)、= (等号)、, (カンマ)、. (ピリオド)、@ (アットマーク)、および - (ハイフン) のみを含めることができます。スペースを含めることはできません。通常、この値はユーザー ID (bobsmith) またはメールアドレス (bobsmith@example.com) です。ユーザーの表示名 (Bob Smith) のように、スペースを含む値とすることはできません。

重要

Attribute タグの Name 属性の値は大文字と小文字が区別されます。これは厳密に https://aws.amazon.com/SAML/Attributes/RoleSessionName に設定する必要があります。

<Attribute Name="https://aws.amazon.com/SAML/Attributes/RoleSessionName"> <AttributeValue>user-id-name</AttributeValue> </Attribute>
SessionDuration 属性が https://aws.amazon.com/SAML/Attributes/SessionDuration に設定された、オプションの Attribute 要素

この要素には、ユーザーが新しい一時的な認証情報をリクエストする前に、ユーザーが AWS マネジメントコンソールにアクセスできる時間を指定する 1 つの AttributeValue 要素が含まれます。値は、セッションの秒数を表す整数です。値の範囲は 900 秒 (15 分) から 43200 秒 (12 時間) です。この属性が存在しない場合は、認証情報は 1 時間有効です (AssumeRoleWithSAML API の DurationSeconds パラメータのデフォルト値)。

この属性を使用するには、https://signin.aws.amazon.com/saml でコンソールのサインインウェブエンドポイントを通じて AWS マネジメントコンソール へのシングルサインオンアクセスを提供する SAML プロバイダーを設定する必要があります。 この属性が AWS マネジメントコンソール にのみセッションを拡張することに注意してください。 他の認証情報の存続期間を延長することはできません。 ただし、AssumeRoleWithSAML API コール内に存在する場合、デフォルトの 60 分未満の呼び出しによって返される、認証情報の存続期間を短縮するために使用できます。

SessionNotOnOrAfter 属性も定義されている場合、SessionDuration または SessionNotOnOrAfter の 2 つの属性の小さい方の値によってコンソールセッションの最大継続時間が確立されることにも注意してください。

コンソールセッションを拡張された期間有効にする場合、認証情報が侵害されるリスクが高まります。 このリスクを軽減するには、IAM コンソールの [Role Summary] ページで、[Revoke Sessions] を選択して、どのロールのアクティブなコンソールセッションもすぐに無効にできます。 詳細については、「IAM ロールの一時的なセキュリティ認証情報の取り消し」を参照してください。

重要

Attribute タグの Name 属性の値は大文字と小文字が区別されます。これは厳密に https://aws.amazon.com/SAML/Attributes/SessionDuration に設定する必要があります。

<Attribute Name="https://aws.amazon.com/SAML/Attributes/SessionDuration"> <AttributeValue>1800</AttributeValue> </Attribute>

SAML 属性の AWS 信頼ポリシーコンテキストキーへのマッピング

このセクションの表では、よく使用される SAML 属性や、それらと AWS の信頼ポリシー条件コンテキストキーのマッピングを一覧で示します。これらのキーを使用して、ロールにアクセスするための SAML リクエストに付随する、アサーションに含まれる値と照らして評価することによって、ロールへのアクセスを制御できます。

重要

これらのキーは、IAM 信頼ポリシー (誰がロールを利用するかを定義するポリシー) でのみ利用でき、アクセス権限ポリシーには適用できません。

eduPerson および eduOrg 属性の表では、値は文字列または文字列のリストとして型付けされています。文字列値の場合、StringEquals または StringLike 条件を使用して、IAM 信頼ポリシーでこれらの値をテストできます。 文字列のリストを含む値の場合、ForAnyValue および ForAllValues ポリシーセット演算子を使用して、信頼ポリシーで値をテストできます。

注記

AWS コンテキストキーごとに含めることができるクレームは 1 つだけです。複数含めた場合は、1 つのクレームのみが対応付けられます。

eduPerson 属性と eduOrg 属性

eduPerson 属性または eduOrg 属性 (Name キー) この AWS コンテキストキー (FriendlyName キー) へのマッピング タイプ

urn:oid:1.3.6.1.4.1.5923.1.1.1.1

eduPersonAffiliation

文字列のリスト

urn:oid:1.3.6.1.4.1.5923.1.1.1.2

eduPersonNickname

文字列のリスト

urn:oid:1.3.6.1.4.1.5923.1.1.1.3

eduPersonOrgDN

文字列

urn:oid:1.3.6.1.4.1.5923.1.1.1.4

eduPersonOrgUnitDN

文字列のリスト

urn:oid:1.3.6.1.4.1.5923.1.1.1.5

eduPersonPrimaryAffiliation

文字列

urn:oid:1.3.6.1.4.1.5923.1.1.1.6

eduPersonPrincipalName

文字列

urn:oid:1.3.6.1.4.1.5923.1.1.1.7

eduPersonEntitlement

文字列のリスト

urn:oid:1.3.6.1.4.1.5923.1.1.1.8

eduPersonPrimaryOrgUnitDN

文字列

urn:oid:1.3.6.1.4.1.5923.1.1.1.9

eduPersonScopedAffiliation

文字列のリスト

urn:oid:1.3.6.1.4.1.5923.1.1.1.10

eduPersonTargetedID

文字列のリスト

urn:oid:1.3.6.1.4.1.5923.1.1.1.11

eduPersonAssurance

文字列のリスト

urn:oid:1.3.6.1.4.1.5923.1.2.1.2

eduOrgHomePageURI

文字列のリスト

urn:oid:1.3.6.1.4.1.5923.1.2.1.3

eduOrgIdentityAuthNPolicyURI

文字列のリスト

urn:oid:1.3.6.1.4.1.5923.1.2.1.4

eduOrgLegalName

文字列のリスト

urn:oid:1.3.6.1.4.1.5923.1.2.1.5

eduOrgSuperiorURI

文字列のリスト

urn:oid:1.3.6.1.4.1.5923.1.2.1.6

eduOrgWhitePagesURI

文字列のリスト

urn:oid:2.5.4.3

cn

文字列のリスト

Active Directory の属性

AD 属性 この AWS コンテキストキーへのマッピング タイプ

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

name

文字列

http://schemas.xmlsoap.org/claims/CommonName

commonName

文字列

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname

givenName

文字列

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname

surname

文字列

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

mail

文字列

http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid

uid

文字列

X.500 属性

X.500 属性 この AWS コンテキストキーへのマッピング タイプ

2.5.4.3

commonName

文字列

2.5.4.4

surname

文字列

2.4.5.42

givenName

文字列

2.5.4.45

x500UniqueIdentifier

文字列

0.9.2342.19200300100.1.1

uid

文字列

0.9.2342.19200300100.1.3

mail

文字列

0.9.2342.19200300.100.1.45

organizationStatus

文字列