本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
服务角色
截止日期云如何使用 IAM 服务角色
Deadline Cloud 会自动担任 IAM 角色并为员工、工作和 Deadline Cloud 监控器提供临时证书。这种方法消除了手动凭证管理,同时通过基于角色的访问控制来维护安全性。
在创建监控器、队列和队列时,您可以指定 Deadline Cloud 代表您担任的 IAM 角色。然后,工作人员和 Deadline Cloud 监控器会收到来自这些角色的临时凭证进行访问AWS 服务。
舰队角色
配置队列角色以授予 Deadline Cloud 工作人员接收工作和报告工作进度所需的权限。
您通常不必自己配置此角色。可以在 Deadline Cloud 控制台中为您创建此角色以包含必要的权限。使用以下指南了解此角色的详细信息以进行故障排除。
以编程方式创建或更新队列时,请使用或 API 操作指定舰队角色 ARN。CreateFleet UpdateFleet
舰队角色的作用
舰队角色为工作人员提供以下权限:
-
接收新工作并向 Deadline Cloud 服务报告正在进行的工作进度
-
管理工作人员的生命周期和状态
-
将日志事件记录到 Amazon CloudWatch 日志中以获取工作日志
设置舰队角色信任策略
您的舰队角色必须信任 Deadline Cloud 服务,并且范围仅限于您的特定服务器场。
作为最佳实践,信任策略应包括保护混乱副手的安全条件。要了解有关混乱副手保护的更多信息,请参阅 De adline Cloud 用户指南中的困惑副手。
-
aws:SourceAccount确保只有来自同一个人的资源AWS 账户才能担任此角色。 -
aws:SourceArn将角色担任限制为特定的 Deadline Cloud 场。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDeadlineCredentialsService", "Effect": "Allow", "Action": "sts:AssumeRole", "Principal": { "Service": "credentials.deadline.amazonaws.com" }, "Condition": { "StringEquals": { "aws:SourceAccount": "YOUR_ACCOUNT_ID" }, "ArnEquals": { "aws:SourceArn": "arn:aws:deadline:REGION:YOUR_ACCOUNT_ID:farm/YOUR_FARM_ID" } } } ] }
附加舰队角色权限
将以下AWS托管策略附加到您的队列角色:
此托管策略提供以下权限:
-
deadline:AssumeFleetRoleForWorker-允许工作人员刷新其凭证。 -
deadline:UpdateWorker-允许工作人员更新其状态(例如,退出时更改为 “已停止”)。 -
deadline:UpdateWorkerSchedule-用于获取工作和报告进度。 -
deadline:BatchGetJobEntity-用于获取工作信息。 -
deadline:AssumeQueueRoleForWorker-用于在任务执行期间访问队列角色凭证。
为加密场添加 KMS 权限
如果您的服务器场是使用 KMS 密钥创建的,请将这些权限添加到您的队列角色中,以确保工作人员可以访问服务器场中的加密数据。
仅当您的服务器场具有关联的 KMS 密钥时,才需要 KMS 权限。kms:ViaService条件必须使用格式deadline.。{region}.amazonaws.com
创建队列时,会为该队列创建 CloudWatch 日志组。Deadline Cloud 服务使用工作人员的权限来创建专门针对该特定工作人员的日志流。工作器设置并运行后,工作人员将使用这些权限将日志事件直接发送到 Lo CloudWatch gs。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateLogStream", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": "arn:aws:logs:REGION:YOUR_ACCOUNT_ID:log-group:/aws/deadline/YOUR_FARM_ID/*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "deadline.REGION.amazonaws.com" ] } } }, { "Sid": "ManageLogEvents", "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:logs:REGION:YOUR_ACCOUNT_ID:log-group:/aws/deadline/YOUR_FARM_ID/*" }, { "Sid": "ManageKmsKey", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:GenerateDataKey" ], "Resource": "YOUR_FARM_KMS_KEY_ARN", "Condition": { "StringEquals": { "kms:ViaService": "deadline.REGION.amazonaws.com" } } } ] }
修改舰队角色
舰队角色的权限不可自定义。所描述的权限始终是必需的,添加其他权限无效。
客户管理的车队托管角色
如果您在 Amazon EC2 实例或本地主机上使用客户管理的队列,请设置 WorkerHost 角色。
这个 WorkerHost 角色的作用是什么
该 WorkerHost 角色在客户管理的车队主机上引导员工。它为主机提供了执行以下操作所需的最低权限:
-
在截止日期云中创建工作人员
-
扮演舰队角色来获取操作证书
-
使用舰队标签标记工作人员(如果启用了标签传播)
设置 WorkerHost 角色权限
将以下AWS托管策略附加到您的 WorkerHost 角色:
此托管策略提供以下权限:
-
deadline:CreateWorker-允许主持人注册新工作人员。 -
deadline:AssumeFleetRoleForWorker-允许主机扮演舰队角色。 -
deadline:TagResource-允许在创建过程中标记工作人员(如果启用)。 -
deadline:ListTagsForResource-允许读取舰队标签进行传播。
了解引导流程
该 WorkerHost 角色仅在工作器初始启动期间使用:
-
工作器代理使用 WorkerHost 凭据在主机上启动。
-
它会调用在 Deadlin
deadline:CreateWorkere Cloud 上注册。 -
然后它会调用
deadline:AssumeFleetRoleForWorker以获取舰队角色证书。 -
从现在开始,工作人员仅使用舰队角色凭证进行所有操作。
在工作人员开始运行后不使用该 WorkerHost 角色。服务管理的车队不需要此政策。在服务管理的队列中,引导是自动执行的。
队列角色
队列角色由工作人员在处理任务时担任。此角色提供完成任务所需的权限。
以编程方式创建或更新队列时,请使用CreateQueueUpdateQueue或 API 操作指定队列角色 ARN。
设置队列角色信任策略
您的队列角色必须信任 Deadline Cloud 服务。
作为最佳实践,信任策略应包括保护混乱副手的安全条件。要了解有关混乱副手保护的更多信息,请参阅 De adline Cloud 用户指南中的困惑副手。
-
aws:SourceAccount确保只有来自同一个人的资源AWS 账户才能担任此角色。 -
aws:SourceArn将角色担任限制为特定的 Deadline Cloud 场。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "credentials.deadline.amazonaws.com", "deadline.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "YOUR_ACCOUNT_ID" }, "ArnEquals": { "aws:SourceArn": "arn:aws:deadline:us-west-2:123456789012:farm/{farm-id}" } } } ] }
了解队列角色权限
队列角色不使用单个托管策略。相反,当您在控制台中配置队列时,Deadline Cloud 会根据您的配置为您的队列创建自定义策略。
此自动创建的策略提供对以下内容的访问权限:
Job 附件
对您指定 Amazon S3 存储桶的任务输入和输出文件具有读写权限:
{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::YOUR_JOB_ATTACHMENTS_BUCKET", "arn:aws:s3:::YOUR_JOB_ATTACHMENTS_BUCKET/YOUR_PREFIX/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "YOUR_ACCOUNT_ID" } } }
作业日志
读取该队列中作业 CloudWatch 日志的访问权限。每个队列都有自己的日志组,每个会话都有自己的日志流:
{ "Effect": "Allow", "Action": [ "logs:GetLogEvents" ], "Resource": "arn:aws:logs:REGION:YOUR_ACCOUNT_ID:log-group:/aws/deadline/YOUR_FARM_ID/*" }
第三方软件
可以下载由 Deadline Cloud 支持的第三方软件(例如 Maya、Blender 等):
{ "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": "*", "Condition": { "ArnLike": { "s3:DataAccessPointArn": "arn:aws:s3:*:*:accesspoint/deadline-software-*" }, "StringEquals": { "s3:AccessPointNetworkOrigin": "VPC" } } }
为您的任务添加权限
为您的队列角色添加任务需要访问的权限。AWS 服务在编写 OpenJobDescription 步骤脚本时,AWS CLI和 SDK 将自动使用您的队列角色提供的凭据。使用它来访问完成工作所需的其他服务。
示例使用案例包括:
-
用于获取自定义数据
-
通过隧道传输到自定义许可证服务器的 SSM 权限
-
CloudWatch 用于发布自定义指标
-
Deadline Cloud 允许为动态工作流程创建新作业
如何使用队列角色证书
Deadline Cloud 提供队列角色凭证给
-
工作执行期间的工作人员
-
用户在与作业附件和日志交互时通过 Deadline Cloud CLI 和监控器
Deadline Cloud 为每个队列创建单独的 CloudWatch 日志日志组。作业使用队列角色凭据将日志写入队列的日志组。Deadline Cloud CLI 和监控器使用队列角色(通过deadline:AssumeQueueRoleForRead)从队列的日志组中读取作业日志。Deadline Cloud CLI 和监控器使用队列角色(通过deadline:AssumeQueueRoleForUser)上传或下载作业附件数据。
监控角色
配置监控角色以授予 Deadline Cloud 监控器 Web 和桌面应用程序访问您的 Deadline Cloud 资源的权限。
以编程方式创建或更新监控器时,请使用CreateMonitorUpdateMonitor或 API 操作指定监控角色 ARN。
监视者角色的作用
监视者角色使 Deadline Cloud 监控器能够为最终用户提供访问以下内容的权限:
-
Deadline Cloud 集成提交者、CLI 和监控器所需的基本功能
-
面向最终用户的自定义功能
设置监控角色信任策略
您的监控角色必须信任 Deadline Cloud 服务。
作为最佳实践,信任策略应包括保护混乱副手的安全条件。要了解有关混乱副手保护的更多信息,请参阅 De adline Cloud 用户指南中的困惑副手。
aws:SourceAccount确保只有来自同一个人的资源AWS 账户才能担任此角色。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.deadline.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "YOUR_ACCOUNT_ID" } } } ] }
附加监视者角色权限
将以下所有AWS托管策略附加到您的监控角色以进行基本操作:
监视者角色的工作原理
使用 Deadline Cloud 监控器时,假设服务用户使用监控角色登录。监视器应用程序使用代入角色凭证来显示监视器用户界面,包括服务器场、舰队、队列和其他信息的列表。
使用 Deadline Cloud monitor 桌面应用程序时,还会使用与最终用户提供的配置文件名称相对应的命名AWS凭据配置文件在工作站上提供这些凭据。在 AWSSDK 和工具参考指南中了解有关命名配置文件的更多信息。
这个命名的个人资料是 Deadline CLI 和提交者访问 Deadline Cloud 资源的方式。
为高级桌面用例自定义监视器角色
修改您的监视者角色时,请遵循以下准则:
-
不要删除任何托管策略。这将中断显示器的功能。
-
您可以为高级脚本工作流程添加其他权限。
Deadline 云监控器如何使用监控角色凭据
Deadline Cloud monitor 会在您进行身份验证时自动获取监控角色凭据 这使桌面应用程序能够提供比标准 Web 浏览器更强大的监控功能。
当你使用 Deadline Cloud 监控器登录时,它会自动创建一个可供你使用AWS CLI或任何其他AWS工具的配置文件。此配置文件使用监控角色证书,AWS 服务根据您的监控角色中的权限为您提供编程访问权限。
Deadline Cloud 提交者的工作方式相同,他们使用 Deadline Cloud monitor 创建的个人资料以适当的角色权限AWS 服务进行访问。
最后期限云角色的高级自定义
您可以扩展具有额外权限的 Deadline Cloud 角色,以启用基本渲染工作流程之外的高级用例。这种方法利用 Deadline Cloud 的访问管理系统,AWS 服务根据队列成员资格控制对其他人的访问权限。
与团队合作 AWS CodeCommit
为您的队列角色添加AWS CodeCommit权限,以便在项目存储库上启用团队协作。这种方法将 Deadline Cloud 的访问管理系统用于其他用例——只有有权访问特定队列的用户才能获得这些AWS CodeCommit权限,从而允许您通过 Deadline Cloud 队列成员资格管理每个项目的存储库访问权限。
这对于美术师需要访问存储在存储AWS CodeCommit库中的项目特定资源、脚本或配置文件作为其渲染工作流程一部分的场景非常有用。
为队列角色添加AWS CodeCommit权限
向您的队列角色添加以下权限以启用AWS CodeCommit访问权限:
{ "Effect": "Allow", "Action": [ "codecommit:GitPull", "codecommit:GitPush", "codecommit:GetRepository", "codecommit:ListRepositories" ], "Resource": "arn:aws:codecommit:REGION:YOUR_ACCOUNT_ID:PROJECT_REPOSITORY" }
在艺术家工作站上设置凭证提供者
将每个艺术家工作站配置为使用 Deadline Cloud 队列凭据进行AWS CodeCommit访问。此设置在每个工作站上完成一次。
配置凭证提供商
-
在您的AWS配置文件中添加凭证提供商配置文件 (
~/.aws/config):[profile queue-codecommit] credential_process = deadline queue export-credentials --farm-idfarm-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--queue-idqueue-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -
将 Git 配置为使用此配置文件AWS CodeCommit存储库:
git config --global credential.https://git-codecommit.REGION.amazonaws.com.rproxy.govskope.ca.helper '!aws codecommit credential-helper --profile queue-codecommit $@' git config --global credential.https://git-codecommit.REGION.amazonaws.com.rproxy.govskope.ca.UseHttpPath true
用实际queue-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX的服务器场farm-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX和队列替换和 IDs。REGION替换为您AWS所在的地区(例如,us-west-2)。
AWS CodeCommit与队列凭证一起使用
配置完成后,Git 操作将在访问AWS CodeCommit仓库时自动使用队列角色凭证。该deadline queue export-credentials命令返回如下所示的临时证书:
{ "Version": 1, "AccessKeyId": "ASIA...", "SecretAccessKey": "...", "SessionToken": "...", "Expiration": "2025-11-10T23:02:23+00:00" }
这些凭据会根据需要自动刷新,Git 操作将无缝运行:
git clone https://git-codecommit.REGION.amazonaws.com/v1/repos/PROJECT_REPOSITORYgit pull git push
现在,艺术家无需单独的AWS CodeCommit凭据即可使用队列权限访问项目存储库。只有有权访问特定队列的用户才能访问关联的存储库,从而通过 Deadline Cloud 的队列成员资格系统实现精细的访问控制。