Oracle Identity Cloud Serviceのフェデレート
このトピックでは、テナンシをアクティブ化したタイミングに応じて、Oracle Cloud InfrastructureをOracle Identity Cloud Serviceとフェデレートするための適切なトピックを示します。
2018年12月21日およびそれ以降に作成されたテナンシ
これらのテナンシは、Oracle Identity Cloud Serviceに自動的にフェデレートされ、Oracle Cloud Infrastructureでフェデレーテッド・ユーザーをプロビジョニングするように構成されます。
フェデレーテッド・ユーザーおよびグループを管理するには、Oracle Cloud InfrastructureコンソールでのOracle Identity Cloud Serviceユーザーおよびグループの管理を参照してください。
フェデレーションの詳細は、Oracle Identity Cloud Serviceフェデレーテッド・ユーザーの詳細を参照してください。
2017年12月18日から2018年12月20日の間に作成されたテナンシ
これらのテナンシは、Oracle Identity Cloud Serviceと自動的にフェデレートされますが、ユーザーが追加の資格証明(APIキー、認証トークンなど)を使用できるようにOracle Cloud Infrastructureでフェデレーテッド・ユーザーをプロビジョニングするように構成されていません。
ユーザーに対してこの機能を有効にするには、1回かぎりのアップグレードを実行する必要があります。フェデレーテッド・ユーザーのユーザー・プロビジョニングを参照してください。
このアップグレードを実行した後は、Oracle Cloud InfrastructureコンソールでのOracle Identity Cloud Serviceユーザーおよびグループの管理を参照して、フェデレーテッド・ユーザーおよびグループを管理します。
2017年12月18日より前に作成されたテナンシ
これらのテナンシは、Oracle Identity Cloud Serviceを手動でフェデレートする必要があります。後述のOracle Identity Cloud Serviceのフェデレートを参照してください。
Oracle Identity Cloud Serviceの手動のフェデレート
組織は複数のOracle Identity Cloud Serviceアカウントを持つことができます(組織の部門ごとに1つなど)。複数のIdentity Cloud ServiceアカウントをOracle Cloud Infrastructureとフェデレートできますが、設定した各フェデレーション・トラストは、単一のIdentity Cloud Serviceアカウント用である必要があります。
理解すべき手動フェデレーションのコンポーネント
Webアプリケーションおよびクライアント資格証明
信頼ごとに、Oracle Identity Cloud Service (信頼できるアプリケーションとも呼ばれる)でWebアプリケーションを設定する必要があります。手順は、Oracle Identity Cloud Serviceのフェデレートの手順を参照してください。結果のアプリケーションには、クライアント資格証明(クライアントIDおよびクライアント・シークレット)のセットがあります。Identity Cloud ServiceアカウントをOracle Cloud Infrastructureとフェデレートする場合、これらの資格証明を提供する必要があります。
COMPUTEBAREMETALアプリケーション
Identity Cloud ServiceアカウントをOracle Cloud Infrastructureとフェデレートするときに提供する必要があるクライアント資格証明のセット(クライアントIDとクライアント・シークレット)を含むOracle Identity Cloud Service内の信頼できるアプリケーション。
必須URL
Oracle Identity Cloud Serviceのフェデレートを実現する最も簡単な方法はOracle Cloud Infrastructureコンソールを使用することですが、APIを使用してプログラムで行えます。コンソールを使用している場合は、メタデータURLのかわりにベースURLを指定するよう求められます。ベースURLは、Identity Cloud Serviceコンソールにサインインしている際の、ブラウザ・ウィンドウ内のURLの左端にあります。
- ベースURL: <Identity Cloud Service account name>.identity.oraclecloud.com
APIを使用してフェデレートしている場合は、メタデータURLを指定する必要があります。これは、次のように、/fed/v1/metadataが追加されたベースURLです。
- メタデータURL: <Identity Cloud Service account name> .identity .oraclecloud .com /fed/v1/metadata
メタデータURLは、フェデレートに必要なIdP提供のXMLに直接リンクしています。APIを使用している場合、フェデレート時にメタデータURLとメタデータ自体の両方を提供する必要があります。詳細は、APIでのアイデンティティ・プロバイダの管理を参照してください。
OCI-V2-<tenancy_name>アプリケーション
Oracle Identity Cloud ServiceアカウントをOracle Cloud Infrastructureと手動でフェデレートするとOCI-V2-<tenancy_name>という新しいSAMLアプリケーションがOracle Identity Cloud Serviceアカウントに自動的に作成されます。後でOracle Cloud InfrastructureテナンシからOracle Identity Cloud Serviceアイデンティティ・プロバイダを削除する必要がある場合は、Oracle Identity Cloud ServiceからOCI-V2-<tenancy_name>も削除してください。そうしないと、後で同じOracle Identity Cloud Serviceアカウントを再度フェデレートしようとすると、同じ名前のアプリケーション(つまり、OCI-V2-<tenancy_name>)がすでに存在することを示すエラー409が表示されます。
プロビジョニングされたユーザー
プロビジョニングされたユーザーは、Oracle Cloud InfrastructureでOracle Identity Cloud Serviceによってプロビジョニングされ、Oracle Identity Cloud Serviceで管理されるフェデレーテッド・ユーザーに同期されます。プロビジョニングされたユーザーは、プログラムでのアクセスを有効にするAPIキーや認証トークンなどの特別なOracle Cloud Infrastructure資格証明を持つことができます。プロビジョニングされたユーザーはコンソール・パスワードを保有できません。
Oracle Identity Cloud Serviceのフェデレートの手順
次に、管理者がアイデンティティ・プロバイダを設定するために行う一般的なプロセスと各ステップに関する指示を示します。管理者は必要な資格証明とアクセス権を持つOracle Cloud Infrastructureユーザーであると想定されています。
-
Oracle Identity Cloud Serviceにサインインします。必要に応じて、次のいずれかを実行します:
オプションA: COMPUTEBAREMETALアプリケーションから、Oracle Cloud Infrastructureで設定ステップを実行するために必要な情報を取得します。
オプションB: Oracle Identity Cloud ServiceにCOMPUTEBAREMETALアプリケーションが含まれていない場合は、信頼できるアプリケーションを設定します。
-
Oracle Cloud Infrastructureで、フェデレーションを設定します。
- Oracle Identity Cloud Serviceをアイデンティティ・プロバイダとして設定します。
- Oracle Identity Cloud ServiceグループをIAMグループにマップします。
- Oracle Cloud Infrastructureで、IAMグループのIAMポリシーを設定して、マップされたグループのメンバーに付与するアクセスを定義します。
- Oracle Cloud Infrastructureテナントの名前およびコンソールのURL (https://cloud.oracle.com)をユーザーに通知します。
- Oracle Identity Cloud Serviceコンソールに移動し、管理者権限でサインインします。管理コンソールが表示されていることを確認します。
-
Identity Cloud Serviceコンソールで、「アプリケーション」をクリックします。信頼できるアプリケーションのリストが表示されます。
- 「COMPUTEBAREMETAL」をクリックします。インスタンスにCOMPUTEBAREMETALアプリケーションが含まれていない場合は、かわりにステップ1のオプションBを実行します。
- 「構成」をクリックします。
-
「一般情報」を開きます。クライアントIDが表示されます。「シークレットの表示」をクリックして、クライアント・シークレットを表示します。
-
クライアントIDおよびクライアント・シークレットを記録します。次のように表示されます。
- クライアントID: de06b81cb45a45a8acdcde923402a9389d8
- クライアント・シークレット: 8a297afd-66df-49ee-c67d-39fcdf3d1c31
このステップは、ステップ1のオプションAを完了できなかった場合にのみ実行してください。
サマリー: Oracle Identity Cloud Serviceの場合、次の手順に示す特定のプロパティを使用して、機密アプリケーション(信頼できるアプリケーションとも呼ばれる)を作成する必要があります。Oracle Identity Cloud Serviceの一般的なドキュメントは、機密アプリケーションの追加を参照してください。
Oracle Identity Cloud Serviceの手順:
- Oracle Identity Cloud Serviceコンソールに移動し、アプリケーションの作成権限を使用してサインインします。管理コンソールが表示されていることを確認します。
-
機密(信頼できる)アプリケーションを追加します。これにより、Oracle Cloud InfrastructureとOracle Identity Cloud Serviceとのプログラムによる安全な相互作用が可能になります。アプリケーションの設定時に、これらのアイテムを指定します:
-
先頭ページ:
- アプリケーションに名前を入力します(例: Oracle Cloud Infrastructureフェデレーション)。
- 他のフィールドは空のままにするか、選択解除します。
-
次のページ:
- 「このアプリケーションをクライアントとして今すぐ構成します」を選択します。
- 「許可される付与タイプ」で、「クライアント資格証明」のチェック・ボックスを選択します。
- 他のフィールドは空白のままにします。
-
ページ下部:
- 「Identity Cloud Service管理APIへのクライアント・アクセス権を付与します」のチェックボックスを選択します。
- ロールのリストから「Identity Domain Administrator」を選択します。
- 次のページで、フィールドを空のままにするか選択解除するかして、最後に「終了」をクリックします。
-
表示されたクライアント資格証明を、後でフェデレート時にOracle Cloud Infrastructureに渡せるようにコピーして貼り付けます。アプリケーションのクライアント資格証明は、Oracle Identity Cloud Serviceコンソールでいつでも表示できます。次のように表示されます。
- クライアントID: de06b81cb45a45a8acdcde923402a9389d8
- クライアント・シークレット: 8a297afd-66df-49ee-c67d-39fcdf3d1c31
-
- 「Oracle Identity Cloud ServiceベースURL」は、フェデレート時に必要になるので記録しておきます。
- アプリケーションをアクティブ化します。
- コンソールに移動し、Oracle Cloud Infrastructureのログインとパスワードを使用してサインインします。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Identity」で、「Federation」をクリックします。
- 「アイデンティティ・プロバイダの追加」をクリックします。
-
次を入力します:
- 名前:このフェデレーション・トラストの一意の名前。これは、コンソールにサインインするときに使用するアイデンティティ・プロバイダ(たとえば、フェデレーテッド・ユーザーの経験のスクリーンショットに示されているABCCorp_IDCSなど)を選択する際に、フェデレーテッド・ユーザーに対して表示される名前です。名前は、テナンシに追加するすべてのアイデンティティ・プロバイダで一意である必要があります。これは後で変更できません。
- 説明: わかりやすい説明。
- IDCSベースURL: 必須URLを参照してください。
- クライアントID: ステップ1のオプションAまたはオプションBから。
- クライアント・シークレット: ステップ1のオプションAまたはオプションBから。
- アサーションの暗号化:チェックボックスを選択すると、IAMサービスはIdPからの暗号化を認識します。このチェック・ボックスを選択する場合は、IDCSでのアサーションの暗号化も設定する必要があります。詳細は、一般的な概念を参照してください。IDCSでのこの機能の設定の詳細は、Oracle Identity Cloud Serviceのアプリケーションの管理を参照してください。
- 強制認証:デフォルトで選択されています。選択すると、ユーザーは、別のセッションにすでにサインインしている場合でも、IdPに資格証明を提供(再認証)する必要があります。
-
認証コンテキストのクラス参照:このフィールドは、Government Cloudの顧客に必須です。1つ以上の値が指定されている場合、Oracle Cloud Infrastructure (リライイング・パーティ)は、ユーザーの認証時に、指定された認証メカニズムの1つを使用することをアイデンティティ・プロバイダに要求します。IdPから戻されたSAMLレスポンスには、その認証コンテキストのクラス参照とともに認証ステートメントが含まれている必要があります。SAMLレスポンス認証コンテキストがここで指定された内容と一致しない場合、Oracle Cloud Infrastructure認証サービスは400でSAMLレスポンスを否認します。 メニューには、一般的な認証コンテキストのクラス参照がいくつかリストされています。別のコンテキスト・クラスを使用する場合は、「カスタム」を選択してから、クラス参照を手動で入力します。
- リソースを作成する権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に連絡してください。タグは後で適用できます。
- 「続行」をクリックします。
-
Oracle Cloud Infrastructureで、Oracle Identity Cloud ServiceグループとIAMグループ間のマッピングを設定します。特定のOracle Identity Cloud Serviceグループを0、1または複数のIAMグループにマップすることも、その逆も可能です。ただし、個々のマッピングは、1つのOracle Identity Cloud Serviceグループと1つのIAMグループの間のみに存在します。グループ・マッピングへの変更は、通常は数秒以内に有効になります。
ノート
グループ・マッピングを今設定しない場合は、単純に「作成」をクリックして、マッピングを後で追加しなおすことができます。
グループ・マッピングを作成するには:
- 「アイデンティティ・プロバイダ・グループ」の下のリストからOracle Identity Cloud Serviceグループを選択します。
-
「OCIグループ」の下のリストから、このグループをマップするIAMグループを選択します。
ヒント
IAMグループ名の要件:空白なし。許可されている文字:英字、数字、ハイフン、ピリオド、アンダースコアおよびプラス記号(+)。名前は後で変更できません。 - 作成するマッピングごとに前述のサブステップを繰り返し、「作成」をクリックします。
フェデレーションの設定後
これで、アイデンティティ・プロバイダがテナンシに追加され、「フェデレーション」ページのリストに表示されます。アイデンティティ・プロバイダをクリックして、設定したばかりの詳細とグループ・マッピングを表示します。
Oracleはアイデンティティ・プロバイダを割り当て、各グループ・マッピングにOracle Cloud ID (OCID)と呼ばれる一意のIDを割り当てます。詳細は、リソース識別子を参照してください。
今後、グループ・マッピングを編集したり、テナンシからアイデンティティ・プロバイダを削除する場合は、「フェデレーション」ページに移動します。
Oracle Cloud InfrastructureグループにマップされたOracle Identity Cloud Serviceグループのメンバーであるユーザーは、「ユーザー」ページのコンソールにリストされます。これらのユーザーに追加の資格証明を割り当てる方法の詳細は、フェデレーテッド・ユーザーのユーザー機能の管理を参照してください。
フェデレーテッド・ユーザーに、Oracle Cloud InfrastructureコンソールのURL (https://cloud.oracle.com)とテナントの名前を提供します。コンソールにサインインすると、テナント名の入力を求めるプロンプトが表示されます。
コンソールでのアイデンティティ・プロバイダの管理
グループのすべてのマッピングも削除されます。
-
テナンシからアイデンティティ・プロバイダを削除します。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Identity」で、「Federation」をクリックします。
テナンシのアイデンティティ・プロバイダのリストが表示されます。
- アイデンティティ・プロバイダをクリックして詳細を表示します。
- 「削除」をクリックします。
- プロンプトが表示されたら確認します。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Identity」で、「Federation」をクリックします。
- Oracle Identity Cloud ServiceアカウントからOCI-V2-<tenancy_name>を削除します。
- Oracle Identity Cloud Serviceに移動し、フェデレーテッド・アカウントにサインインします。
- 「アプリケーション」をクリックします。アプリケーションのリストが表示されます。
OCI-V2-<tenancy_name>を見つけてその名前をクリックすると、詳細ページが表示されます。
- ページの右上隅で、「非アクティブ化」をクリックします。プロンプトが表示されたら確認します。
- 「削除」をクリックします。プロンプトが表示されたら確認します。
-
ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Identity」で、「Federation」をクリックします。
テナンシのアイデンティティ・プロバイダのリストが表示されます。
- Oracle Identity Cloud Serviceフェデレーションに選択した名前をクリックすると、その詳細が表示されます。
-
「マッピングの追加」をクリックします。
- 「アイデンティティ・プロバイダ・グループ」の下のリストからOracle Identity Cloud Serviceグループを選択します。
-
「OCIグループ」の下のリストから、このグループをマップするIAMグループを選択します。
- さらにマッピングを追加する場合は、「+Anotherマッピング」をクリックします。
- 終了したら、「マッピングの追加」をクリックします。
変更は、通常ホーム・リージョン内で数秒以内に有効になります。変更がすべてのリージョンに伝播されるまで数分間待機します。
Oracle Cloud InfrastructureグループにマップされたOracle Identity Cloud Serviceグループのメンバーであるユーザーは、「ユーザー」ページのコンソールにリストされます。これらのユーザーに追加の資格証明を割り当てる方法の詳細は、フェデレーテッド・ユーザーのユーザー機能の管理を参照してください。
グループ・マッピングは更新できませんが、マッピングを削除してから新規のものを追加することはできます。
-
ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Identity」で、「Federation」をクリックします。
テナンシのアイデンティティ・プロバイダのリストが表示されます。
- アイデンティティ・プロバイダをクリックして詳細を表示します。
- 削除するマッピングを選択し、「削除」をクリックします。
- プロンプトが表示されたら確認します。
- 必要に応じて新しいマッピングを追加します。
変更は、通常ホーム・リージョン内で数秒以内に有効になります。変更がすべてのリージョンに伝播されるまで数分間待機します。
このアクションの結果、フェデレーテッド・ユーザーがOracle Cloud Infrastructureにマップされているグループにメンバーシップを持たなくなった場合、フェデレーテッド・ユーザーのプロビジョニング済ユーザーもOracle Cloud Infrastructureから削除されます。通常、このプロセスには数分かかります。
APIでのアイデンティティ・プロバイダの管理
APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。
次のAPI操作を使用します。
アイデンティティ・プロバイダ:- CreateIdentityProvider
- ListIdentityProviders
- GetIdentityProvider
- UpdateIdentityProvider
- DeleteIdentityProvider:この操作を使用する前に、DeleteIdpGroupMappingを使用して、アイデンティティ・プロバイダのすべてのグループ・マッピングを削除する必要があります。
- CreateIdpGroupMapping:各グループ・マッピングは、独自のOCIDを持つ個別のエンティティです。
- ListIdpGroupMappings
- GetIdpGroupMapping
- UpdateIdpGroupMapping
- DeleteIdpGroupMapping