PKCS#7 や OpenID Connect(OIDC)などのフェデレーテッド認証情報を使用した認証が利用できない場合、IDaaS では Alibaba Cloud OpenAPI を介してクライアントのアクセストークンを取得できます。本トピックでは、OpenAPI 認証に必要な RAM 権限の構成手順について説明します。
OpenAPI 認証を利用するには、まず RAM ロールを引き受けて STS トークンを取得する必要があります。その後、この STS トークンを用いて IDaaS の OpenAPI を呼び出し、ご利用のアプリケーション向けのアクセストークンを取得します。RAM ロールには、IDaaS アプリケーションへのアクセスに必要な権限が付与されている必要があります。本トピックでは、例として Function Compute を使用します。
権限ポリシーの作成
[RAM] コンソールにログインします。
ナビゲーションウィンドウで、。 を選択します。
Create Policy をクリックします。
JSON タブをクリックし、以下の権限ポリシーをエディターに貼り付けます。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "eiam:GenerateOauthToken", "Resource": [ "acs:eiam:<regionId>:<accountId>:instance/<InstanceId>/application/<ApplicationId>" ] } ] }Resourceフィールド内のプレースホルダーを実際の値に置き換えます。<regionId>には、ご利用の IDaaS EIAM インスタンスのリージョン ID を指定し、<accountId>には Alibaba Cloud アカウント ID を指定し、<InstanceId>には IDaaS EIAM インスタンス ID を指定し、<ApplicationId>にはアクセス対象の IDaaS M2M クライアントのアプリケーション ID を指定します。はい をクリックし、ポリシー名を入力します(例:
openapi-authentication-policy)。
RAM ロールの作成と権限付与
[RAM] コンソールにログインします。
ナビゲーションウィンドウで、。 を選択します。
ロール作成 をクリックします。Principal Type を クラウドサービス に設定し、Principal Name を Function Compute / FC に設定します。
はい をクリックし、ロール名を入力します(例:
openapi-authentication-fc-role)。作成したロールを見つけ、許可を与える 列で 操作 をクリックします。
Policy フィールドで openapi-authentication-policy を選択し、Grant permissions をクリックします。
RAM ロールのアタッチ
Function Compute コンソールにログインします。
ナビゲーションウィンドウで、関数管理 > [関数一覧] を選択します。
関数インスタンスを見つけ、設定 列で 操作 をクリックします。
関数の詳細 タブで、詳細設定 の横にある 変更 をクリックします。
権限 の下で、
openapi-authentication-fc-roleロールを選択します。構成が完了したら、デプロイ。 をクリックします。
詳細については、「関数ロールを用いた Function Compute による他クラウドサービスへのアクセス権限の付与」をご参照ください。