1
0

AWS SageMkaer Studio起動時にAccessDeniedExceptionが表示された際の対処方法

Posted at

AWS SageMkaerを利用する際にSageMkaer Studioをを立ち上げることがあるが、起動時にAccessDeniedExceptionが表示された際の対処方法を記載する。

事前に準備していたこと

事前にAmazonSageMakerFullAccessの権限をもつロール(ここではAmazonSageMakerFullAccess0201)を作成。
SageMaker Studioノートブックを暗号化したかったため事前にKMSでキーを作成(ここではキーの名称はkmsとした)。

何をしていたときに発生したか

notebookインスタンスの
AWS SageMkaerを新規で利用する際にドメインを作成するが、作成時に組織向けの設定を選択。
スクリーンショット 2024-02-01 15.15.12.png

ぽちぽち画面を進めていき、SageMaker Studioノートブック設定時に作成しておいたキーを選択。
スクリーンショット 2024-02-01 15.22.00.png

その後、ユーザーのロールを設定する際に作成しておいたロールを選択しドメインの作成を完了させる。
スクリーンショット 2024-02-01 15.41.29.png

どのようなエラーだったか

ドメイン作成後、SageMaker Studioを起動しようとしたところ以下のエラーが表示され、起動出来ず。

If you continue to experience issues, please contact Customer Service.

Details: ConfigurationError: AccessDeniedException: User: arn:aws:sts::XXXXXX:assumed-role/AmazonSageMakerFullAccess0201/studio is not authorized to perform: kms:CreateGrant on resource: arn:aws:kms:us-east-1:XXXXXX:key/XXXX because no identity-based policy allows the kms:CreateGrant action

原因

"ロール名 (ここではAmazonSageMakerFullAccess0201)" というIAMユーザーが、指定されたAWS Key Management Service (KMS) リソース上で "kms:CreateGrant" アクションを実行するための必要な権限を持っていなかった。
要するにSageMaker Studioノートブックを暗号化する設定を行っていたため、AmazonSageMakerFullAccessの権限のみでは起動することが出来なかった。

対処方法

IAMを表示させ、"AmazonSageMakerFullAccess0201" というロールを見つけて選択。
許可ポリシーからインラインポリシーを作成を選択し、さらにJSONを選択。
すると以下のように表示される。

スクリーンショット 2024-02-01 15.47.36.png

そこに以下のように記述して保存する。

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "Statement1",
			"Effect": "Allow",
			"Action": "(作成したキーの名前。ここではkms):CreateGrant",
			"Resource": "arn:aws:(作成したキーの名前。ここではkms):(リージョン名): (AWSのアカウントID):key/XXXXXX"
		}
	]
}

その後改めてSageMkaer Studioを起動を試みると問題なく起動出来た。

最後に

SageMaker Studioノートブックを暗号化しなければこのような問題は発生しないが、暗号化したい場合はこのような対処が必要となると思われる。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0