Closed26

Amazon Verified Permissions を試す

いばらきいばらき

何も分からんから適当に設定

Cognito連携はして欲しい

そうなると属性はメールアドレスとかのほうが無難か?
いずれにしても、テスト用のCognito作ってから出直す

いばらきいばらき

もう一度最初から

うーんよく分からんから、とりあえずそのまま保存する

いばらきいばらき

cedar 言語で最低限必要なのは

  • principal
    • 行動を実行するオブジェクト(userとか)
  • action
    • principalからresourceに対する行動(wirteとか)
  • resource
    • 行動の対象となるオブジェクト(fileとか)

例えば、「田中がfile1を更新する」時は、

  • principal = 田中
  • action = 更新する
  • リソース = file

これに対して、更新する権限がある時はtrue、権限がない時はfalseを返す

いばらきいばらき

シミュレーターを使用してポリシーのテストまでは出来たが、
それで、結局アプリからどうやって呼び出せばよいのだろう?
Cognitoとの連携設定も入れたが、連携されているのかもよく分からんですわ。。。

いばらきいばらき

そもそも外部からVerified Permissionsを呼び出す方法が分からん。
この部分のドキュメントどこだ。。。

テストベンチで実行しているURLを解析すればいいのだろうか。。。?

cedarでなくてVerified Permissionsの方のドキュメントをちゃんと読むか。
https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/what-is-avp.html

いばらきいばらき

初期化はこんな感じ?

import { VerifiedPermissionsClient, CreateIdentitySourceCommand } from "@aws-sdk/client-verifiedpermissions";

  const client = new VerifiedPermissionsClient({ region: "ap-northeast-1" });
  const command = new CreateIdentitySourceCommand({
    policyStoreId: "",
    configuration: {
      cognitoUserPoolConfiguration: {
        userPoolArn: "",
      }
    }
  });

情報なさすぎて完全に手探りすぎる。cognitoの指定は必須なの?

いばらきいばらき
  const command = new IsAuthorizedWithTokenCommand({
    policyStoreId: VP_POLICY_STORE_ID,
  });

ドキュメントにrequiredと書いてある項目が足りていないのに型チェックに引っかからない件。。。

いばらきいばらき

当たり前だがバリデーションエラーになった

err: ValidationException: Either an id token or access token must be provided
いばらきいばらき

access tokenだけ足したら雑なエラーが返ってきた

err: ValidationException: Input is not valid
いばらきいばらき

この部分に何のSTINGを入れればいいか分からん。。。IDってどこ。。。

action: { // ActionIdentifier
actionType: "STRING_VALUE", // required
actionId: "STRING_VALUE", // required
},
resource: { // EntityIdentifier
entityType: "STRING_VALUE", // required
entityId: "STRING_VALUE", // required
},

いばらきいばらき

完全に整合が取れているはずなのにこのエラーが消えない

ID or access token issuer and policyStoreId does not have a matching configuration
いばらきいばらき

通った!!!
ポリシーストアにアクセスする権限が足りてなかった!

エラーコード400でもバリデーションエラーでもないじゃん!!
401か403にしてくれよ!!!!

いばらきいばらき

あれ、access tokenは通るけどid tokenが通らんぞ

err: token audience validation failed

今日はもうやめておくか。。。

いばらきいばらき

identityToken に access token入れると通る。。。
これはバグでは?

いばらきいばらき

アプリクライアントIDの検証をするとIDトークンもチェックが通った。

検証しないと通らないならそう書いおいてくれ。。。

このスクラップは2023/07/02にクローズされました