SAML ベースの SSO を設定する
セキュリティ アサーション マークアップ言語 (SAML) は、パーティ間で認証/認可データを交換して ID プロバイダーとサービス プロバイダーを指定するための XML 標準です。Opsgenie は SAML モデルを使用してサービス プロバイダーとして機能し、SAML 2.0 ベースのシングル サインオンをサポートして異なる ID プロバイダーを介してユーザーを認証します。
Learn more about configuring SSO for Opsgenie to take a look at identity provider partners, the requirements to enable Single Sign-On for authentication, and how to configure and use Single Sign-On solution.
現在パートナーではないものも含めて、任意の ID プロバイダーを使用してシングル サインオン ソリューションを有効化できます。
SAML 2.0 ベースの SSO インテグレーションの設定
The order of the instructions below may vary by the identity provider. Contact us for any further assistance or problems you may encounter while setting up SSO integration with your identity provider.
Opsgenie から、[設定] → [Login and SSO (ログインと SSO)] の順に移動します。ID プロバイダーとして SAML を選択します。
ID プロバイダーで Opsgenie の SAML ID を指定する必要がある場合は (オーディエンスまたはターゲット URL とも呼ばれる)、フィールド [ID] の値を使用します。
ID プロバイダーのコンシューマー URL (SSO エンドポイントまたは受信者 URL とも呼ばれる) として、フィールド [SAML 2.0 サービス URL] の値を使用します。
ID プロバイダーからシングル サインオン (SSO) エンドポイントを取得して、この URL を [SAML 2.0 エンドポイント] フィールドに貼り付けます。
ID プロバイダーがシングル ログアウト (SLO) をサポートしている場合は、次の手順に従います。
ID プロバイダーから SLO エンドポイントを取得して、この URL を [SLO Endpoint (SLO エンドポイント)] フィールドに貼り付けます。
SAML 2.0 サービス ログアウト URL を ID プロバイダーの SLO エンドポイントのフィールドに貼り付けます。
X.509 証明書をエクスポートしてその内容をコピーし、この証明書の値を [X.509 Certificate (X.509 証明書)] フィールドに貼り付けます。
[Enable Single Sign-on (シングル サインオンを有効にする)] フィールドをチェックして、[Apply SSO Changes (SSO 変更を適用)] をクリックします。
これで、ID プロバイダーのディレクトリ内にいるユーザーは、ディレクトリ資格情報を使用して SSO 経由で Opsgenie でログインできます。
Opsgenie エンドポイント
SAML ID/オーディエンス/ターゲット URL: Opsgenie アカウントの SSO 設定から [ID] フィールドをコピーします。
アサーション コンシューマー URL/Opsgenie SSO エンドポイント:
https://app.opsgenie.com/auth/saml?id=<saml_id>
ここで、<saml_id> は Opsgenie アカウントごとに一意です。
Opsgenie アカウントから [設定] → [Login and SSO (ログインと SSO)] の順に移動して、これらのエンドポイントを見つけます。
Opsgenie SAML 属性
Opsgenie は、ID プロバイダーへの認証リクエストを実行する際に、次の属性と値を使用します。
バージョン:
2.0
AssertionConsumerServiceURL:
https://app.opsgenie.com/auth/saml?id=<saml_id>
(これは Opsgenie SSO エンドポイントです)
発行者:
https://app.opsgenie.com/auth/saml
または
https://app.opsgenie.com/auth/saml?id=<saml_id>
(Opsgenie SAML 識別子) Opsgenie 設定ページをご参照ください。
NameIDPolicy:
フォーマット:
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
AllowCreate:
true
ProtocolBinding:
urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
SAML を使用した Opsgenie による検証と義務付け
サポート対象の SAML バージョンは 2.0 のみ
名前 ID の形式は次のようになります。
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
(ID プロバイダーのユーザーのメール アドレスでもある名前 ID は、ユーザーの Opsgenie ユーザー名と同じである必要があります)
クレームの暗号化証明書を使用しないでください。
Opsgenie が IdP に送信する samlRequest
テキスト
<samlp:AuthnRequest
xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
ID="_950adbf4-34fe-492b-91d9-b6418feb56eb"
Version="2.0" IssueInstant="2017-08-17T15:29:46Z"
AssertionConsumerServiceURL="https://app.opsgenie.com/auth/saml?id=SSO_ID"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">https://app.opsgenie.com/auth/saml</Issuer>
<samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" AllowCreate="true"/>
</samlp:AuthnRequest>
上記の XML コンテンツは、Opsgenie が Samlv2.0 プロトコルに従ってエンコードされた Base 64 Encoded、Deflated、URL として IdP に提供する SAML リクエストです。ID プロバイダーは、このコンテンツを処理できる必要があります。SSO_ID は、Opsgenie が生成して SSO ページ内で提供する一意の識別子を表します。以下に示すのは一例です。AssertionConsumerServiceURL 値:
https://app.opsgenie.com/auth/saml?id=53bd8491-ef30-4d3e-92ed-bec8f09188bc
Opsgenie が IdP から受け取る SAMLResponse の例
テキスト
<samlp:Response
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="Ref34f454eda06982d99753378d61a2c21d160514"
Version="2.0"
IssueInstant="2017-08-16T13:41:51Z"
Destination="https://app.opsgenie.com/auth/saml"
InResponseTo="_5b7d882a-c1b0-4c6a-99e7-6c62ec267059">
<saml:Issuer>https://app.onelogin.com/saml/metadata/692790</saml:Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
</samlp:Status>
<saml:Assertion
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="2.0" ID="pfxb2557bd0-0985-4bee-e1b7-be41c3f3f8c0" IssueInstant="2017-08-16T13:41:51Z">
<saml:Issuer>https://app.onelogin.com/saml/metadata/692790</saml:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<ds:Reference URI="#pfxb2557bd0-0985-4bee-e1b7-be41c3f3f8c0">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<ds:DigestValue>NCvDMpITKYjYhSP0xHVFJNOUjpg=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>HIQ/cvi6G6NoKCbDPTk9JugLhdGG3/VGGXGfS870M6aVOX09CTo9CCjZsdjmE7V8Tzf6GznR2B1cSBAvSVuVvMNqyrae6MxE+JIaCzyyKwhVmDEJyoWYXNK9VL8Kkfy4TROccW3D8eP6RKdC81TG1pUpqFWg3qczPLWdAEEAnBzfHDsGYg4x4KBCGDrx5YQsuV/qTi625tCJbUBezAfE9yut9D1GrHq5R2Sx+Sg07beqDlmHHRlUD4PEDjIQuHW5qfAabLit89JOsAdBrb2YkL6mYB3IhyuwQqVSZAIcYZlMnWHRMDnzg0axK4AwXpfs5xzokY3cG8aSIG5ylGs2nQ==</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>MIIEGjCCAwKgAwIBAgIUCzEy6NwCyLnG97HMVhLgzAZ9gy4wDQYJKoZIhvcNAQEFBQAwWTELMAkGA1UEBhMCVVMxETAPBgNVBAoMCE9wc0dlbmllMRUwEwYDVQQLDAxPbmVMb2dpbiBJZFAxIDAeBgNVBAMMF09uZUxvZ2luIEFjY291bnQgMTEyMzQ2MB4XDTE3MDgxNTEyNDMzOVoXDTIyMDgxNjEyNDMzOVowWTELMAkGA1UEBhMCVVMxETAPBgNVBAoMCE9wc0dlbmllMRUwEwYDVQQLDAxPbmVMb2dpbiBJZFAxIDAeBgNVBAMMF09uZUxvZ2luIEFjY291bnQgMTEyMzQ2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvL5F9mMqveYJxUCk9yjGkg86FXinV6R70l2+nU5qZ+pOUoyzkeYziCcpgKKVPMGo5XUkkFcM5/BoLQB/t2XcRuBrGRIzKGzoushHHTVophVdQL2T6PvgXppr8TDMQ8YgvTf1mRxWlPxWVxR7QEZd3e+AKXyUZHTHEeay9UcPcRl9jvEp5MUZ0Gu3OjHVWoL4Vh1OMU+QKYXSk7zmdZ4/yRKq3mGJ8g9QLzRPvA39GRUXX4Qi34sjrRCK3A4bomylJPPU4gJKg0beFJmQJfAKQNHyvh43TF8Ry0trLsyJznkixxY6+q5EUeXc21B71XaVRpxKTRgjLIMkPtrlxr1YzwIDAQABo4HZMIHWMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFGc92CPSudOTjh2a/npNa/xeHOJFMIGWBgNVHSMEgY4wgYuAFGc92CPSudOTjh2a/npNa/xeHOJFoV2kWzBZMQswCQYDVQQGEwJVUzERMA8GA1UECgwIT3BzR2VuaWUxFTATBgNVBAsMDE9uZUxvZ2luIElkUDEgMB4GA1UEAwwXT25lTG9naW4gQWNjb3VudCAxMTIzNDaCFAsxMujcAsi5xvexzFYS4MwGfYMuMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQUFAAOCAQEAkdAjPRq5J7+RU3BBs2INT3SG/KMCJ+W/p5xHgkdQYuuucoBFVysUBN2x+66Njn/3bqsAgq2966sRJLOeaXBjtAcwHSOfu05LIGHxvfx8ZURHFF2U9+TupVXPf00Nza9BQ62w0jSPeo7+uvdm2iZnKdi1vHbhnjVzwT1+hDWXCBbN9SCxs+1ah6wF6IETXg84MSEB3ET2fM8PhNHdRjd78AHWqeJuFXpmkaXc8FnF3f8LDZF5w5p724e+5UAc75gSlknbUY5lnDzcp1zJHRvgMm+Kf8aAPWoZRyvAK2/O68navBLFrOiP9yqqowJWboMGJDKRpOPE0J48i2yTrRXT5g==</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">USER_LOGIN_E_MAIL_ADDRESS</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData NotOnOrAfter="2017-08-16T13:44:51Z" Recipient="https://app.opsgenie.com/auth/saml" InResponseTo="_5b7d882a-c1b0-4c6a-99e7-6c62ec267059" />
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions NotBefore="2017-08-16T13:38:51Z" NotOnOrAfter="2017-08-16T13:44:51Z">
<saml:AudienceRestriction>
<saml:Audience>https://app.opsgenie.com/auth/saml</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
</saml:Assertion>
</samlp:Response>
USER_LOGIN_E_MAIL_ADDRESS は、認証しているユーザーのログイン メール アドレス (ユーザー名) です。
参考
OASIS Security Assertion Markup Language (SAML; セキュリティ アサーション マークアップ言語) V2.0 のアサーションとプロトコル
この内容はお役に立ちましたか?